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.3 KiB
1.3 KiB
| id | title | status | parent | labels | ||
|---|---|---|---|---|---|---|
| GAL-55 | Add Press R to Restart message and restart logic | Todo | GAL-50 |
|
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(RestartMessagecomponent already exists incomponents.rs). - Pressing R while in
GameState::GameOvertransitions back toGameState::Playing. - On restart, these reset to defaults:
Score,PlayerLives,CurrentStage,FormationState,AttackDiveTimer,EnemySpawnTimer,RestartPressed. - On restart, all
Enemy,Bullet,EnemyBullet,Explosion, andTractorBeamentities are despawned. - Player respawns at default position with invincibility window.
- R is ignored in
PlayingandStartMenustates.
Integration test hints
- Build
AppinGameOver; insert a fakeScore = 1234,CurrentStage = 4; simulateKeyCode::KeyRpress viaButtonInput<KeyCode>; tick; assert state isPlayingand resources reset. - Pre-spawn enemies/bullets/explosions before restart; after restart tick, assert their entity counts are zero.
- Negative test: send
KeyRwhile inPlaying; assert no resource reset and no state change.