- Title: FLUX marquee logo + 4 portrait class-select cards (keys 1-4 or tap)
- Themes 4-5: WAREHOUSE RAVE (shazam zombie turrets firing slow requests,
gatekeeper tanks) and FESTIVAL GROUNDS (wobbling warped records); tune pools
extracted for both (acid/tech-house/minimal, trance/big-beat/prog) -> 1008 tunes
- Spectral Conductor boss (level 8 of each 12-cycle): 20 HP, teleports to a
corner every 5 hits, doubles generator rate + 1.5x enemy speed while alive
- The Monstrous 78 RPM (level 12): 30 HP, bounces Pong-style, spits warped
shards, only vulnerable while "changing sides" (dimmed); killing it reveals
THE WHITE LABEL (??? - ???) in the notebook and starts NG+ density
- Boss arenas have no exit until the boss falls - the booth appears where it died
- Fix: makeGlow crashes on scene restart (createCanvas returns null if key exists)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Digging: hold E (or DIG touch button) by a crate wall, 2s rooted channel, once
per tile. Loot: 70% +200 vibe, 25% gold record, 4% grail (full vibe), 1%
bootleg (every bin on the level erupts).
- Treasure rooms: every 3rd level, 20s bonus room strewn with gold, no enemies,
booth exits instantly, "CLOSING TIME" when the timer dies.
- THE ARCHIVE (4th theme): FLUX-generated dark tileset, real darkness via
RenderTexture with radial glow holes at player + lamps, dust mites spawn in
packs of 3, Mite Queen miniboss (12 HP, broods mites every 5s, airhorn-immune,
drops 3 gold + 1000 pts). Archive tune pool: 195 dnb/hardcore/breakbeat/
electro 12"s (718 total tunes now).
- Infinite: levels past the 4 authored maps are deterministic seeded mazes
(recursive backtracker + loops + rooms), difficulty scales with depth.
All verified in-browser via engine stepping.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
assets/extract_tunes.py pulls 523 canon tunes (repress-count ranked, club pool
12"-only) into public/tunes.json across shop/fair/club genre pools; top ~8% of
each chunk flagged grail ("CERTIFIED CLASSIC", gold flash, 2000 pts). Level
clear reveals a real record (artist — title, label, year), the announcer speaks
it, and first IDs land in a persistent localStorage notebook (+1000). Title
screen shows notebook progress. Also: overlay/sub text got backgrounds for
readability, and prompt() is guarded for webviews that lack it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>