|
| 1 | +# PR_26133_117 Asteroids Older Vector Geometry Restore Report |
| 2 | + |
| 3 | +## Summary |
| 4 | +- Read `docs/dev/PROJECT_INSTRUCTIONS.md` before implementation. |
| 5 | +- Used PR_26133_116 as the prior reference from committed `HEAD` (`830a4b6ef`) and `docs/dev/reports/PR_26133_116-asteroids-vector-map-ssoT-cleanup_report.md`; the local PR116 delta ZIP was not present under `tmp/`. |
| 6 | +- Searched farther back before Object Vector V2 work: |
| 7 | + - original Asteroids runtime geometry in `055a629ab`, `fe340bde3`, and `31ca1521e` |
| 8 | + - pre-Object-Vector manifest vector map geometry in `3fc7bbce7` |
| 9 | + - Object Vector V2 migration boundary in `9d81680fd` and `526dbdf9f` |
| 10 | +- Restored manifest-owned vector map geometry only: |
| 11 | + - `vector.asteroids.ship` now uses the older right-facing runtime ship points. |
| 12 | + - `vector.asteroids.asteroid.medium` was restored from the older manifest vector path. |
| 13 | + - `vector.asteroids.asteroid.small` was restored from the older manifest vector path. |
| 14 | + - `vector.asteroids.ufo.large` and `vector.asteroids.ufo.small` were verified against the older runtime UFO polylines and left unchanged. |
| 15 | +- Kept Asteroids runtime loading manifest-only; no runtime fallback/default vector maps or hardcoded map constants were added. |
| 16 | +- Preserved the manifest cleanup that was already dirty at the start of PR117: the current ship Object Vector hull point and removal of the duplicate `object.asteroids.medium-asteroid-2`. |
| 17 | + |
| 18 | +## Changed Files |
| 19 | +- `games/Asteroids/game.manifest.json` |
| 20 | +- `tests/games/AsteroidsAssetReferenceAdoption.test.mjs` |
| 21 | +- `tests/games/AsteroidsValidation.test.mjs` |
| 22 | +- `tests/games/AsteroidsVectorTransforms.test.mjs` |
| 23 | +- `docs/dev/reports/PR_26133_117-asteroids-older-vector-geometry-restore_report.md` |
| 24 | + |
| 25 | +## Validation |
| 26 | +- PASS: syntax checks for changed targeted Asteroids test files. |
| 27 | +- PASS: Asteroids manifest JSON parse. |
| 28 | +- PASS: targeted manifest load and restored vector geometry validation for ship, medium asteroid, small asteroid, large UFO, and small UFO. |
| 29 | +- PASS: targeted required vector map resolution and missing required map failure validation. |
| 30 | +- PASS: targeted Asteroids tests: |
| 31 | + - `AsteroidsValidation` |
| 32 | + - `AsteroidsVectorTransforms` |
| 33 | + - `AsteroidsAssetReferenceAdoption` |
| 34 | + - `AsteroidsPlatformDemo` |
| 35 | + - `AsteroidsPresentation` |
| 36 | + - `AsteroidsHardening` |
| 37 | + - `AsteroidsCollisionTimingStress` |
| 38 | +- PASS: targeted scan found no active Asteroids runtime fallback/default vector maps or collision-suffixed manifest vector IDs; remaining matches are test-only simulated duplicate objects and generic non-vector fallback helpers. |
| 39 | +- PASS: `git diff --check` (line-ending warnings only). |
| 40 | + |
| 41 | +## Skipped |
| 42 | +- Skipped `npm run test:workspace-v2` by request; this PR requested targeted Asteroids validation only. |
| 43 | +- Skipped full regression and full samples smoke test by request. |
| 44 | + |
| 45 | +## Manual Validation |
| 46 | +1. Open the Asteroids workspace/game manifest and confirm `tools.object-vector-studio-v2.vectorMaps.vectors` contains `vector.asteroids.ship`, `vector.asteroids.asteroid.medium`, `vector.asteroids.asteroid.small`, `vector.asteroids.ufo.large`, and `vector.asteroids.ufo.small`. |
| 47 | +2. Confirm the ship map points are `[14,0]`, `[-10,-8]`, `[-6,-3]`, `[-6,3]`, `[-10,8]`, `[14,0]`. |
| 48 | +3. Confirm the medium and small asteroid vector map paths/points match the restored older manifest geometry. |
| 49 | +4. Confirm removing a required manifest vector map, such as `vector.asteroids.ship`, produces an actionable validation failure naming the missing ID. |
| 50 | + |
| 51 | +## ZIP |
| 52 | +- Output path: `tmp/PR_26133_117-asteroids-older-vector-geometry-restore_delta.zip` |
0 commit comments