geode
geode
morph="geode" — petrify, crack, break open on amethyst (match-morph-geode.ts).
Read the rig's notes
The outgoing element turns to rough grey stone behind a creeping noise front (a faint embossed ghost of the picture stays in the rock), glowing cracks run out from an impact point along a Voronoi fracture with violet light leaking through, the crust pieces peel open outward and tumble away, and the cavity under them — dark violet, bright at its heart, a pale quartz rim, glitter — is lined with faceted crystals growing out of the surface: hexagonal prisms with pointed tips, deep at the root and clear at the tip, sparkling. The cluster rides onto the incoming element, a glint sweeps across it, and the crystals shrink back into the surface centre-first while the incoming picture spreads out under them. Exact at both ends. ONE scene, no cuts — the in-scene `morph-to` links, so every mid frame can be shot. The hero in the middle, 1.8 s per hand-off: 1.6 → 3.4 stat card → iphone defaults (morph=geode: 300 amethyst crystals) 4.4 → 6.2 iphone → wallet card morph-color=#4fd1ff (aquamarine) · morph-count=480 · morph-spread=1.4 7.2 → 9.0 wallet card → stat card morph-color=#ff7ab8 (rose quartz) · morph-size=34 · morph-stagger=0.06 · morph-seed=11 Knobs: morph-count (crystals, 300) · morph-color (tint, #9b5cff) · morph-size (crystal height, world units; default scales with the element) · morph-stagger (centre-out settle spread, 0.16) · morph-spread (how far the crust falls, 1) · morph-seed. Camera never stops: linear kfs orbit r 760 around 0 0 0, each hand-off swings side to side (−32°→+27°, +35°→−23°, −30°→+38°) through a 0.92r dip at its midpoint. Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/geode.promo
- Topic
- morphs
- Scenes
- 1
- Kind
- reference rig
//
morph="geode" — petrify, crack, break open on amethyst (match-morph-geode.ts).
The outgoing element turns to rough grey stone behind a creeping noise front
(a faint embossed ghost of the picture stays in the rock), glowing cracks run
out from an impact point along a Voronoi fracture with violet light leaking
through, the crust pieces peel open outward and tumble away, and the cavity
under them — dark violet, bright at its heart, a pale quartz rim, glitter — is
lined with faceted crystals growing out of the surface: hexagonal prisms with
pointed tips, deep at the root and clear at the tip, sparkling. The cluster
rides onto the incoming element, a glint sweeps across it, and the crystals
shrink back into the surface centre-first while the incoming picture spreads
out under them. Exact at both ends.
ONE scene, no cuts — the in-scene `morph-to` links, so every mid frame can be
shot. The hero in the middle, 1.8 s per hand-off:
1.6 → 3.4 stat card → iphone defaults (morph=geode: 300 amethyst crystals)
4.4 → 6.2 iphone → wallet card morph-color=#4fd1ff (aquamarine) · morph-count=480 · morph-spread=1.4
7.2 → 9.0 wallet card → stat card morph-color=#ff7ab8 (rose quartz) · morph-size=34 · morph-stagger=0.06 · morph-seed=11
Knobs: morph-count (crystals, 300) · morph-color (tint, #9b5cff) · morph-size
(crystal height, world units; default scales with the element) ·
morph-stagger (centre-out settle spread, 0.16) · morph-spread (how far the
crust falls, 1) · morph-seed.
Camera never stops: linear kfs orbit r 760 around 0 0 0, each hand-off swings side to side (−32°→+27°, +35°→−23°, −30°→+38°) through a 0.92r dip at its midpoint.
Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/geode.promo
promo#morph-geode
scene#one(duration=10)
camera(type=perspective fov=42 near=8.5 far=17000 position="-466.8 -53.0 597.4" look_at="0 0 0")
properties
frame
keyframes
kf(time=0 easing=linear position="-466.8 -53.0 597.4" look_at="0 0 0")
kf(time=1.6 easing=linear position="-402.5 -26.5 644.1" look_at="0 0 0")
kf(time=2.5 easing=linear position="12.1 73.1 695.3" look_at="0 0 0")
kf(time=3.4 easing=linear position="333.3 196.7 654.1" look_at="0 0 0")
kf(time=4.4 easing=linear position="433.5 79.4 619.1" look_at="0 0 0")
kf(time=5.3 easing=linear position="-24.4 36.6 697.8" look_at="0 0 0")
kf(time=6.2 easing=linear position="-294.1 -105.8 692.8" look_at="0 0 0")
kf(time=7.2 easing=linear position="-373.0 145.0 646.1" look_at="0 0 0")
kf(time=8.1 easing=linear position="0.0 85.2 694.0" look_at="0 0 0")
kf(time=9.0 easing=linear position="467.8 13.3 598.8" look_at="0 0 0")
kf(time=10 easing=linear position="527.6 26.5 546.4" look_at="0 0 0")
background(top=#0e0c16 bottom=#040308)
environment(hdr="studio_small_04_2k" as_background=false background_color=#040308 exposure=1.0 blurriness=0.5 intensity=0.6)
lights
light#amb(type=ambient color=#b4a8ff intensity=0.8)
light#key(type=directional color=#ffffff intensity=2 position="340 680 510")
light#fill(type=directional color=#9a7aff intensity=0.6 position="-510 170 340")
haze#hz0(blend=add opacity=0.14 position="-500 300 -1600" color=#5b2bd8 size="120000 100000" pulse=0 decay=0)
haze#hz1(blend=add opacity=0.1 position="600 -300 -1700" color=#2b8fb0 size="110000 90000" pulse=0 decay=0)
text#title(text="geode" kind=layer font="Roboto" size=200 worldHeight=30 color=#efe8fc weight=700 align=center position="0 232 0")
text#sub(text="turns to stone · cracks glow · breaks open on crystals · settles into the next element" kind=layer font="Roboto" size=110 worldHeight=12 color=#a596c8 weight=500 align=center position="0 205 0")
// 1.6 → 3.4 · stat card → iphone · defaul