Three lessons worth more than the scenes: a slow axis has to move a large low-frequency area or the camera's own drift beats it, whole-frame luminance on the kick is the strobe the flash gate exists for and it arrives by accident, and a style trait expressed only as grain measures as no style at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
6.9 KiB
Twenty more scenes
The library sat at 42 — seven per family, evenly. Even spread is not the same as
useful spread: casting in look/Personality.js disqualifies any scene that does
not honour all of the track's signature traits, so the pool a given track draws
from is much smaller than the shelf count suggests. space and shape are the
thin traits, and they are where a new scene is worth most.
So: twenty scenes, roughly three or four per family, weighted towards space
(8 of 20) and shape (7 of 20), and each one written against a named neighbour
it must not look like. That second column is the real spec — "no two scenes
render the same image" is a gate with a numeric floor, and a scene that cannot
say what it is instead of does not exist yet.
Procedure per scene is .claude/skills/build-visualizer/: scaffold, write the
scene() body, npm run lint:scenes, checks.html?scene=…, then the full suite
before the batch commit.
flow
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 1 | Rain Column | camera, space, style | falling sheets of rain in depth layers, sheared by wind | Smoke Column rises and diffuses; this falls and stays discrete |
| 2 | Magnet Lines | shape, camera, style | iron-filing field lines around drifting poles | Curl Flow advects noise; here the field is solved, not sampled |
| 3 | Kármán Street | shape, camera, space, style | vortices shedding off a fixed body, drifting downstream | Vortex Drift spins the whole frame; this has one still obstacle and a wake |
organic
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 4 | Turing Bloom | camera, style | reaction–diffusion spots and stripes, grown in feedback | Ink Bleed spreads and stops; this reaches a living equilibrium |
| 5 | Mycelium Web | camera, space, style | threads creeping over a dark substrate, nodes lighting where they meet | Flora grows upright and symmetric; this is flat, branching and lateral |
| 6 | Scale Mosaic | shape, camera, style | phyllotaxis of overlapping scales, breathing | Cell Divide splits; this tiles a surface that never divides |
minimal
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 7 | Pendulum Trace | camera, style | one harmonograph curve drawn into a slowly decaying trail | Silk Ribbon is a wide ribbon; this is a single hairline and its ghost |
| 8 | Contour Map | camera, space, style | sparse topographic contours of a slow height field | Horizon Lines is a parallel bundle; contours are closed and nested |
| 9 | Shoji Grid | shape, camera, style | backlit paper panels with the signature form cut out of them | Moiré Grid interferes; this has four or five panels and holds still |
| 10 | Balance Stack | shape, camera, space, style | a few forms stacked on a horizon, long shadows | Salt Flat has one distant object; this one is near and about to fall |
structural
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 11 | Suspension Span | shape, camera, space, style | cable curves and towers passing overhead | Girder Lattice is a truss field; this is two curves and a rhythm of hangers |
| 12 | Stairwell Descent | camera, space, style | a recursive stairwell seen straight down | Gate Corridor moves through gates; this falls through floors |
| 13 | Aqueduct March | shape, camera, space, style | receding arches, tiered | Pylon Grid is open frames; arches are solid and carry a skyline |
| 14 | Data Aisle | camera, space, style | two racks of indicators receding to a vanishing point | Neon City is exterior and vast; this is interior and close |
geometric
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 15 | Voronoi Shatter | camera, style | drifting Voronoi cells, edges lit, re-seeding on phrase lines | Truchet Fold is a regular grid; these cells are irregular and move |
| 16 | Apollonian Gasket | camera, style | circle-inversion packing, infinitely nested | Quasicrystal is additive interference; this is exact recursive geometry |
| 17 | Isometric Blocks | shape, camera, style | an isometric field of extruded blocks rising on band energy | Floating Geometry drifts free; this is a solid, gridded, lit surface |
glitch
| # | scene | traits | what it is | not like |
|---|---|---|---|---|
| 18 | Halftone Misprint | camera, style | CMY halftone screens, misregistered | nothing else in the library draws dots |
| 19 | Droste Feedback | camera, style | recursive zoom-and-rotate video feedback around a small motif | Time Smear translates; this scales, so the image eats itself |
| 20 | Analog Wow | camera, style | tape warp: horizontal wobble, chroma bleed, dropout streaks | Scan Tear and Block Mosh are quantised and blocky; this is continuous and wet |
What landed
All twenty, in six commits, each batch gated before it went in. The library is
at 62 scenes: flow, organic, geometric and glitch at ten each, structural and
minimal at eleven. space went from 20 scenes to 28 and shape from 21 to 28,
which was the point — those are the traits that decide whether a track has
anything to cast.
Three things came out of the build that are worth keeping:
A slow axis needs a large, low-frequency area, not a detailed one. Phase 11 compares ten-second averages, and the camera's own drift moves that average by 0.01-0.02 on any high-contrast image. An axis that changes line count, drop density or tier count loses to it; one that changes a wake's width, a colony's extent, a tide level or a deck's height beats it. Seven of the twenty declare an axis. Six do not, and each of those files records the candidates measured and what they scored — Turing Bloom, Voronoi Shatter, Droste Feedback and Analog Wow because a feedback or re-cutting scene's own history moves the average further than any parameter can, Contour Map and Balance Stack because the frame is too empty for anything in it to out-move a slow pan.
Two ways to strobe a whole frame, both found by the flash gate. Driving block heights off the low end made every tower in Isometric Blocks grow together — a frame-wide luminance cycle on the kick, 4/s. A hard recursion cutoff in Apollonian Gasket popped a whole generation of discs in and out as the fold crossed it. Local terms and a faded cutoff fixed both.
Style expressed only as grain is not style. Six of the twenty first shipped with a style response the render gate measured at 11-24 out of 255 — the Side Quest 1 complaint, reproduced from scratch. Putting the track's line weight and edge softness into the actual subject (the dot, the ring, the seam, the course, the band boundary) took them to 86-255.
One check changed: Phase 4's transition control is the sum of the two adjacent shots' motion rather than the larger of them. See the commit; the short version is that a dissolve has both stacks live and a nonlinear blend of two moving stacks moves more than either alone, so the old control was reading its own denominator once the library had calm scenes in it.