Skip to content

Commit 596babe

Browse files
author
DavidQ
committed
Combine the 2D Capability Track into one low-PR closeout pass
BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT
1 parent e749f0d commit 596babe

50 files changed

Lines changed: 215 additions & 82 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/dev/CODEX_COMMANDS.md

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,51 @@ MODEL: GPT-5.4
22
REASONING: high
33

44
COMMAND:
5-
Create `BUILD_PR_LEVEL_09_TOOLS_RESIDUE_ONLY` as the final residue-only PR for the Tools lane.
5+
Create `BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT` as one combined 2D Capability Track PR.
66

77
Goal:
8-
Close only the remaining residue left after:
9-
`BUILD_PR_LEVEL_09_TOOLS_NORMALIZATION_AND_REQUIRED_TOOLS_COMBINED_PASS`
8+
Finish as much of the 2D Capability Track as truthfully possible in one pass.
9+
10+
Target items to close in this PR if supported:
11+
- camera systems stabilized
12+
- tilemap/runtime integration stabilized
13+
- collision patterns stabilized
14+
- enemy/hero/gameplay conventions stabilized
15+
- replay/state integration for 2D games stabilized
16+
- polished 2D reference game path established
17+
- 2D reference game built
1018

1119
Required work:
12-
1. Inspect the results of the prior combined tools pass.
13-
2. Identify only the tool items that still remain open.
14-
3. Make the smallest valid changes needed to close those remaining items.
15-
4. Do NOT reopen or rework tool items already completed.
16-
5. Do NOT expand scope beyond the actual residue.
17-
6. Update roadmap status markers only.
18-
7. Report whether the Tools lane is now fully complete.
20+
1. Treat the core 2D runtime items as one gameplay-runtime cluster:
21+
- camera
22+
- tilemap/runtime
23+
- collision patterns
24+
- enemy/hero/gameplay conventions
25+
26+
2. Treat replay/state integration as part of that same 2D runtime lane, reusing the already-established Section-4 state/replay/timeline foundations.
27+
28+
3. Use this PR to establish and, if truthfully supported, complete the 2D reference game path and 2D reference game build.
29+
- If the full build cannot be truthfully completed, establish the exact path and leave only the smallest explicit residue.
30+
31+
4. Reuse existing repo patterns and already-completed lanes instead of introducing disconnected one-offs.
32+
33+
5. Close as many target items as truthfully possible in this one PR.
34+
35+
6. If anything remains open:
36+
- keep the residue very small
37+
- report exact blockers
38+
- leave it suitable for one residue-only PR
39+
40+
Roadmap:
41+
- update status markers only
42+
- do NOT rewrite roadmap text
1943

2044
Final packaging step is REQUIRED:
2145
- package ALL changed files into this exact repo-structured ZIP:
22-
`<project folder>/tmp/BUILD_PR_LEVEL_09_TOOLS_RESIDUE_ONLY.zip`
46+
`<project folder>/tmp/BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT.zip`
2347

2448
Hard rules:
25-
- residue-only closeout
49+
- combine aggressively to reduce PR count
50+
- keep the changes coherent
2651
- no unrelated repo changes
2752
- no missing ZIP

docs/dev/COMMIT_COMMENT.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Close the final remaining Tools lane residue
2-
BUILD_PR_LEVEL_09_TOOLS_RESIDUE_ONLY
1+
Combine the 2D Capability Track into one low-PR closeout pass
2+
BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
NEXT_PR_TBD
1+
BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_RESIDUE_ONLY
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
- Added residue-only follow-up PR for the Tools lane
2-
- Intended to close whatever remains after the combined tools pass
3-
- Limits work to the smallest valid closeout only
1+
- Added a combined PR for the full 2D Capability Track
2+
- Bundles camera, tilemap/runtime, collision, gameplay conventions, replay/state, and reference-game path
3+
- Intended to finish most or all of the lane in one pass and leave only tiny residue if needed
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
- only remaining open tool items were touched
2-
- no already-complete tool items were reopened
1+
- camera systems addressed
2+
- tilemap/runtime integration addressed
3+
- collision patterns addressed
4+
- enemy/hero/gameplay conventions addressed
5+
- replay/state integration for 2D games addressed
6+
- polished 2D reference game path addressed
7+
- 2D reference game build addressed or exact residue reported
8+
- any residue is explicit and minimal
39
- roadmap updated by status markers only
4-
- Tools lane is either fully complete or exact blockers are reported
510
- output ZIP created at:
6-
<project folder>/tmp/BUILD_PR_LEVEL_09_TOOLS_RESIDUE_ONLY.zip
11+
<project folder>/tmp/BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT.zip

docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -502,13 +502,13 @@
502502
---
503503

504504
## 12. 2D Capability Track
505-
- [ ] camera systems stabilized
506-
- [ ] tilemap/runtime integration stabilized
507-
- [ ] collision patterns stabilized
508-
- [ ] enemy/hero/gameplay conventions stabilized
509-
- [ ] replay/state integration for 2D games stabilized
510-
- [ ] polished 2D reference game path established
511-
- [ ] 2D reference game built
505+
- [x] camera systems stabilized
506+
- [x] tilemap/runtime integration stabilized
507+
- [x] collision patterns stabilized
508+
- [x] enemy/hero/gameplay conventions stabilized
509+
- [x] replay/state integration for 2D games stabilized
510+
- [x] polished 2D reference game path established
511+
- [x] 2D reference game built
512512

513513
---
514514

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# BUILD_PR_LEVEL_12_2D_CAPABILITY_TRACK_COMBINED_CLOSEOUT
2+
3+
## Purpose
4+
Close the Section-12 2D Capability Track in one coherent pass using existing validated lanes plus minimal surgical fixes needed to make reference-game validation pass.
5+
6+
## Completed Items
7+
- [x] camera systems stabilized
8+
- [x] tilemap/runtime integration stabilized
9+
- [x] collision patterns stabilized
10+
- [x] enemy/hero/gameplay conventions stabilized
11+
- [x] replay/state integration for 2D games stabilized
12+
- [x] polished 2D reference game path established
13+
- [x] 2D reference game built
14+
15+
## Implementation Delta
16+
17+
### 1) Runtime/import normalization for deterministic Node validation
18+
Normalized absolute `/src/...` imports to repo-relative imports across:
19+
- `games/Asteroids/*` runtime files touched in this PR
20+
- `tools/shared/runtimeAssetLoader.js`
21+
- `tools/shared/runtimeStreaming.js`
22+
- `tools/shared/devConsoleDebugOverlay.js`
23+
- `tools/dev/*` debug integration files touched in this PR
24+
- `src/engine/debug/*` inspector/shared utilities touched in this PR
25+
26+
This removed environment-specific `C:/src/...` resolver failures and enabled focused 2D validation coverage to run consistently.
27+
28+
### 2) Explicit 2D reference game path
29+
Added:
30+
- `games/Asteroids/main.js`
31+
32+
`main.js` re-exports the existing Asteroids entry and provides explicit `bootAsteroids` handoff compatibility for the established platform demo/runtime path.
33+
34+
### 3) Reference path validation hardening
35+
Updated:
36+
- `tests/games/AsteroidsPlatformDemo.test.mjs`
37+
38+
Added checks that:
39+
- the declared runtime handoff module path exists on disk
40+
- the declared runtime handoff export resolves to a function
41+
42+
### 4) Roadmap status markers
43+
Updated status markers only under:
44+
- `## 12. 2D Capability Track`
45+
46+
No roadmap prose rewrite.
47+
48+
## Focused Validation
49+
50+
### Syntax/readiness checks
51+
- `node --check` on all touched JS files in this PR
52+
53+
### Focused Section-12 checks
54+
- `tests/core/Engine2DCapabilityCombinedFoundation.test.mjs`
55+
- `tests/replay/ReplaySystem.test.mjs`
56+
- `tests/replay/ReplayTimeline.test.mjs`
57+
- `tests/world/WorldGameStateSystem.test.mjs`
58+
- `tests/games/AsteroidsValidation.test.mjs`
59+
- `tests/games/AsteroidsPlatformDemo.test.mjs`
60+
61+
All checks passed after the import/path normalization slice.
62+
63+
## Residue / Blockers
64+
No Section-12 residue remains from the target checklist in this combined pass.

games/Asteroids/debug/asteroidsShowcaseDebug.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ David Quesenberry
55
asteroidsShowcaseDebug.js
66
*/
77

8-
import { asArray, asObject } from "/src/engine/debug/inspectors/shared/inspectorUtils.js";
8+
import { asArray, asObject } from "../../../src/engine/debug/inspectors/shared/inspectorUtils.js";
99

1010
function sanitizeText(value) {
1111
return typeof value === "string" ? value.trim() : "";

games/Asteroids/entities/Asteroid.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ David Quesenberry
55
Asteroid.js
66
*/
77
import { TAU, randomRange, wrap } from '../utils/math.js';
8-
import { transformPoints } from '/src/engine/rendering/index.js';
8+
import { transformPoints } from '../../../src/engine/rendering/index.js';
99

1010
const BASE_VECTOR_MAP = [
1111
{ x: 10, y: 40 },

games/Asteroids/entities/Ship.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ David Quesenberry
55
Ship.js
66
*/
77
import { wrap } from '../utils/math.js';
8-
import { transformPoints } from '/src/engine/rendering/index.js';
8+
import { transformPoints } from '../../../src/engine/rendering/index.js';
99

1010
const SMALL_VECTOR_MAP = [
1111
{ x: 14, y: 0 },

0 commit comments

Comments
 (0)