abstract
abstract
RICH-SCENES — the KIT REEL, ported and then extended twice. Seven shapes, six materials, THIRTY shots, and in every shot a real device carrying the reel's own HUD.
Read the rig's notes
THE SOURCE. A single-page three.js reel: one normalised kit (chamfered
cube · icosphere · torus · capsule · thin ring · quad · torus-knot hero),
six materials (clearcoat · metal · matte clay · emissive · glass ·
thin-film), two procedural "HDRIs" (a bright studio box, a dark four-source
stage), four distributions (grid · ring · fibonacci sphere · spline) and a
post chain of bloom + chromatic aberration + vignette + grain. Nothing in
the reel is an asset; everything is a parameterisation of those parts. That
is the thesis, and it is why the port is a port and not a redraw.
THE FIRST EXTENSION. Shots 01-05, 11 and 28 are the port. Shots 06-10 and
12-16 are not new ideas — they are the two shots that carried the port
(05 GLASS and 11 TUNNEL) taken apart and re-pointed, five ways each.
Nothing in them reaches for an asset either: the sea is one tag, the
caustics are one slide, the mirror hall is two nodes, and the whole
material suite is the same six definitions the port declared.
THE SECOND EXTENSION — shots 17-27, and the argument of this file. The two
material/repetition suites hold the camera still and move the WORLD. This
one inverts that: eleven shots in which nothing in the set does anything
interesting and the CAMERA is the subject. They are the eleven moves a
camera can make about a thing that is standing still — crane, orbit, push,
dolly-zoom, lateral parallax, threshold, whip, vertical drop, rise, retreat,
and the corkscrew that combines four of them — and each one is the SAME
159.5 mm phone standing on the SAME floor, so the only variable in the
suite is the move. That is the point: if the phone were doing anything, the
reader would credit the phone.
· CRANE (17) changes ONE number — height — and reads as grand for it.
· ARC (18) changes only azimuth. PUSH-IN (19) changes only distance.
· VERTIGO (20) changes distance and fov TOGETHER, against each other, so
the subject holds still while the world behind it opens up.
· PARALLAX (21) changes only x — the FOREGROUND does the reveal.
· FLY-THROUGH (22) crosses two thresholds. WHIP (23) changes only the
look direction, and changes it faster than anything else in the reel.
· GOD'S-EYE (24) is the corkscrew with the corkscrew removed.
· ASCENT (25) is shot 27 run backwards. PULL-BACK (26) is shot 19 run
backwards. SPIRAL DIVE (27) is all of them at once, speed-ramped.
THE ADAPTATION. The page's HUD (slate, shot name, recipe line, clip strip,
tri/call counters) was screen-space DOM. Here it is a DEVICE — the thing the
brief asked for — so every shot carries an iphone / macbook / ipad standing
in its own set, wearing that HUD on real glass, lit by the shot's own rig
and reflecting the shot's own environment. The counters are gone (a promo
has no live renderer.info); the slate, the recipe and the clip strip stay,
and each screen also carries the ONE number that shot is about.
THE UNITS. 1 page unit = 100 mm. The kit is fist-sized (a 100 mm chamfered
cube, a 98 mm torus), the cameras sit 600–1200 mm out, and the devices
render at true physical size — 159.5 mm of iphone standing next to a 100 mm
cube is the whole reason the shots read as objects on a table rather than as
graphics. Every length below is a millimetre.
LOOK — carried unchanged from the page:
ink #e9e6df dim #7c7970 line #23232a
mark #ffb347 the one accent; every emissive surface is this
cool #7ad7ff the dark stage's side source
warm #ffa25e its opposite
backgrounds s1 #101116 · s2 #0b0c10 · s3 #05060a · s4 #121014 ·
s5 #04050a · s6 #04040a · s7 #0a0b0f
HAZE. Three lobes, hz0/hz1/hz2, matched across every scene, so the room is
continuous under the cuts. Colours per shot are the shot's own key/fill:
amber + cool on the studio shots, cool + warm on the dark stage. They drift
on a linear position track — no pulse, no decay, sizes 900–2600 mm so they
read as LOBES against the near-black background, never as a full-frame wash.
In the camera suite they are also the only thing in the frame that reports
the move: a lobe that slides across the picture is parallax made visible,
which is why shots 17-27 park theirs low and wide rather than deep.
POST. bloom → unreal_bloom, grain/vignette → film_grain, and SSAA ×4 on
every shot (aa method=ssaa samples=4: four jittered scene renders averaged
in linear HDR) to settle thin-edge crawl — FXAA, fused into the grain pass,
smeared the grain and left the DOF shots (no MSAA) jagged. prismatic_dispersion is authored ONLY
on the six shots that carry chroma-split as a look (spread 0.01) — it used to
run at spread=0 on the other 22, a full-screen pass per frame doing nothing.
The page's per-shot white flash on the cut is the flash-through-white gap on
s4→s5.
shot bloom thresh spread grain / vignette
01 kit 0.42 0.86 — 0.012 / 0.30
02 grid 0.50 0.84 — 0.012 / 0.30
03 orbit 0.80 0.78 — 0.012 / 0.32
04 cascade 0.42 0.86 — 0.012 / 0.30
05 glass 0.90 0.80 — 0.014 / 0.34
06 refraction 0.70 0.80 — 0.0125 / 0.32
07 attenuation 0.75 0.80 — 0.0125 / 0.33
08 caustics 0.85 0.78 — 0.0125 / 0.32
09 sea 0.55 0.88 — 0.0125 / 0.32
10 one material 0.60 0.84 — 0.0115 / 0.30
11 tunnel 1.00 0.70 0.01 0.014 / 0.36
12 aperture 1.00 0.72 0.01 0.014 / 0.35
13 corridor 0.80 0.80 — 0.0125 / 0.34
14 prism rain 1.10 0.70 0.01 0.015 / 0.38
15 shaft 0.90 0.76 — 0.014 / 0.36
16 mirror 1.00 0.75 — 0.014 / 0.34
17 crane 0.70 0.82 — 0.0125 / 0.34
18 arc 0.85 0.78 — 0.0125 / 0.32
19 push-in 0.60 0.84 — 0.0115 / 0.32
20 vertigo 0.95 0.76 0.01 0.014 / 0.36
21 parallax 0.70 0.82 — 0.0125 / 0.33
22 fly-through 1.05 0.72 0.01 0.014 / 0.35
23 whip 1.10 0.70 0.01 0.015 / 0.38
24 god's-eye 0.65 0.84 — 0.0115 / 0.30
25 ascent 0.80 0.80 — 0.0125 / 0.34
26 pull-back 0.70 0.82 — 0.0125 / 0.36
27 spiral dive 0.75 0.80 — 0.0125 / 0.34
28 lockup 0.55 0.84 — 0.01 / 0.28
(the page's own bloom, for the four shots it had: 0.55 · 0.70 · 1.05 · 0.60 ·
1.35 · 1.15 · 0.85.)
The bloom strengths sit BELOW the page's and the thresholds well above them,
and that is a port decision, not a transcription error. The page shaded with
no lights at all — its entire picture is IBL off two procedural HDRIs, and its
bloom is picking highlights out of an already-dim frame. This reel has real
area lights shaping real device hardware, so the same strength at the same
threshold puts the whole frame over 1.0 and every material — clearcoat, clay,
the phone shells — comes out white. The exposure ladder that survived: ambient
0.09–0.16, one area key at 1.5–2.6, env intensity 0.16 (dark stage) to 0.5
(studio). Anything above that and the reel stops being a dark reel.
THE SPEED RAMP (17, 19, 22, 25, 26, 27) is a camera technique, not a tag. A
frame track just interpolates between the rows it is given, so a ramp is
authored by SAMPLING one smooth curve UNEVENLY rather than by keyframing a
speed. Shot 27 is a single parametric helix — 3 turns, radius 3.3 m to
380 mm, height 8.4 m to 82 mm — with progress along it bent by a
piecewise-smoothstep table (hang · drop · stall · drop · land) and sampled
at 31 rows. Every row in every ramped shot carries easing=linear ON PURPOSE:
any other easing re-eases between the samples and flattens the ramp back
into a constant glide.
Six shots run their own table, and the table IS the shot:
17 crane 0 · 0.03 · 0.34 · 0.86 · 1 a long hang, then a fall
19 push-in 0 · 0.06 · 0.62 · 1 most of the travel early, so
the last metre takes 3 s
22 fly-through 0 · 0.06 · 0.30 · 0.68 · 1 slow up to the threshold,
fast through it, slow after
25 ascent 0 · 0.06 · 0.42 · 1 intimate, then it leaves
26 pull-back 0 · 0.04 · 0.34 · 1 back-loaded: the retreat
never stops accelerating
27 spiral 0 · 0.05 · 0.46 · 0.52 · 0.90 · 1
THE UP VECTOR is the other half of any move that looks down its own axis.
Near-vertically down, up="0 1 0" is nearly parallel to the view direction
and the frame roll goes undefined — the shot jitters or snaps. Three shots
deal with it, three different ways, and the difference is the lesson:
· 27 SPIRAL authors up per row, starting as the horizontal (sin θ, 0, cos θ)
a top-down frame wants and rotating into world up across p 0.12 → 0.58.
The horizon swinging into place under you is most of what sells it.
· 25 ASCENT runs that program BACKWARDS — world up at the pad, rotating
out to the horizontal radial as the camera goes over the top.
· 24 GOD'S-EYE never comes level at all, so there is nothing to rotate
into: up stays "0 0 1" for all 6.5 s. A fixed non-degenerate up is the
correct answer whenever the shot does not change hemisphere, and
authoring a swing there would put a roll in a shot whose whole claim is
that it has none.
TWO RIGS THE MATERIAL/REPETITION SUITES ADDED, both of which have a trap:
· SPOT COOKIES (08, 15). A spot's map is a slide the beam projects
THROUGH, and it multiplies the beam — so it is real projected light, not
an overlay. assets/images/cookie-*.png already ship. Two traps: angle
is RADIANS, unlike every rotation in this grammar, and a spot is aimed
with target, never look_at (three aims at light.target; a spot
ignores its own rotation, so look_at leaves the beam on the origin).
Third: a decay=2 spot's irradiance is I/d², and d is in MILLIMETRES
here, so a 2.4 m throw needs an intensity in the millions.
· REFLECTORS ON END (16). reflector-ground builds a plane, and a plane's
normal is +Z, so rotation "0 90 0" / "0 -90 0" faces two of them inward.
Each renders the scene once from its own virtual camera, so this is one
bounce per wall, not infinite recursion — at 680 mm apart it still reads
as a hall, and that is the honest claim.
WHAT THE CAMERA SUITE ADDED, and the traps in it:
· THE DOLLY ZOOM IS A SOLVED FOV, NOT A KEYFRAMED ONE (20). The subject
holds its size only if fov = 2·atan(H / 2d) at every row, for one fixed
framed height H. H = 560 mm here, so 2.6 m → 760 mm of dolly pairs
12.3° → 40.5° of fov, and the phone is 28 % of frame height at both
ends. Author fov independently of d and it is not a vertigo, it is a
zoom with a dolly in it.
· A DOLLY ZOOM NEEDS DEPTH BEHIND THE SUBJECT or there is nothing to warp.
20 spends its whole set on 16 receding rings and two colonnades, and
that geometry is the effect — over an empty stage the same camera does
visibly nothing.
· PARALLAX IS A THREE-PLANE PROBLEM (21). The reveal is solved, not eyed:
the sightline from camera to the laptop crosses the foreground plane at
x = 0.469·xcam + 74.3, so the slab has to span (−870, −70) for the
uncovering to land at 55 % of the track and not at 20 %. Two planes read
as a wipe; three read as a room.
· THERE IS NO MOTION-BLUR PASS (23). A whip pan cannot be sold in post
here, so it is sold by the SET: 18 emissive streak capsules on a 1.6 m
ring, crossed at ~240°/s, plus the reel's highest dispersion at 2.6 —
shot 14 held that record until this suite. And it overshoots 6° past
the subject and settles back, because a whip that stops dead reads as a
cut.
· A BEAT UNDER A SHADER GAP IS A BEAT NOBODY SEES (22 → 23). Shot 23 opens
held 132° the wrong way, and that hold was 0.30 s behind a 0.45 s blend
— so the premise of the shot played entirely inside a wash. The hold is
0.85 s now and the gap is 0.30. Anything a shader transition covers is
not on screen, whatever the scene clock says.
· A DEVICE NODE IS ITS CENTRE, NOT ITS BASE. Every device tag's `fit`
recentres its GLB on the bounding box, so standing one on a floor means
floor + half the body's VERTICAL extent — 79.75 for an iphone, 118.9
for a macbook, and (H/2)|cos θ| + (D/2)|sin θ| for anything rotated,
which puts the flat ipad of shot 24 at 3.2 mm and not at 140.3. Author
the surface height itself and the device sinks halfway into it.
· A FLAT DEVICE INVERTS THE FRAME (24). An ipad at rotation "-90 0 0"
has its screen-up along world −Z, so a camera looking straight down at
it with up="0 0 1" renders the UI upside down. up="0 0 -1" is the fix,
and it is the only camera in the reel that carries one.
FOG. The page ran a per-shot THREE.Fog tinted to that shot's background; it is
ported literally (fog(color= near= far=), near/far ×100 like everything
else) and it does more work here than it did there — it is what stops each
floor plane from reading as a lit grey slab behind the subject. The camera
suite pushes far out to 9–26 m, because a shot that travels nine metres and
fogs at two has erased its own destination.
CAMERA GRAMMAR. Every shot is one continuous move authored as a <frame>
track: explicit position/look_at rows where the page had a parametric path,
and a node= fill= row wherever the shot lands on its device. The device
landing is the added beat — the page never framed anything, so each shot
now has somewhere to arrive.
THE PHYSICS CODA — shots 29-30, merged in from physics.promo. Every other
shot in this reel is authored motion: a curve typed out as rows. These two
are SOLVED, and they are here because the plan listed them as impossible.
· SEPARATION (29) is one inverse-square metaball field, meshed by
marching cubes — f(p) = SUM(w/|p-c|^2) - 1. Eleven <drop> centres pull
apart and the necks that thin and break between them are not modelled;
they are what the sum does as two centres separate. One `weight` track
takes the field from one skin to eleven domes, so the shot re-times by
editing four rows. `flatten=` intersects the half-space above the slab,
which is what makes each drop the plano-convex dome and not a ball.
· SLIDE-OFF (30) is position-based dynamics: structural, shear and
bending constraints over a particle grid, collided against the real
device geometry voxelised into a distance field. THE PULL IS NOT A
FORCE — it is a grip on the +x edge translated 2.5 m, and the sheet
uncovers the laptop first and catches on its lid because it is attached
and because it rubs, not because either beat is authored.
The solver is BAKED — fixed timestep, fixed constraint order, seeded, run
once into a per-frame buffer that update(t) reads — because this reel's
hard rule is that a scrub, a re-render and a headless capture of one
timecode agree, and a live-stepped solver gives a different sheet every
seek. Same algorithm, made seekable.
SCENE MAP — thirty shots, three suites and a coda. The four base shots open,
then each of the two shots that carry the reel (GLASS and TUNNEL) is followed
by the suite it seeded: five that extend depth-from-MATERIAL, five that
extend depth-from-REPETITION. Then eleven that hold the world still and move
the camera. The lockup lands, and two solved shots close on the same phone.
# scene dur transition device the shot
01 s01-kit 8.0 match-move iphone seven shapes in a row, then the index on glass
02 s02-grid 6.5 match-move macbook 77 cubes, one radial wave, tracked past a laptop
03 s03-orbit 7.0 match-move iphone hero knot, three rings, a 140-dot shell
04 s04-cascade 6.5 flash-through-white ipad 45 capsules on a diagonal delay
· · MATERIAL SUITE · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
05 s05-glass 6.5 through=s05-orb-hero iphone glass over an emissive backdrop
06 s06-refraction 6.5 match-move iphone one bent + waved plane, wiped off by a clip blade
07 s07-attenuation 6.5 match-move iphone one knot, tint by depth, one rack focus
08 s08-caustics 6.5 match-move ipad a spot carrying a caustics cookie
09 s09-sea 7.0 match-move macbook a heightfield sea, key light in front of camera
10 s10-material 6.5 zoom-through iphone one gradient-glass definition on three sites
· · REPETITION SUITE · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
11 s11-tunnel 7.0 match-move iphone 30 rings on a spline the camera flies
12 s12-aperture 7.0 through=s12-phone iphone 18 rings, one clip blade each, irising open
13 s13-corridor 6.5 match-move chrome 12 ui3d panels as a hall, a browser at the end
14 s14-rain 7.0 match-move iphone 54 falling streaks, lit by the phone's own flare
15 s15-shaft 6.5 match-move imac ray fans + a blinds cookie
16 s16-mirror 6.5 match-move iphone two reflectors faced at each other
· · CAMERA SUITE — one move each, and the phone never moves · · · · · · · ·
17 s17-crane 7.0 match-move iphone 4.0 m of pure height, down a colonnade
18 s18-arc 7.0 match-move iphone 340° around a standing phone at 130 mm
19 s19-pushin 7.0 dolly-zoom-in gap iphone 3.6 m to 430 mm, straight, and slower at the end
20 s20-vertigo 6.5 match-move iphone dolly 2.6 m → 760, fov 12.3° → 40.5°
21 s21-parallax 6.5 match-move macbook 1.53 m of x, and a slab does the reveal
22 s22-flythrough 7.0 whip-pan (0.30) iphone two thresholds, and a ramp through both
23 s23-whip 6.0 match-move iphone 0.85 s the wrong way, then 132° in 0.55
24 s24-godseye 6.5 match-move ipad 6.2 m straight down onto a flat tablet
25 s25-ascend 7.5 match-move iphone the corkscrew, run upward, 96 mm → 8.6 m
26 s26-pullback 7.5 match-move iphone 268 mm → 7.6 m: 82 % of frame to 2.9 %
27 s27-descent 8.0 emerge (→ s28-hero) iphone 8.4 m to 380 mm: a speed-ramped corkscrew dive
28 s28-lockup 7.5 match-move iphone+macbook the lockup, the device family, one click
· · PHYSICS CODA — authored motion stops, the solver takes over · · · · ·
29 s29-separation 8.0 match-move iphone one metaball body coming apart into eleven domes
30 s30-slide-off 8.0 — iphone+macbook a baked sheet pulled off two devices by friction
208.0 s of scene + twenty-nine gaps (22.5 s) = 230.5 s on the wall.
Those numbers are not typed anywhere below: SHOT_TABLE at the top of the
generator holds the durations and gaps, the scene starts are solved from
it, and every timecode on every device screen is read out of that — so a
shot cannot drift out of step with this map. Starts, for capturing beats:
s01 0 · s02 8.8 · s03 16.1 · s04 23.9 · s05 30.9 · s06 38.3 ·
s07 45.6 · s08 52.9 · s09 60.2 · s10 68 · s11 75.1 · s12 82.9 ·
s13 90.8 · s14 98.1 · s15 105.9 · s16 113.2 · s17 120.5 · s18 128.3 ·
s19 136.1 · s20 143.9 · s21 151.2 · s22 158.5 · s23 165.8 ·
s24 172.6 · s25 179.9 · s26 188.2 · s27 196.5 · s28 205.4 ·
s29 213.7 · s30 222.5.
WHAT THE TWO MATERIAL/REPETITION SUITES SHARE, and why they were extended
rather than replaced. Both of the shots the reel is built on work for the
same five reasons, and every shot in their suites keeps all five:
· near-free geometry repeated by an authored distribution (a thin ring is
8 x 120 segments; 30 of them cost less than one device);
· ONE accent colour doing all the emissive work, so the bloom pass has
exactly one thing to find;
· a backdrop that is a MATERIAL INPUT rather than decoration — s05's haze
is the only reason its transmission reads, and s09's HDR is the only
reason its sea does;
· the camera INSIDE the composition rather than looking at it;
· one post knob pushed past taste (s23 runs dispersion at 2.6, the
highest in the reel; s14 held it at 2.4 before the camera suite).
WHAT THE CAMERA SUITE SHARES INSTEAD. It keeps the first two and drops the
other three on purpose, and replaces them with three of its own:
· ONE SUBJECT, UNMOVED. The same phone, the same 79.75 mm centre, the same
floor at y=0, in ten of eleven shots. A suite about movement cannot also
be about what is moving.
· A SET THAT ONLY EXISTS TO BE PASSED. Colonnades, receding rings, floor
strips, foreground slabs: every one of them is there to give the move a
rate, and none of them is the shot.
· A SOLVED CURVE, SAMPLED. Nothing in the suite is eyeballed between two
poses — each move is a function of one progress variable, and the rows
are that function evaluated. It is why the ramps can be re-timed by
editing one table instead of dragging twenty keyframes.
THREE THINGS THE PORT HAD TO CHANGE, and why:
· CASCADE PITCH. The page tipped its capsules about their BASE at an 86 mm
pitch. A promo node rotates about its own centre, so each capsule pairs
90° of rotation.x with a −31.5 mm drop (H/2 − r) to land flat on the same
floor — same end pose, no pivot rig. But a tipped capsule then reaches
half its own LENGTH past its slot, and at 86 mm the fallen rows merge into
one sausage. 130 mm is the first pitch where the field still reads as
pins.
· TUNNEL CAMERA. The page flew its spline to u = 0.92 and its rings ended
there too. Here that runs the camera out of tunnel in the last second, so
the fly-through stops at 0.72 and looks 0.10 ahead instead of 0.06 — a
short look-ahead through a curve points the camera at the barrel wall.
· GLASS TRANSMISSION. 0.40 reads as white plastic; 0.85 reads as glass. The
difference is not the number, it is that shot 5 builds a haze backdrop
BEHIND the orbs first — transmission shows what is behind the mesh, and
over an empty stage a high value renders a black ball.
NO AUDIO. This is a primitives reel: no VO clips exist for it and no music
is authored, so there is no <audio> block. Add one at assembly time.
Capture: nx run tools:capture:webgl -- --project promos/primitives/rich-scenes/rich-scenes.promo --width 1920 --height 1080
Preview: /packages/runtime/index.html?project=promos/primitives/rich-scenes/rich-scenes.promo- Topic
- scenes
- Scenes
- 50
- Kind
- reference rig
//
RICH-SCENES — the KIT REEL, ported and then extended twice. Seven shapes,
six materials, THIRTY shots, and in every shot a real device carrying
the reel's own HUD.
THE SOURCE. A single-page three.js reel: one normalised kit (chamfered
cube · icosphere · torus · capsule · thin ring · quad · torus-knot hero),
six materials (clearcoat · metal · matte clay · emissive · glass ·
thin-film), two procedural "HDRIs" (a bright studio box, a dark four-source
stage), four distributions (grid · ring · fibonacci sphere · spline) and a
post chain of bloom + chromatic aberration + vignette + grain. Nothing in
the reel is an asset; everything is a parameterisation of those parts. That
is the thesis, and it is why the port is a port and not a redraw.
THE FIRST EXTENSION. Shots 01-05, 11 and 28 are the port. Shots 06-10 and
12-16 are not new ideas — they are the two shots that carried the port
(05 GLASS and 11 TUNNEL) taken apart and re-pointed, five ways each.
Nothing in them reaches for an asset either: the sea is one tag, the
caustics are one slide, the mirror hall is two nodes, and the whole
material suite is the same six definitions the port declared.
THE SECOND EXTENSION — shots 17-27, and the argument of this file. The two
material/repetition suites hold the camera still and move the WORLD. This
one inverts that: eleven shots in which nothing in the set does anything
interesting and the CAMERA is the subject. They are the eleven moves a
camera can make about a thing that is standing still — crane, orbit, push,
dolly-zoom, lateral parallax, threshold, whip, vertical drop, rise, retreat,
and the corkscrew that combines four of them — and each one is the SAME
159.5 mm phone standing on the SAME floor, so the only variable in the
suite is the move. That is the point: if the phone were doing anything, the
reader would credit the phone.
· CRANE (17) changes ONE number — height — and reads as grand for it.
· ARC (18) changes only azimuth. PUSH-IN (19) changes only distance.
· VERTIGO (20) changes distance and fov TOGETHER, against each other, so
the subject holds still while the world behind it opens up.
· PARALLAX (21) changes only x — the FOREGROUND does the reveal.
· FLY-THROUGH (22) crosses two thresholds. WHIP (23) changes only the
look direction, and changes it faster than anything else in the reel.
· GOD'S-EYE (24) is the corkscrew with the corkscrew removed.
· ASCENT (25) is shot 27 run backwards. PULL-BACK (26) is shot 19 run
backwards. SPIRAL DIVE (27) is all of them at once, speed-ramped.
THE ADAPTATION. The page's HUD (slate, shot name, recipe line, clip strip,
tri/call counters) was screen-space DOM. Here it is a DEVICE — the thing the
brief asked for — so every shot carries an iphone / macbook / ipad standing
in its own set, wearing that HUD on real glass, lit by the shot's own rig
and reflecting the shot's own environment. The counters are gone (a promo
has no live renderer.info); the slate, the recipe and the clip strip stay,
and each screen also carries the ONE number that shot is about.
THE UNITS. 1 page unit = 100 mm. The kit is fist-sized (a 100 mm chamfered
cube, a 98 mm torus), the cameras sit 600–1200 mm out, and the devices
render at true physical size — 159.5 mm of iphone standing next to a 100 mm
cube is the whole reason the shots read as objects on a table rather than as
graphics. Every length below is a millimetre.
LOOK — carried unchanged from the page:
ink #e9e6df dim #7c7970 line #23232a
mark #ffb347 the one accent; every emissive surface is this
cool #7ad7ff the dark stage's side source
warm #ffa25e its opposite
backgrounds s1 #101116 · s2 #0b0c10 · s3 #05060a · s4 #121014 ·
s5 #04050a · s6 #04040