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:
parent
53938f22b5
commit
365e3a7cc4
14 changed files with 188 additions and 0 deletions
|
|
@ -9,3 +9,18 @@ labels: [polish, ui]
|
|||
# GAL-55: Add a "Press R to Restart" message to the `GameOver` screen and implement restart logic
|
||||
|
||||
Add a "Press R to Restart" message to the `GameOver` screen and implement restart logic.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] "Press R to Restart" rendered as part of `GameOverUI` (`RestartMessage` component already exists in `components.rs`).
|
||||
- [ ] Pressing R while in `GameState::GameOver` transitions back to `GameState::Playing`.
|
||||
- [ ] On restart, these reset to defaults: `Score`, `PlayerLives`, `CurrentStage`, `FormationState`, `AttackDiveTimer`, `EnemySpawnTimer`, `RestartPressed`.
|
||||
- [ ] On restart, all `Enemy`, `Bullet`, `EnemyBullet`, `Explosion`, and `TractorBeam` entities are despawned.
|
||||
- [ ] Player respawns at default position with invincibility window.
|
||||
- [ ] R is ignored in `Playing` and `StartMenu` states.
|
||||
|
||||
## Integration test hints
|
||||
|
||||
- Build `App` in `GameOver`; insert a fake `Score = 1234`, `CurrentStage = 4`; simulate `KeyCode::KeyR` press via `ButtonInput<KeyCode>`; tick; assert state is `Playing` and resources reset.
|
||||
- Pre-spawn enemies/bullets/explosions before restart; after restart tick, assert their entity counts are zero.
|
||||
- Negative test: send `KeyR` while in `Playing`; assert no resource reset and no state change.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue