concepts
concepts
Morph concepts — the ten concept morphs that need no new mode, ONE scene (shaders/morph-concepts/*.jpg are the before · mid · end references).
Read the rig's notes
Six are existing modes authored to the concept; four exercise the new knobs: 01 liquid metal iphone → chrome bolt liquid3d morph-material=chrome 02 pixel sand card → card particles morph-gravity=1 morph-blend=normal 03 voxel rebuild iphone → laptop voxels3d 06 glass shatter iphone → iphone shatter3d 07 point cloud iphone → bolt particles 04 origami fold card → card fold 08 topographic dashboard → dashboard extrude 10 plasma burn iphone → iphone dissolve morph-embers=500 19 soap bubble card → card inflate morph-material=bubble morph-pop=1 20 lenticular retro card → iphone slices3d Every hand-off starts at 2.0 s (in-scene morph-to), so 1.0 s is "before", 2.6–3.4 s the middle, 4.6 s "after". Camera never stops: linear orbit about the grid centre (r 1850, so the near column stays framed when swung) — 2.0→4.4 from +17° to −21° via ~0° at 1700. Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/concepts.promo
- Topic
- morphs
- Scenes
- 1
- Kind
- reference rig
//
Morph concepts — the ten concept morphs that need no new mode, ONE scene
(shaders/morph-concepts/*.jpg are the before · mid · end references).
Six are existing modes authored to the concept; four exercise the new knobs:
01 liquid metal iphone → chrome bolt liquid3d morph-material=chrome
02 pixel sand card → card particles morph-gravity=1 morph-blend=normal
03 voxel rebuild iphone → laptop voxels3d
06 glass shatter iphone → iphone shatter3d
07 point cloud iphone → bolt particles
04 origami fold card → card fold
08 topographic dashboard → dashboard extrude
10 plasma burn iphone → iphone dissolve morph-embers=500
19 soap bubble card → card inflate morph-material=bubble morph-pop=1
20 lenticular retro card → iphone slices3d
Every hand-off starts at 2.0 s (in-scene morph-to), so 1.0 s is "before",
2.6–3.4 s the middle, 4.6 s "after".
Camera never stops: linear orbit about the grid centre (r 1850, so the near column
stays framed when swung) — 2.0→4.4 from +17° to −21° via ~0° at 1700.
Preview: http://localhost:4444/runtime?project=promos/primitives/morphs/concepts.promo
promo#morph-concepts
scene#one(duration=6)
camera(type=perspective fov=42 near=8.5 far=17000 position="646.0 416.2 1682.9" look_at="0 0 0")
properties
frame
keyframes
kf(time=0 easing=linear position="646.0 416.2 1682.9" look_at="0 0 0")
kf(time=2 easing=linear position="531.0 353.0 1736.7" look_at="0 0 0")
kf(time=3.2 easing=linear position="-29.6 118.7 1697.6" look_at="0 0 0")
kf(time=4.4 easing=linear position="-658.0 -225.5 1714.3" look_at="0 0 0")
kf(time=6 easing=linear position="-743.2 -289.4 1669.3" look_at="0 0 0")
background(top=#101626 bottom=#05070d)
environment(hdr="studio_small_04_2k" as_background=false background_color=#05070d exposure=1.0 blurriness=0.3 intensity=1.6)
lights
light#amb(type=ambient color=#9fb4ff intensity=0.8)
light#key(type=directional color=#ffffff intensity=2 position="340 680 510")
light#fill(type=directional color=#7aa2ff intensity=0.6 position="-510 170 340")
haze#hz0(blend=add opacity=0.4 position="-900 400 -1600" color=#3b5bff size="120000 100000" pulse=0 decay=0)
text#title(text="morph concepts · no new modes" kind=layer font="Roboto" size=200 worldHeight=40 color=#e8eefc weight=700 align=center position="0 580 0")
text#sub(text="every block hands off at 2.0 s" kind=layer font="Roboto" size=110 worldHeight=18 color=#8ea3c8 weight=500 align=center position="0 535 0")
// ── row 1 ────────────────────────────────────────────────────────────────
// 01 liquid metal — the phone melts to chrome and sets as a chrome badge.
iphone#lm-phone(morph=liquid3d morph-material=chrome morph-to=lm-bolt morph-at=2 morph-dur=2 body=graphite scale=1.45 rotation="0 -20 0" position="-880 250 0")
ui3d(overlay=screen width=71 height=154)
card(x=0 y=0 w=71 h=154 r=0 fill=#0b1220 shadow=false)
text(text="Inbox" x=6 y=10 w=59 h=9 size=6.5 weight=900 color=#f8fafc align=left)
card(x=6 y=24 w=59 h=34 r=4 fill=#ff5f8a shadow=false)
card(x=6 y=64 w=59 h=13 r=3.4 fill=#16233a shadow=false)
card(x=6 y=81 w=59 h=13 r=3.4 fill=#16233a shadow=false)
primitive#lm-bolt(position="-880 250 0" rotation="0 -20 0")
path(d="M 18 114 L -66 -12 L -6 -12 L -24 -114 L 66 18 L 6 18 Z" depth=34 bevel=6 curve_segments=24)
material(ref=standard color=#e9edf3 metalness=1 roughness=0.08)
text#lbl-lm(text="01 liquid metal" kind=layer font="Roboto" size=140 worldHeight=22 color=#e8eefc weight=700 align=center position="-880 90 0")
// 02 pixel sand — the card pours into a heap and is blown up into the next.
ui3d#sand-a(morph=particles morph-gravity=1 m