|
| 1 | +# PLAN_PR_ASTEROIDS_VECTOR_MIGRATION |
| 2 | + |
| 3 | +## Goal |
| 4 | +Define a migration of the flagship Asteroids platform demo from sprite-led asset rendering to vector-led asset rendering |
| 5 | +using the accepted first-class vector asset system, while preserving all accepted platform boundaries. |
| 6 | + |
| 7 | +## Why This PR Exists |
| 8 | +The flagship Asteroids demo already proves the platform end-to-end, but Asteroids is fundamentally a vector game. |
| 9 | +Now that vector assets are a first-class platform type, the demo should migrate to authentic vector-driven content. |
| 10 | + |
| 11 | +## Intent |
| 12 | +- Move key Asteroids gameplay visuals to vector assets |
| 13 | +- Preserve strict validation, packaging, runtime, debug, profiler, export, and publishing flows |
| 14 | +- Keep the migration surgical and reusable for future vector-native templates |
| 15 | + |
| 16 | +## Scope |
| 17 | +- migrate player ship visual to vector asset |
| 18 | +- migrate asteroid variants to vector assets |
| 19 | +- optionally migrate select title/UI assets where vector is a better fit |
| 20 | +- update registry/dependency graph participation for migrated demo assets |
| 21 | +- preserve gameplay loop and demo validation coverage |
| 22 | +- preserve packaging/runtime handoff for the Asteroids demo |
| 23 | +- keep migration reusable as a future vector-native demo/template baseline |
| 24 | + |
| 25 | +## Non-Goals |
| 26 | +- No engine core API changes |
| 27 | +- No destructive removal of existing demo content until vector path is verified |
| 28 | +- No gameplay redesign beyond what is needed for vector-led rendering |
| 29 | +- No bypass of validation, packaging, runtime, CI, export, or publishing boundaries |
| 30 | + |
| 31 | +## Migration Strategy |
| 32 | +1. Keep the existing Asteroids demo as the verified baseline. |
| 33 | +2. Introduce vector asset equivalents for ship and asteroid visuals. |
| 34 | +3. Update demo asset references to consume vector assets as the preferred path. |
| 35 | +4. Preserve fallback/reference documentation for prior sprite-led demo assets only as migration safety. |
| 36 | +5. Re-run full platform validation, packaging, runtime, export, publishing, debug, and profiler flows. |
| 37 | + |
| 38 | +## Proposed Vector IDs |
| 39 | +- `vector.asteroids.ship` |
| 40 | +- `vector.asteroids.asteroid.large` |
| 41 | +- `vector.asteroids.asteroid.medium` |
| 42 | +- `vector.asteroids.asteroid.small` |
| 43 | +- `vector.asteroids.ui.title` (optional) |
| 44 | + |
| 45 | +## Likely Files |
| 46 | +- vector asset definitions under `games/Asteroids/platform/assets/vectors/` |
| 47 | +- updated demo content/config references |
| 48 | +- validation and packaging reports |
| 49 | +- no engine core API files |
| 50 | + |
| 51 | +## Acceptance Criteria |
| 52 | +1. Asteroids demo validates successfully with vector-led assets. |
| 53 | +2. Packaging succeeds with vector assets included deterministically. |
| 54 | +3. Runtime reaches ready state with vector assets as the preferred visual path. |
| 55 | +4. Gameplay loop remains intact: title, start, play, score, lives, waves, game-over, restart. |
| 56 | +5. Debug and profiler surfaces show vector asset participation. |
| 57 | +6. No engine core APIs are changed. |
| 58 | + |
| 59 | +## Manual Validation Checklist |
| 60 | +1. Ship renders through vector asset path. |
| 61 | +2. Asteroids render through vector asset path. |
| 62 | +3. Rotation and scale feel correct for vector-led visuals. |
| 63 | +4. Validation passes with no blocking findings. |
| 64 | +5. Packaging includes migrated vector assets. |
| 65 | +6. Runtime loader reaches ready state. |
| 66 | +7. Debug graph reflects vector nodes/edges. |
| 67 | +8. Profiler captures vector participation deterministically. |
| 68 | +9. No engine core APIs are changed. |
| 69 | + |
| 70 | +## Approved Commit Comment |
| 71 | +plan(demo): define vector migration for flagship asteroids demo |
| 72 | + |
| 73 | +## Next Command |
| 74 | +BUILD_PR_ASTEROIDS_VECTOR_MIGRATION |
0 commit comments