music-video-gen/flow-state/src/engine
Dejvino 0ee7a6a3b3 Diversify palette by timbre, tame the grain
Palette hue was pinned to the spectral centroid, which is essentially a
bass-vs-treble number most mastered pop lands mid-range on, so different
songs converged on the same blue/green/purple wedge and warm red/yellow
was unreachable. Derive the base hue from a timbre signature instead:
the track's spectral mass in the body (sub/low/mid) against the trebles
(high/air), mapped onto a cool(blue)->warm(red) ramp, with BPM+tonality
+dynamics driving vibrance. Energy and timbre are now two orthogonal
axes, and palettes vary meaningfully between tracks.

Grain was also overused: every scene adds its own surface grain and the
grade adds another on top. Drop the per-scene texture floor, the grade's
grain range, and the default, so tonal tracks read clean.
2026-08-05 23:02:00 +02:00
..
Compositor.js Diversify palette by timbre, tame the grain 2026-08-05 23:02:00 +02:00
Engine.js Phases 8 and 9: shots, and a production design per track 2026-08-05 20:04:33 +02:00
flash.js Phase 5: compositing depth ("C" complete) 2026-08-05 11:38:26 +02:00
hash.js Phase 0: determinism spine 2026-08-05 10:59:30 +02:00
Layer.js Add OSD with song name 2026-08-05 21:30:46 +02:00
OSD.js Add OSD with song name 2026-08-05 21:30:46 +02:00
passes.js Phase 0: determinism spine 2026-08-05 10:59:30 +02:00
Renderer.js Phase 7: grow the scene library to 16 2026-08-05 18:40:56 +02:00
rng.js Phase 0: determinism spine 2026-08-05 10:59:30 +02:00
shader-contract.js Add OSD with song name 2026-08-05 21:30:46 +02:00
Timeline.js Phase 0: determinism spine 2026-08-05 10:59:30 +02:00