chore(todo): add acceptance criteria and test hints to open issues

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>
This commit is contained in:
Harald Hoyer 2026-05-07 09:53:09 +02:00
parent 53938f22b5
commit 365e3a7cc4
14 changed files with 188 additions and 0 deletions

View file

@ -9,3 +9,17 @@ labels: [polish, audio]
# GAL-48: Add sound effects (shooting, explosions, player death, tractor beam, etc.)
Add sound effects (shooting, explosions, player death, tractor beam, etc.).
## Acceptance criteria
- [ ] Distinct SFX for: player shoot, enemy shoot, enemy explosion, player death, tractor beam start, stage clear.
- [ ] SFX triggered via Bevy events (e.g. `EventWriter<PlaySfx>`), not direct calls scattered through gameplay systems.
- [ ] No duplicate playback in a single frame for a single source (e.g. one shot = one click).
- [ ] SFX volume independent from music channel (see GAL-49).
- [ ] Asset paths centralised so re-skinning is local to one file.
## Integration test hints
- Tick world: simulate shoot input → assert exactly one `PlaySfx(Shoot)` event emitted that frame.
- Despawn an enemy via a bullet collision → assert exactly one `PlaySfx(Explosion)` event.
- Activate a Boss `CaptureBeam` (insert `TractorBeam` component) → assert one `PlaySfx(BeamStart)` event per beam, not per frame the beam exists.