Skip to content
Docs
Open Promoeyes
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