# 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.