Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Generative Animation with Elm
Search
Ulric Wilfred
January 26, 2019
Programming
0
200
Generative Animation with Elm
Presented at f (by) '19
Ulric Wilfred
January 26, 2019
Tweet
Share
More Decks by Ulric Wilfred
See All by Ulric Wilfred
The Future of Web UI Development
shamansir
0
120
iElm-Tech-JB.pdf
shamansir
0
91
"iElm"
shamansir
0
73
Elm Revolution
shamansir
0
95
Про Гит
shamansir
2
110
Elm: 2D and 3D Graphics
shamansir
1
520
RPD — Reactive Patch Development, Extended Cut
shamansir
0
190
RPD: Reactive Patch Development
shamansir
0
290
Animatron Player API in Details v3
shamansir
0
440
Other Decks in Programming
See All in Programming
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.7k
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
830
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
280
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
590
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
170
なぜselectはselectではないのか
taiyow
2
310
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1.2k
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
270
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
150
AIコードエディタの基盤となるLLMのFlutter性能評価
alquist4121
0
170
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
770
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
740
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
Visualization
eitanlees
146
16k
Agile that works and the tools we love
rasmusluckow
328
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Why Our Code Smells
bkeepers
PRO
336
57k
Scaling GitHub
holman
459
140k
KATA
mclloyd
29
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Building Applications with DynamoDB
mza
94
6.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Transcript
Generative Animation with Elm f (by) ‘19 Minsk, Belarus
the obsessed engineer @shaman_sir the obsessed designer Sergo Golovachev Anton
Kotenko
1. The Problem hierarchy of needs from the designers’s point
of view splashes, banners, screensavers… maybe sales something else bla-bla-bla
The Company needs splash screens and banners for
every new IDE version and product
~2000 graphical artifacts per release
Pressure with time, every release requires new style
It should be complex, not minimal
None
So the designer comes to the idea to
generate this stuff (Company doesn’t care about the way it’s done)
It is better if it would be animated, so the
designer will be able to find and save the nicest frame
It is better if it includes time travel, so
the designer would be able to return back in time to the frame they missed
Trying new ideas should be easy, so it should
be easy to change the parts of the generated Thing
1. The Problem The programmer’s point of view λ
Why functional programming?
We’ve tried with p5.js and JavaScript and it’s error-prone
None
Haskell is fascinating
Algebraic Data Types save lives
We need the web output
Elm compiles to JS
Elm started with the graphics from the first
point
Elm is OK with both animation and time travel
None
2. The solution
We had no idea what we get as the result
Functional Programming Elm WebGL Shaders λ Precursors:
Combine different techniques Fractals Delaunay Voronoi FSS
Layers - to try Canvas / WebGL / Text,
to control their order Canvas WebGL SVG WebGL
None
None
MUV but for layers (triggered by animation ticks along with
other events) Canvas WebGL SVG WebGL Tick
None
None
JS-to-Elm connection: random numbers as side-effect
Canvas WebGL SVG WebGL FSS Start | Import | ChangeConfiguration
(also Lucky) Tick
None
Elm-WebGL is awesome https://github.com/elm-explorations/webgl
Type control for shaders code
https://github.com/JetBrains/elmsfeuer https://www.jetbrains.com/goodies/code2art/#tron
Fin.