Flesh out the 14 still-open issues (GAL-34/35/36/37, 40/41, 43, 46/47/48/49, 52/53/55) with explicit acceptance criteria and concrete integration test hints that reference existing types and headless tooling, so future work on these tickets has a clear definition of done. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
971 B
971 B
| id | title | status | parent | labels | ||
|---|---|---|---|---|---|---|
| GAL-49 | Add background music | Todo | GAL-46 |
|
GAL-49: Add background music
Add background music.
Acceptance criteria
- Music begins on entering
GameState::Playingand stops/pauses onGameOverandStartMenu. - Re-entering
Playing(after restart) starts exactly one music instance — no overlapping tracks. - Music volume control independent from SFX channel.
- Looping is seamless (no audible gap on loop).
- Optional: per-stage track override defined in
StageConfig.
Integration test hints
- State-transition test:
OnEnter(GameState::Playing)→ assert oneBgMusic-tagged audio entity exists;OnExit(Playing)→ assert it is gone or paused. - Restart loop test: Playing → GameOver → restart (GAL-55) → Playing; assert exactly one music entity at the end (no duplication).
- Headless: ensure the music asset loads under
nix developwithout blocking startup.