bglga/TODO/GAL-52.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

25 lines
1.1 KiB
Markdown

---
id: GAL-52
title: Display Score, Lives, and Stage on screen using bevy_ui
status: Todo
parent: GAL-50
labels: [polish, ui]
---
# GAL-52: Display Score, Lives, and Stage on the screen using `bevy_ui`
Display Score, Lives, and Stage on the screen using `bevy_ui`.
## Acceptance criteria
- [ ] HUD shows `Score`, `PlayerLives`, and `CurrentStage` as on-screen `Text` nodes via `bevy_ui`.
- [ ] HUD updates each frame the underlying resource changes (use `Changed<T>` filters or run-conditions).
- [ ] HUD is hidden (or not spawned) during `StartMenu`; visible during `Playing` and `GameOver`.
- [ ] Window title is no longer the source of truth for these values (kept only as debug, or removed — pick one).
- [ ] Layout survives window resize without overlapping the play field.
## Integration test hints
- Build `App`, mutate `Score` resource, run schedule one tick, query for the score `Text` component, assert its content includes the new score string.
- Transition into `StartMenu`; assert HUD nodes have `Display::None` or are despawned.
- Visual smoke test via `nix run .#take-screenshots` after resource changes; eyeball that text positions are sensible.