Look
The light, the air and the photograph for the whole of FURROW. It rides the scene's `look` anchor, reads `filmClock.now()`, and pushes the values `furrow.grade` computes for that instant at the renderer once a frame.
Look
The light, the air and the photograph for the whole of FURROW. It rides the
scene's look anchor, reads filmClock.now(), and pushes the values
furrow.grade computes for that instant at the renderer once a frame.
It is the slice that carries the film's arc. The sun holds its direction for all 181 seconds; what changes is the air between the lens and everything else, from a noon clean enough to count dune crests twenty kilometres out to a brown-out where the horizon is a few hundred metres away.
What it drives
| surface | how |
|---|---|
PhysicalAtmosphere | writes the scene air entity's fields, and pushes groundAlbedo / sunColor — which have no component field — through the module |
| the sun, the dome | writes the sun and ambient Light components |
HeightFog | owned outright; zero density through Act I releases the passes |
DepthOfField | per set-up, including the racks in shots 5 and 8 |
MotionBlur | a 180-degree shutter, constant |
LensFx | flare, halo, streak, and a grain that thickens with the dust |
AutoExposure | half a stop of leash each way, so it cannot undo the arc |
| the grade | one fullscreen pass, registered here from inline WGSL |
Fields
previewAt— the film time the look is posed for while the world sits in EDIT mode. Type a number and the whole arc is inspectable without running the film; play ignores it and followsfilmClock.driveLook— stop driving, leaving the scene at whatever it was authored with. For comparing against the arc, not for shipping.
The rules it keeps
It holds no clock of its own — filmClock.now() is the only time it reads,
which is what makes the film reproducible.
Its executionOrder is -100, after PhysicalAtmosphere at -120, so the
values it pushes are the ones the frame is rendered with.
It spawns nothing. Everything it touches already exists in the scene, and
everything it registers it releases in onDestroy.
Scoped to this part · feeds back into the world's score.