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,17 @@ labels: [gameplay, advanced-mechanics]
|
|||
# GAL-40: Design and implement intricate flight patterns for enemies that do not shoot
|
||||
|
||||
Design and implement intricate flight patterns for enemies that do not shoot.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [ ] On a special stage (`is_special_stage(stage_number) == true`), enemies follow scripted curved paths (e.g. spline / Bezier / Lissajous), not the formation flow.
|
||||
- [ ] These enemies do **not** call `enemy_shoot` and never spawn `EnemyBullet`.
|
||||
- [ ] Enemies despawn when their path reaches its end off-screen.
|
||||
- [ ] At least 2 distinct path shapes used in a single special stage for visual variety.
|
||||
- [ ] Difficulty / pattern parameters live in `StageConfigurations` (or a new resource) so future stages can compose them.
|
||||
|
||||
## Integration test hints
|
||||
|
||||
- Build a headless `App` with `CurrentStage = 3` (first special stage); tick for N seconds; assert: zero `EnemyBullet` entities ever spawned, all special-stage enemies eventually despawned (count returns to 0).
|
||||
- Snapshot the path: at fixed intervals record enemy `Transform.translation`; assert curvature (e.g. y is non-monotonic to prove it isn't a straight line).
|
||||
- Visual smoke test via `nix run .#take-screenshots -- ./target/debug/bglga 3 6 1 ./shots` after triggering a special stage; eyeball that paths look intentional.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue