turntable
turntable
ABSTRACT · ROOMS · 01 TURNTABLE — the camera holds, the room delivers.
Read the rig's notes
THE ARGUMENT. This room stands still: the seven exhibits ride the rim of one 4 m lacquer disc, the camera waits at the front, and the disc turns 51.4° between stations so the next part of the app arrives in front of the lens. The light never moves either — one amber and one cool panel either side of the front spot, one cream bar over it — so every exhibit is lit the same way when its turn comes. The only camera motion is a dolly: in for a phone, out for a panel. 60 s, no cuts; the seventh turn brings the hero back to the front for the pull-back. # station at azimuth what the app does there 01 hero 3.6 0 home: three tiles build, the CTA presses 02 pricing 10.6 51.4 the plan card: three checks land, Start free presses 03 inbox 17.6 102.9 five conversations arrive, one opens, a reply lands 04 pipeline 24.6 154.3 an automation: a bead runs the rail, four stages light 05 board 31.6 205.7 kanban: one card moves Doing → Done, the count ticks 06 analytics 38.6 257.1 revenue: three KPIs, the curve draws, +64 % 07 alerts 45.6 308.6 lock screen: three notifications stack in 08 the door 55.0 360 the disc completes, the hero at the front, the address lands THE RIG. Everything on the disc — disc, rings, plinths, desk, lectern, posts and the seven exhibits — is a child of ONE `g#disc-rig` at the origin, whose `rotation.y` steps -51.43° per station (easeInOutCubic over the 2.6 s transit, held flat through every 4.4 s station). Exhibit i sits at azimuth i · 51.43° on R = 1500, facing outward (rotation.y = azimuth). CAMERA. All poses explicit — a framed kf would chase the exhibit round the rim during the turn. Each station: an approach pose 35 % further out, the arrive pose at the solver's own fill distance for that plate, a 7 % push over the hold. Room, kit, lockup, post chain and haze as the gallery. Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/rooms/turntable.promo Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/rooms/turntable.promo --width 1920 --height 1080 --out-dir scratch/rooms/turntable --frames "1:door,6:hero,9.5:turn,13:pricing,20:inbox,27:pipeline,34:board,41:analytics,48:alerts,58:lockup"
- Topic
- scenes
- Scenes
- 1
- Kind
- reference rig
//
ABSTRACT · ROOMS · 01 TURNTABLE — the camera holds, the room delivers.
THE ARGUMENT. This room stands still: the seven
exhibits ride the rim of one 4 m lacquer disc, the camera waits at the
front, and the disc turns 51.4° between stations so the next part of the
app arrives in front of the lens. The light never moves either — one amber
and one cool panel either side of the front spot, one cream bar over it —
so every exhibit is lit the same way when its turn comes. The only camera
motion is a dolly: in for a phone, out for a panel. 60 s, no cuts; the
seventh turn brings the hero back to the front for the pull-back.
# station at azimuth what the app does there
01 hero 3.6 0 home: three tiles build, the CTA presses
02 pricing 10.6 51.4 the plan card: three checks land, Start free presses
03 inbox 17.6 102.9 five conversations arrive, one opens, a reply lands
04 pipeline 24.6 154.3 an automation: a bead runs the rail, four stages light
05 board 31.6 205.7 kanban: one card moves Doing → Done, the count ticks
06 analytics 38.6 257.1 revenue: three KPIs, the curve draws, +64 %
07 alerts 45.6 308.6 lock screen: three notifications stack in
08 the door 55.0 360 the disc completes, the hero at the front, the address lands
THE RIG. Everything on the disc — disc, rings, plinths, desk, lectern,
posts and the seven exhibits — is a child of ONE `g#disc-rig` at the
origin, whose `rotation.y` steps -51.43° per station (easeInOutCubic over
the 2.6 s transit, held flat through every 4.4 s station). Exhibit i sits
at azimuth i · 51.43° on R = 1500, facing outward (rotation.y = azimuth).
CAMERA. All poses explicit — a framed kf would chase the exhibit round
the rim during the turn. Each station: an approach pose 35 % further out,
the arrive pose at the solver's own fill distance for that plate, a 7 %
push over the hold. Room, kit, lockup, post chain and haze as the gallery.
Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/rooms/turntable.promo
Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/rooms/turntable.promo --width 1920 --height 1080 --out-dir scratch/rooms/turntable --frames "1:door,6:hero,9.5:turn,13:pricing,20:inbox,27:pipeline,34:board,41:analytics,48:alerts,58:lockup"
promo#rooms-turntable(width=1920 height=1080 fps=30)
materials
physical#clearcoat(color=#15161a metalness=0 roughness=0.45 clearcoat=1 clearcoat-roughness=0.06 envmap-intensity=1.1)
standard#metal(color=#d8d8dc metalness=1 roughness=0.22 envmap-intensity=1.25)
standard#clay(color=#9c9689 metalness=0 roughness=0.95)
basic#emissive(color=#ffb347)
basic#emissive-cool(color=#7ad7ff)
physical#thinfilm(color=#101014 metalness=0.65 roughness=0.14 clearcoat=1 clearcoat-roughness=0.05 iridescence=1 iridescence-ior=1.35 iridescence-thickness=420 envmap-intensity=1.5)
standard#shell(color=#26262b metalness=0.4 roughness=0.3 envmap-intensity=1.1)
standard#obsidian(color=#0a0a0d metalness=0 roughness=0.03)
standard#lacquer(color=#0b0a09 metalness=0.5 roughness=0.08)
standard#wall(color=#16161b metalness=0 roughness=0.82)
standard#wood(color=#1a1512 metalness=0.05 roughness=0.55 envmap-intensity=0.8)
standard#brushed(color=#8a8a90 metalness=1 roughness=0.55 envmap-intensity=1.1)
standard#cyc(color=#26262b metalness=0 roughness=1)
scene#turntable(duration=60)
// A ONE-SCENE part with STATIONS (core/fit-annotations.ts): scene-fit maps a
// blueprint's scenes onto these in order — the device carved to a slot by
// node id, the panel emptied to a tile — and remaps the clock so every hold
// takes its narration. The lockup's mark and url take the brand's.
// @visual a 4 m lacquer disc in a walled room carrying a