Make your game dance to its music. Analyze a song once offline (FFT into an 8-band loudness table), then drive anything in the world from eight 0..1 values per frame — no live audio plumbing, every client sees the identical dance. The bake also lands the song's beat grid — beat events with per-hit strength, bpm, and a floor that rejects the quiet ones — so things pop exactly on the kick.
Fresh-install fixes from the first field report. Table name matching is forgiving now: case and punctuation don't count, the baker stamps the source file's name into every table as a second key, and a driver that owns its song (state.music) trusts its table outright — a pretty --name label can no longer make the driver refuse its own bake.
Read the rest
The driver still installs into place `main`, and the docs now say that out loud: step 3 covers moving it when your game lives elsewhere, and a driver hearing no music says so in the logs after ~10 seconds instead of sitting silent. Baker --name help text explains it's a matching key.
Version history
1.1.0
Two field fixes and a tougher table format. (1) Songs playing on a named music layer no longer read as silence — set state.layer on the driver, or leave it unset and the driver finds the audible lane itself. (2) Baked tables now pack their values as base64 (valuesPacked, ~39 kB vs ~85 kB plain) so big tables stop truncating on write; old plain-array tables still load unchanged. bake_bands.py grows --plain (the old readable array form) and --split (header-only track.json + a track-packed.json sidecar the driver falls through to). The skill doc adds "Landing by fetch": upload the bake and let the game pull it in itself — no size ceiling, cannot truncate.
1.0.1
Catalog icon — the mod now wears a music note. No code changes.
1.0.0
First release. Bake a song once, offline, into an 8-band loudness table plus a beat grid — then drive anything in the world from eight 0..1 values a frame. Ships the baker, the driver, the skill and a /bake-bands command.