SYSTEM

Burn

A print burns through to the picture from the pointer, through its shadows first.

Motion

The Grainger case study’s poster
Point at the print: it burns through from the pointer. Leave and it burns back.

Anatomy

Mask one canvas over the crisp poster for the plate’s whole life; every dot is print or crisp
Landing each dot has a landing time; for 70ms before it lands it prints as Bayer grain turning to ink, so every front arrives as grain
Fronts first-passage times on an 8-connected grid (Dial’s bucket queue, hence square fronts); crossing costs more in highlight than in shadow, so fronts run through the dark masses first
From the pointer solved on 4×4-dot cells from the cell under the pointer and up to three dark cells near it, scaled to 520ms, plus T · 28ms of grain; keyboard focus opens from the centre
Back from scattered seeds biased to the shadows, scaled to 640ms
Cost fronts solved once per plate, ~40–50ms when the main thread is idle; a hover ~1.5ms to retime

From src/lib/exposure/burn.ts and the guide’s Motion §1.

Decisions

  • No arrival

    Images do not transition in (Oct 2026): the page transition is the arrival, so a picture playing its own on top of it was a second one.

  • Retimed, never restarted

    A new target retimes only the dots that have not landed, so leaving mid-reveal never makes the picture jump.

  • Replaced Bloom

    A spring-driven square reveal round the cursor (Sept 2026). The burn was chosen because it reads as the hero culture’s arrival, carried onto the pictures.

  • Touch

    Nothing hovers and a tap is the link, so on touch nothing burns: plates rest on the print.