Skip to content

Commit 0bf0a54

Browse files
author
DavidQ
committed
Retrieve original Asteroids DVG object drawing
1 parent de6e1d2 commit 0bf0a54

8 files changed

Lines changed: 337 additions & 276 deletions
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# PR_26139_001 Asteroids DVG Manifest Geometry
2+
3+
## Summary
4+
- Retrieved original Asteroids DVG object drawing instructions from public source/disassembly references.
5+
- Converted the relative DVG vector instructions into absolute Object Vector Studio V2 `objects[].shapes[]` geometry.
6+
- Updated only `games/Asteroids/game.manifest.json` target object `shapes[]` data for bullet, ship, asteroids, and UFOs.
7+
- Left runtime code, object IDs, tags, states, styles, object origins, schemas, and fallback behavior unchanged.
8+
9+
## Public Source References
10+
- Computer Archeology Asteroids Vector ROM listing: `https://www.computerarcheology.com/Arcade/Asteroids/VectorROM.html`
11+
- Computer Archeology Asteroids DVG notes: `https://www.computerarcheology.com/Arcade/Asteroids/DVG.html`
12+
- 6502bench Asteroids disassembly: `https://www.6502disassembly.com/va-asteroids/Asteroids.html`
13+
- Historical Atari source mirror: `https://github.com/historicalsource/asteroids`
14+
- Historical source file used for vector object instructions: `https://raw.githubusercontent.com/historicalsource/asteroids/main/A35127.XX`
15+
- Historical source file used for bullet/size runtime confirmation: `https://raw.githubusercontent.com/historicalsource/asteroids/main/A35131.1A`
16+
17+
## Conversion Notes
18+
- Converted `VCTR x,y,brightness` instructions by accumulating each relative vector delta into absolute Object Vector Studio V2 point coordinates.
19+
- Preserved DVG beam-off moves as geometry breaks. The saucer body is therefore one polyline plus one separate line shape.
20+
- Preserved existing ship flame flicker state behavior by keeping the existing flame line shape slots and updating their coordinates to the DVG flame vectors.
21+
- Represented the original torpedo `VGDOT` bullet draw as a small square polygon centered on the existing bullet origin because Object Vector Studio V2 manifest geometry is shape-based.
22+
- The original source provides reusable rock patterns plus runtime size scaling. Current manifest runtime uses size-specific object IDs, so `ROCK1` was converted once and applied at full, half, and quarter scale to large, medium, and small asteroid objects.
23+
24+
## Objects Updated
25+
- `object.asteroids.bullet`
26+
- `object.asteroids.ship`
27+
- `object.asteroids.large-asteroid`
28+
- `object.asteroids.medium-asteroid`
29+
- `object.asteroids.small-asteroid`
30+
- `object.asteroids.large-ufo`
31+
- `object.asteroids.small-ufo`
32+
33+
## Scope Guard
34+
- PASS: script comparison against `HEAD` confirmed `games/Asteroids/game.manifest.json` changes are limited to the seven target `objects[].shapes[]` arrays.
35+
- PASS: no runtime code changes were made for this task.
36+
37+
## Validation
38+
- PASS: targeted Asteroids node validation:
39+
- `tests/games/AsteroidsValidation.test.mjs`
40+
- `tests/games/AsteroidsAssetReferenceAdoption.test.mjs`
41+
- `tests/games/AsteroidsPlatformDemo.test.mjs`
42+
- `tests/games/AsteroidsPresentation.test.mjs`
43+
- `tests/games/AsteroidsVectorTransforms.test.mjs`
44+
- PASS: targeted Workspace Manager V2/Asteroids Playwright validation:
45+
- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --workers=1 --reporter=list -g "loads Object Vector Studio V2 runtime assets into Asteroids gameplay rendering"`
46+
- PASS: targeted Workspace Manager V2 Small UFO shape-list validation:
47+
- `npx playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --workers=1 --reporter=list -g "uses header lifecycle controls and launches tools from fixed Workspace Manager V2 tiles"`
48+
- FAIL: full Workspace Manager V2 gate:
49+
- `npm run test:workspace-v2`
50+
- Result after fixing the Small UFO two-shape expectation: 54 passed, 2 failed.
51+
- Remaining failures are outside this DVG geometry delta:
52+
- `validates optional Text to Speech V2 schema contract through Workspace Manager V2 schema` expects Asteroids to include `text2speech-V2`.
53+
- `tracks Object Vector Studio V2 dirty state through persisted edits and save outcomes` expects invalid object-vector session data to block manifest save.
54+
- PASS: `git diff --check`
55+
- Playwright impacted: Yes. This changes manifest geometry consumed by Asteroids runtime rendering and validates the Workspace Manager V2 launch/runtime object rendering path.
56+
57+
## Manual Validation
58+
- Open `/games/Asteroids/index.html`.
59+
- Expected: ship, bullet, asteroid, and UFO objects render from Object Vector Studio V2 manifest geometry.
60+
- Fire bullets at several ship angles. Expected: bullets keep manifest-authored shape/style while runtime rotation still follows the shot angle.

0 commit comments

Comments
 (0)