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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Generative Animation with Elm
Presented at f (by) '19
Ulric Wilfred
January 26, 2019
More Decks by Ulric Wilfred
See All by Ulric Wilfred
Declarative UI in Elm (2026) @ Elm Camp
shamansir
0
1
The Future of Web UI Development
shamansir
0
160
iElm-Tech-JB.pdf
shamansir
0
130
"iElm"
shamansir
0
100
Elm Revolution
shamansir
0
110
Про Гит
shamansir
2
170
Elm: 2D and 3D Graphics
shamansir
1
560
RPD — Reactive Patch Development, Extended Cut
shamansir
0
240
RPD: Reactive Patch Development
shamansir
0
320
Other Decks in Programming
See All in Programming
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
110
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.7k
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
350
関数型プログラミングのメリットって何だろう?
wanko_it
0
150
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
120
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
830
どこまでゆるくて許されるのか
tk3fftk
0
430
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
dRuby over BLE
makicamel
2
410
Webフレームワークの ベンチマークについて
yusukebe
0
200
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
BBQ
matthewcrist
89
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Writing Fast Ruby
sferik
630
63k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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.