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>
1.1 KiB
1.1 KiB
| id | title | status | parent | labels | ||
|---|---|---|---|---|---|---|
| GAL-52 | Display Score, Lives, and Stage on screen using bevy_ui | Todo | GAL-50 |
|
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, andCurrentStageas on-screenTextnodes viabevy_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 duringPlayingandGameOver. - 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, mutateScoreresource, run schedule one tick, query for the scoreTextcomponent, assert its content includes the new score string. - Transition into
StartMenu; assert HUD nodes haveDisplay::Noneor are despawned. - Visual smoke test via
nix run .#take-screenshotsafter resource changes; eyeball that text positions are sensible.