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>
25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
---
|
|
id: GAL-43
|
|
title: Replace placeholder geometric shapes with actual sprites
|
|
status: Todo
|
|
parent: GAL-42
|
|
labels: [polish, visuals]
|
|
---
|
|
|
|
# GAL-43: Replace placeholder geometric shapes with actual sprites
|
|
|
|
Replace placeholder geometric shapes with actual sprites.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [ ] `Player`, `Bullet`, `EnemyBullet`, and both `EnemyType::Grunt` / `EnemyType::Boss` are rendered via `Sprite` components loaded from `assets/`, not coloured meshes.
|
|
- [ ] Asset paths centralised (e.g. constants in `constants.rs`) so swapping art is a one-line change.
|
|
- [ ] Hitbox sizes either preserved or recalibrated; existing collision tests still pass.
|
|
- [ ] Z-ordering preserved (player above starfield, bullets above enemies, beam below player).
|
|
- [ ] Falls back gracefully if an asset is missing (warn, do not panic at runtime).
|
|
|
|
## Integration test hints
|
|
|
|
- Unit-test `spawn_player` (and equivalents) inserts a `Sprite` component referencing the expected `Handle<Image>`.
|
|
- Run `nix run .#take-screenshots -- ./target/debug/bglga 3 6 1 ./shots` before and after; visually compare frames for regressions in placement.
|
|
- Existing collision tests: ensure they still pass with the new sprite-derived hitbox sizes (or update constants in `constants.rs` and the tests in lockstep).
|