Skip to content

Commit 1a9edd7

Browse files
committed
Fix Space Invaders manifest cleanup and collision contract - PR_26140_124-fix-space-invaders-manifest-and-collision-contract
1 parent 87dc5ec commit 1a9edd7

9 files changed

Lines changed: 132 additions & 476 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Space Invaders Manifest Collision Contract Report
2+
3+
## Summary
4+
- Cleaned `games/SpaceInvaders/game.manifest.json` so Space Invaders no longer declares `tools.object-vector-studio-v2`.
5+
- Added root `screen.width` and `screen.height` to Space Invaders, Space Duel, and Vector Arcade Sample. Space Duel and Vector Arcade Sample still expose object-vector geometry and now satisfy the Collision Inspector screen contract.
6+
- Migrated Space Invaders audio asset records into `tools.asset-manager-v2.assets` before deleting the obsolete asset catalog.
7+
- Deleted the duplicated Space Invaders palette/catalog files:
8+
- `games/SpaceInvaders/assets/palettes/space-invaders-classic.palette.json`
9+
- `games/SpaceInvaders/assets/workspace.asset-catalog.json`
10+
- Updated Space Invaders audio asset IDs and metadata so runtime audio still resolves through manifest-owned Asset Manager V2 data.
11+
- Updated Workspace Manager V2 coverage so Space Invaders keeps Object Vector Studio V2 and Collision Inspector V2 disabled, while Space Duel remains enabled from real object-vector geometry.
12+
13+
## Collision Contract
14+
- Space Invaders has `screen: { width: 960, height: 720 }`, but no object-vector payload. Object Vector Studio V2 and Collision Inspector V2 remain disabled for Space Invaders because no valid object-vector geometry exists.
15+
- Space Duel has 6 object-vector objects and now has `screen: { width: 960, height: 720 }`.
16+
- Vector Arcade Sample has 5 object-vector objects and now has `screen: { width: 960, height: 720 }`.
17+
- Asteroids already had valid root screen dimensions and object-vector geometry.
18+
- No hidden fallback/default object geometry was added.
19+
20+
## SpaceInvadersSpriteData.js Review
21+
`games/SpaceInvaders/game/SpaceInvadersSpriteData.js` remains runtime sprite constants in this PR. It is actively consumed by `SpaceInvadersScene.js` and `SpaceInvadersWorld.js` for bitmap sprite frames and shield overlay data, not object-vector collision geometry.
22+
23+
Recommended future path: make it first-class Sprite Data Tool or Sprite Editor input, then reference the exported sprite data through Asset Manager V2/manifest-owned data assets. It should not be converted into Object Vector Studio V2 data unless a future PR explicitly creates real vector geometry for authoring or collision.
24+
25+
## Validation
26+
- `node --check games/SpaceInvaders/game/SpaceInvadersAudio.js`: passed.
27+
- `node --check tests/playwright/tools/WorkspaceManagerV2.spec.mjs`: passed.
28+
- `node scripts/validate-json-contracts.mjs`: game manifest schema validation passed with `total=12 invalid=0`. The script also reports pre-existing tool/sample JSON invalid counts outside this PR scope.
29+
- Affected manifest cleanup check: passed.
30+
- Active reference check for removed Space Invaders palette/catalog paths: no matches.
31+
- Workspace Manager V2 service validation for Space Invaders game manifest and generated toolState context: passed.
32+
- Focused Playwright coverage for object-vector/collision enablement: `1 passed`.
33+
- `npm run test:workspace-v2`: `72 passed`.
34+
- `git diff --check`: passed.
35+
36+
Full samples smoke test was not run, per request.

games/SpaceDuel/game.manifest.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"launch": {
1111
"directPath": "/games/SpaceDuel/index.html"
1212
},
13+
"screen": {
14+
"width": 960,
15+
"height": 720
16+
},
1317
"tools": {
1418
"palette-manager-v2": {
1519
"$schema": "tools/schemas/tools/palette-manager-v2.schema.json",

games/SpaceInvaders/assets/palettes/space-invaders-classic.palette.json

Lines changed: 0 additions & 59 deletions
This file was deleted.

games/SpaceInvaders/assets/workspace.asset-catalog.json

Lines changed: 0 additions & 57 deletions
This file was deleted.

0 commit comments

Comments
 (0)