music-video-gen/flow-state/src/scenes/shader
Dejvino c950f8f3b1 Give a full-frame field a subject the eye can track, and let the song choose
what it does

"One pattern across the screen" scenes have nothing to watch. Warping the field
around a focal point was the previous attempt and it did not fix that — measured
on Voronoi it raised orientation variety while layout stayed at 0.004, which is
another way of saying the cells changed and the frame still had no subject.

So a subject is now a form that does something TO the field, and which thing is
the song's decision rather than the scene's: shift, warp, punch, morph or
overlay. The same form punching a hole, bending the pattern or running it at
another rate are three different videos, and across six songs the bank picks
overlay, morph, shift, morph, warp and punch — so it is a real axis rather than
a constant with five names.

subjectSDF, subjectMask, subjectEdge and subjectWarp are in the contract, so any
field scene can take a subject without knowing where the focal points are.

Moiré Grid is the pilot and implements all five impacts. 0.031 to 0.037 — up a
fifth, and the layout block moved from essentially nothing to 0.018, which is
the first time anything has moved layout on a full-frame field. That is the
number that speaks to the complaint: the frame's energy is no longer spread
evenly, so there is somewhere to look.

It is still under the 0.04 bar, and I have not seen it. The score says there is
now a subject; whether it is worth watching is the question the gallery cannot
answer.

One bug worth recording: the subject helpers were placed above the ink in the
preamble, and subjectEdge draws with inkStroke. GLSL has no forward
declarations, so the whole preamble failed to compile and every scene using it
rendered pure black — which the gallery reported as a variety of exactly 0.000
across all six blocks rather than as an error. An all-zero row means a dead
shader, not a boring scene.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 16:52:57 +02:00
..
analog-wow.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
apollonian-gasket.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
aqueduct-march.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
aurora-veil.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
balance-stack.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
block-mosh.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
cargo-belt.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
cell-divide.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
circuit-bloom.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
classic-wave.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
contour-map.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
curl-flow.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
data-aisle.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
droste-feedback.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
dust-chamber.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
eclipse-field.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
firefly-drift.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
floating-geometry.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
flora.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
gate-corridor.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
girder-lattice.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
halftone-misprint.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
horizon-lines.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
ink-bleed.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
isometric-blocks.js A scatter point in Isometric Blocks — which measures worse, twice 2026-08-18 16:42:55 +02:00
kaleido-tunnel.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
karman-street.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
magnet-lines.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
metaballs.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
moire-grid.js Give a full-frame field a subject the eye can track, and let the song choose 2026-08-18 16:52:57 +02:00
mycelium-web.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
nebula.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
neon-city.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
pendulum-trace.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
pitch-shatter.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
plasma-bloom.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
prism-bloom.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
psychedelic-drift.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
pylon-grid.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
quasicrystal.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
rain-column.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
ridge-terrain.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
salt-flat.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
scale-mosaic.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
scan-tear.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
shoji-grid.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
signal-decay.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
silk-ribbon.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
slow-orb.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
smoke-column.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
spectrum-sculpture.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
stairwell-descent.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
storm-rift.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
suspension-span.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
synthwave-run.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
tide-rings.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
time-smear.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
truchet-fold.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
turing-bloom.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00
voronoi-shatter.js A focus: somewhere for a full-frame field to be about, tried on Voronoi 2026-08-18 16:39:35 +02:00
vortex-drift.js Take the effects off the visualizers and leave them to the grade 2026-08-18 16:21:34 +02:00