stacco
Cappuccetto Rosso in nine shots — and the cut is the one telling it
SHOT 01/09 28 mm LOCK + PUSH 00:00.0
prima luce
She is given a basket and a road
First light on the mother’s cottage. The wood begins where the light stops, and the road only goes one way.
come è montata
Soglia hid its cuts. This one prints them.
Demo 09 is a single camera flight through a hill town. It had to be cut into seven files for one boring reason — a browser cannot seek a clip it has not loaded — so every cut was hidden inside a doorway and the seam frame was shipped twice. Here the cutting is the point, so the file boundary and the artistic boundary are the same boundary: one shot, one clip, nine of each. There is no seam frame, no crossfade, and nothing in the engine that pretends the edit is not happening.
What that buys is the thing the brief actually asked for: a frame that keeps changing. Nine setups, nine lenses from 18 to 85 mm, and nine different jobs for the camera — a lock-off, a static long lens, a side track, an overhead crane, an insert, a low wide two-shot, a race at knee height, a crane down, and a push in. A continuous take can hold your attention with places. An edit holds it with framing, and it never has to move an inch to change your mind.
What it costs is the loader. A dissolve gives you a hundred milliseconds of warning in which a still can stand in for a clip nobody has finished downloading. A cut gives you nothing: it lands on frame one or it lands on a poster. So the lazy radius here is asymmetric — it looks 2.4 viewport-heights forward and 0.8 back, keeps one extra shot resident, and that is the entire price of not being able to fade.
Block width is the shot’s baked duration; the number under it is its focal length. Eight cuts, no dissolves, and shot 04 — the overhead — is the one the other eight are arranged around.
- Footage
- None. One seeded scene file — no models, no textures, no AI
- Cast
- Two rigs of boxes and cones: a child 1.16 m tall, a wolf whose head meets hers
- Render
- 984 frames, 24 fps, 2.39:1 — headless Chrome + Three.js, baked on the repo’s own machine
- Clips
- 9. One per shot. No seam frame is shipped twice, because no seam is hidden
- Lenses
- Real fields of view: the slate’s millimetres are what the camera was actually given
- Mobile
- Re-framed to 4:5, shot by shot, with its own field and offset — never a crop
- Transport
- Native scroll position, mapped. The scrollbar, the keyboard and deep links stay honest
- Autoplay
- The film runs itself at its baked 41 s pace. Wheel, touch, arrows or spacebar hand control back
- Reduced motion
- No clip loads at all. Nine posters cross-dissolve — and nine stills with their lenses under them is a shot list
Self-scored in SCORE.md; the concept and the shot list were written before any markup in PLAN.md; asset provenance in ledger.json. The scroll-scrub doctrine both this and demo 09 are built on is 19-scroll-scrub.md.