MusicService (looping audioplayers player, independent of SFX) driven by the
active season theme's new 'bgm' key; switches track on season change, pauses on
app background, all failures swallowed. Separate Music on/off toggle in Settings
(persisted, independent of SFX). Season packs carry bgm keys (menu/season_001/
season_002), manifest regenerated. Assets slot assets/audio/bgm/ ready — drop in
menu.mp3/season_001.mp3/season_002.mp3 (CC0) and it plays; silent until then.
180 tests green, analyze clean.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds Summer Tide (season_002) — 30 stages with deep-teal gradient and
cyan accent — generated remote-only (no copyToAssets). Introduces
tool/make_manifest.dart to rebuild content/manifest.json from all
season packs with SHA-256 verification support.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Greedy bot with tray-survival lookahead and gem-line steering; generator
samples layouts along a difficulty curve, probes bot moves-to-win, sets
adaptive move budgets targeting win-rate bands, and derives star
thresholds from spare-move quantiles. Season 1 pack bundled in assets
with per-stage difficulty report.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>