bglga/TODO/GAL-48.md
Harald Hoyer 365e3a7cc4 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>
2026-05-07 09:53:09 +02:00

1.1 KiB

id title status parent labels
GAL-48 Add sound effects Todo GAL-46
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.