Skip to content
Docs
Open Promoeyes
gimbal-room

gimbal-room

GIMBAL ROOM — scene 27 of the NEW-SCENES plan, built off new-scenes/images/rows/h5a_r2.png (sheet 5, third storyboard row).

Read the rig's notes
THE CLAIM. The phone and the camera never move. The ROOM — floor, walls,
ceiling, the plinth, the two back-wall pilasters, the lit slot — rolls 90
degrees clockwise about a pivot 888 mm above the phone, and three loose
spheres roll toward the wall that is coming down to meet them. At the end
that wall is a desk, the phone drops 8 mm onto it, and nothing in the
frame has turned.

  beat   t         what
  setup  0.0-1.2   level room, phone on a round stone plinth, three spheres at rest
  roll   1.2-5.8   the room turns 0 → -90 (easeInOutSine, sampled every 0.1 s, linear rows)
  roll   1.5-6.5   the spheres run: floor → corner → along the wall as it levels
  lock   5.8       the slab face is horizontal at y=28
  land   5.8-6.34  the phone falls 8 mm and settles — its only track
  hold   6.5-7.5   desk, phone, three spheres, the slot light lying as a line

HOW IT IS CAUSED, NOT DRAWN.
  · One pivot: primitive#room is a bare group at (0 888 0) with a sampled
    rotation track; every piece of the room carries parent=room and is
    authored in the pivot's local frame (world - pivot). The camera and the
    phone are ordinary scene nodes with no parent and no camera track.
  · The pivot height is SOLVED: the slab face on the right wall sits at
    x=860; after a -90 turn it lies at y = 888 - 860 = 28, which is the
    phone's base after its 8 mm landing. The old floor becomes a wall at
    x=-888 (the plinth disc protrudes from it, top-left of frame); the
    left wall becomes the ceiling at y=1748.
  · The floor is tangent to a circle of radius 888 about the pivot and the
    phone's base corners sit at radius 852.74 — the plinth
    top slides out from under the phone by less than a millimetre of
    overlap, which is why the pivot must be straight above the phone.
  · Lights cannot be parented to a node (only to the camera), so the three
    area lights carry position AND look_at rows re-solved from the same
    rotation samples — the rig is inside the room, as the plan requires,
    and the phone's shading is what changes.
  · The spheres are WORLD nodes under world gravity. Each is authored as a
    path in room coordinates (along the floor to the corner, then along
    the wall — momentum carries it up the wall as the wall levels, friction
    stops it on the desk) and every row is that room point spun by the
    same angle the room has at that time, so ball and floor cannot
    disagree. They start 0.3 s after the room moves, per the plan — earlier
    and they read as the cause.

UNITS: millimetres. iphone 159.5 mm tall, centre 79.75 above its base.
LOOK: the reel palette — ink #e9e6df · mark #ffb347 · cool #7ad7ff.
POST: bloom 0.60 / threshold 0.84 (plan ladder), grain 0.012, fxaa last.
Shadow maps ON here (one spot on the hero, ~20 nodes — cheap), because
three spheres on a floor without contact shadows float.

Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/new-scenes/gimbal-room.promo --width 1920 --height 1080 --times "0.6,3.5,7.2"
Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/new-scenes/gimbal-room.promo
Topic
scenes
Scenes
1
Kind
reference rig
//
    GIMBAL ROOM — scene 27 of the NEW-SCENES plan, built off
    new-scenes/images/rows/h5a_r2.png (sheet 5, third storyboard row).

    THE CLAIM. The phone and the camera never move. The ROOM — floor, walls,
    ceiling, the plinth, the two back-wall pilasters, the lit slot — rolls 90
    degrees clockwise about a pivot 888 mm above the phone, and three loose
    spheres roll toward the wall that is coming down to meet them. At the end
    that wall is a desk, the phone drops 8 mm onto it, and nothing in the
    frame has turned.

      beat   t         what
      setup  0.0-1.2   level room, phone on a round stone plinth, three spheres at rest
      roll   1.2-5.8   the room turns 0 → -90 (easeInOutSine, sampled every 0.1 s, linear rows)
      roll   1.5-6.5   the spheres run: floor → corner → along the wall as it levels
      lock   5.8       the slab face is horizontal at y=28
      land   5.8-6.34  the phone falls 8 mm and settles — its only track
      hold   6.5-7.5   desk, phone, three spheres, the slot light lying as a line

    HOW IT IS CAUSED, NOT DRAWN.
      · One pivot: primitive#room is a bare group at (0 888 0) with a sampled
        rotation track; every piece of the room carries parent=room and is
        authored in the pivot's local frame (world - pivot). The camera and the
        phone are ordinary scene nodes with no parent and no camera track.
      · The pivot height is SOLVED: the slab face on the right wall sits at
        x=860; after a -90 turn it lies at y = 888 - 860 = 28, which is the
        phone's base after its 8 mm landing. The old floor becomes a wall at
        x=-888 (the plinth disc protrudes from it, top-left of frame); the
        left wall becomes the ceiling at y=1748.
      · The floor is tangent to a circle of radius 888 about the pivot and the
        phone's base corners sit at radius 852.74 — the plinth
        top slides out from under the phone by less than a millimetre of
        overlap, which is why the pivot must be straight above the phone.
      · Lights cannot be parented to a node (only to the camera), so the three
        area lights carry position AND look_at rows re-solved from the same
        rotation samples — the rig is inside the room, as the plan requires,
        and the phone's shading is what changes.
      · The spheres are WORLD nodes under world gravity. Each is authored as a
        path in room coordinates (along the floor to the corner, then along
        the wall — momentum carries it up the wall as the wall levels, friction
        stops it on the desk) and every row is that room point spun by the
        same angle the room has at that time, so ball and floor cannot
        disagree. They start 0.3 s after the room moves, per the plan — earlier
        and they read as the cause.

    UNITS: millimetres. iphone 159.5 mm tall, centre 79.75 above its base.
    LOOK: the reel palette — ink #e9e6df · mark #ffb347 · cool #7ad7ff.
    POST: bloom 0.60 / threshold 0.84 (plan ladder), grain 0.012, fxaa last.
    Shadow maps ON here (one spot on the hero, ~20 nodes — cheap), because
    three spheres on a floor without contact shadows float.

    Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/new-scenes/gimbal-room.promo --width 1920 --height 1080 --times "0.6,3.5,7.2"
    Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/new-scenes/gimbal-room.promo
promo#gimbal-room(width=1920 height=1080 fps=30)
  materials
    // concrete: matte, near-black, and the only thing most of the frame is made of
    standard#concrete(color=#141519 metalness=0 roughness=0.9)
    // the slab that becomes the desk — a shade lighter and a little polished
    standard#slabstone(color=#1b1c22 metalness=0.15 roughness=0.48 envmap-intensity=0.8)
    // the plinth: polished dark stone
    standard#plinthstone(color=#111318 metalness=0.2 roughness=0.38 envmap-intensity=0.8)
    // the spheres: pale plaster, a touch