Skip to content

Commit 5c996d5

Browse files
author
DavidQ
committed
Complete the remaining core Phase 16 sample track for 1605 through 1608 with targeted validation<BUILD_PR_LEVEL_17_8_SAMPLES_1605_TO_1608_CORE_TRACK>
1 parent a0ce44a commit 5c996d5

20 files changed

Lines changed: 1321 additions & 54 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,53 @@ MODEL: GPT-5.3-codex
22
REASONING: high
33

44
COMMAND:
5-
Create BUILD_PR_LEVEL_17_7_3D_VISIBILITY_CALIBRATION_AND_SANITY.
5+
Create BUILD_PR_LEVEL_17_8_SAMPLES_1605_TO_1608_CORE_TRACK.
66

77
Goal:
8-
Fix the current Phase 16 visibility defect where sample 1602 and sample 1604 load and accept input but do not show usable 3D output.
8+
Complete the remaining core Phase 16 / 3D sample track by implementing samples 1605 through 1608 as one testable package.
9+
10+
Context:
11+
- 1601 is visible
12+
- 1602 and 1604 visibility defects were fixed
13+
- targeted Phase 16 visibility sanity passes
14+
- targeted smoke for 1601-1604 passes
915

1016
Constraints:
1117
- one PR purpose only
1218
- smallest scoped valid change
1319
- no repo-wide scanning
1420
- no zip output from Codex
15-
- do not modify start_of_day
1621
- keep 2D and networking untouched
17-
- preserve samples/index.html unless a real correction is required
22+
- do not modify start_of_day
23+
- preserve prior Phase 16 samples unless a shared safe improvement is required
1824

1925
Implement:
20-
1. Inspect samples/phase-16/shared/threeDWireframe.js for camera-space forward, yaw/pitch sign, near-plane, and projection assumptions.
21-
2. Calibrate sample camera placement/framing in:
22-
- samples/phase-16/1602/MazeRunner3DScene.js
23-
- samples/phase-16/1604/Platformer3DBasicsScene.js
24-
3. Apply the smallest shared-path correction needed so 1601, 1602, and 1604 all render visible wireframe geometry.
25-
4. Add a minimal visibility sanity check for the affected Phase 16 samples if a lightweight existing test location already fits. Keep it surgical.
26+
1. Add and wire up:
27+
- samples/phase-16/1605
28+
- samples/phase-16/1606
29+
- samples/phase-16/1607
30+
- samples/phase-16/1608
31+
2. Reuse existing shared Phase 16 helpers where stable.
32+
3. Ensure each sample has visible 3D output on first load and one clear teaching purpose:
33+
- 1605 driving sandbox
34+
- 1606 physics playground
35+
- 1607 space shooter
36+
- 1608 dungeon crawler
37+
4. Update samples/index.html so these are live entries when implemented.
38+
5. Extend the existing targeted Phase 16 runtime sanity only if needed and keep it surgical.
2639

2740
Validation:
28-
- verify 1601 visible on load
29-
- verify 1602 visible on load
30-
- verify 1604 visible on load
31-
- verify movement/input still works for 1602 and 1604
32-
- run targeted smoke only
33-
- write/update docs/dev/reports/validation_checklist.txt
34-
- write/update docs/dev/reports/change_summary.txt
41+
- verify 1605 visible on load
42+
- verify 1606 visible on load
43+
- verify 1607 visible on load
44+
- verify 1608 visible on load
45+
- verify intended controls function for each sample
46+
- run targeted smoke for 1601-1608
47+
- confirm no 2D regression in targeted checks
48+
- confirm no networking regression in targeted checks
49+
- update:
50+
- docs/dev/reports/change_summary.txt
51+
- docs/dev/reports/validation_checklist.txt
3552

3653
Output:
3754
- modify repo files directly

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Fix Phase 16 visibility calibration for samples 1602 and 1604 with shared 3D projection sanity<BUILD_PR_LEVEL_17_7_3D_VISIBILITY_CALIBRATION_AND_SANITY>
1+
Complete the remaining core Phase 16 sample track for 1605 through 1608 with targeted validation<BUILD_PR_LEVEL_17_8_SAMPLES_1605_TO_1608_CORE_TRACK>
Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
1-
Observed issue:
2-
- 1602 and 1604 load
3-
- canvas paints
4-
- input appears live
5-
- visible 3D geometry missing
6-
7-
Applied fix (minimal scope):
8-
- corrected pitch sign in 3D camera-space projection:
9-
- samples/phase-16/shared/threeDWireframe.js
10-
- samples/phase-16/1601/CubeExplorer3DScene.js (local duplicated projection path)
11-
- calibrated initial camera framing for affected samples:
12-
- samples/phase-16/1602/MazeRunner3DScene.js (camera height/depth/pitch)
13-
- samples/phase-16/1604/Platformer3DBasicsScene.js (camera yaw fallback alignment)
14-
- added surgical runtime sanity check:
15-
- tests/runtime/Phase16VisibilitySanity.test.mjs
1+
Applied scope:
2+
- implemented Phase 16 core track samples 1605 through 1608:
3+
- 1605: 3D driving sandbox (throttle/steer + AABB track blockers)
4+
- 1606: 3D physics playground (gravity, bounce, impulses, damping)
5+
- 1607: 3D space shooter (lane movement, projectiles, asteroid hits)
6+
- 1608: 3D dungeon crawler (maze traversal, relic gate unlock, exit)
7+
- wired launcher entries in samples/index.html from planned to live for 1605-1608
8+
- reused shared 3D wireframe helper path for rendering consistency
9+
- extended Phase16VisibilitySanity.test.mjs surgically to include 1605-1608:
10+
- visibility on load checks
11+
- one control/function assertion per new sample
1612

1713
Validation outcome:
1814
- PASS Phase16VisibilitySanity
19-
- PASS launch smoke (samples 1601-1604): PASS=4 FAIL=0
20-
- visibility restored for 1602 and 1604 while preserving 1601
21-
- input/movement confirmed for 1602 and 1604 via sanity test
15+
- PASS launch smoke (samples 1601-1608): PASS=8 FAIL=0
16+
- PASS EngineTiming (targeted 2D regression check)
17+
- PASS MultiplayerNetworkingStack (targeted networking regression check)
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Launch Smoke Report
22

3-
Generated: 2026-04-15T20:05:10.331Z
3+
Generated: 2026-04-15T20:18:43.439Z
44

5-
Filters: games=false, samples=true, tools=false, sampleRange=1601-1604
5+
Filters: games=false, samples=true, tools=false, sampleRange=1601-1608
66

77
| Status | Type | Label | Path | Notes | Steps |
88
| --- | --- | --- | --- | --- | --- |
99
| PASS | sample | 1601 | samples\phase-16\1601\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
1010
| PASS | sample | 1602 | samples\phase-16\1602\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
1111
| PASS | sample | 1603 | samples\phase-16\1603\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
12-
| PASS | sample | 1604 | samples\phase-16\1604\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
12+
| PASS | sample | 1604 | samples\phase-16\1604\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
13+
| PASS | sample | 1605 | samples\phase-16\1605\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
14+
| PASS | sample | 1606 | samples\phase-16\1606\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
15+
| PASS | sample | 1607 | samples\phase-16\1607\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
16+
| PASS | sample | 1608 | samples\phase-16\1608\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
Phase 16 targeted visibility checklist
2-
[x] 1601 renders visible wireframe geometry on load
3-
[x] 1602 renders visible wireframe geometry on load
4-
[x] 1604 renders visible wireframe geometry on load
5-
[x] 1602 movement/input still functions
6-
[x] 1604 movement/input still functions
7-
[x] no 2D regression observed in targeted smoke
8-
[x] no networking regression observed in targeted smoke
1+
Phase 16 core track checklist
2+
[x] 1605 visible on load
3+
[x] 1606 visible on load
4+
[x] 1607 visible on load
5+
[x] 1608 visible on load
6+
[x] 1605 controls function
7+
[x] 1606 controls function
8+
[x] 1607 controls function
9+
[x] 1608 controls function
10+
[x] targeted smoke 1601-1608 passes
11+
[x] no 2D regression observed in targeted checks
12+
[x] no networking regression observed in targeted checks
913

1014
Execution evidence:
11-
- PASS Phase16VisibilitySanity (wireframe visibility + movement/jump input checks for 1601/1602/1604)
12-
- Launch smoke targeted run: --samples --sample-range=1601-1604
13-
- Launch smoke result: PASS=4 FAIL=0 TOTAL=4
15+
- PASS Phase16VisibilitySanity
16+
- Launch smoke targeted run: --samples --sample-range=1601-1608
17+
- Launch smoke result: PASS=8 FAIL=0 TOTAL=8
18+
- PASS EngineTiming (2D baseline targeted check)
19+
- PASS MultiplayerNetworkingStack (network baseline targeted check)
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# BUILD PR: 17.8 Samples 1605 To 1608 Core Track
2+
3+
## Purpose
4+
Complete the remaining core Phase 16 / 3D sample track in one testable package now that 1601 through 1604 are visible, loading, and validated.
5+
6+
## Baseline Entering This PR
7+
- 1601 visible and preserved
8+
- 1602 visible after camera/projection calibration
9+
- 1603 available in current progression lane
10+
- 1604 visible after camera/framing calibration
11+
- targeted Phase 16 visibility sanity passes
12+
- targeted launch smoke for 1601-1604 passes
13+
14+
## Scope
15+
Implement and register the remaining core sample track:
16+
- 1605 - 3D Driving Sandbox
17+
- 1606 - 3D Physics Playground
18+
- 1607 - 3D Space Shooter
19+
- 1608 - 3D Dungeon Crawler
20+
21+
## Delivery Rules
22+
- one PR purpose only
23+
- smallest scoped valid change
24+
- keep the package testable
25+
- no commit-only work
26+
- no repo-wide scanning
27+
- no zip output from Codex
28+
29+
## Required Outcomes
30+
- each sample loads from samples/index.html
31+
- each sample has visible 3D output on first load
32+
- each sample demonstrates one clear teaching purpose
33+
- shared Phase 16 helpers are reused where stable
34+
- 1601-1604 remain intact
35+
36+
## Sample Intent
37+
### 1605 - 3D Driving Sandbox
38+
- vehicle-style forward motion and turning
39+
- camera framing appropriate for driving
40+
- bounded arena or simple course
41+
42+
### 1606 - 3D Physics Playground
43+
- visible interaction demonstrating gravity / bounce / motion response
44+
- simple, readable geometry
45+
- not a full engine rewrite
46+
47+
### 1607 - 3D Space Shooter
48+
- forward movement / aiming / projectile loop
49+
- simple target or obstacle field
50+
- clear visible feedback
51+
52+
### 1608 - 3D Dungeon Crawler
53+
- room / corridor traversal
54+
- simple collision-aware exploration
55+
- camera and movement aligned to dungeon readability
56+
57+
## Acceptance Criteria
58+
- [ ] 1605 loads and renders visible 3D content
59+
- [ ] 1606 loads and renders visible 3D content
60+
- [ ] 1607 loads and renders visible 3D content
61+
- [ ] 1608 loads and renders visible 3D content
62+
- [ ] each sample responds to its intended controls
63+
- [ ] samples/index.html is updated correctly for any newly live entries
64+
- [ ] Phase 16 visibility sanity still passes for previously working samples
65+
- [ ] targeted smoke for 1601-1608 passes
66+
- [ ] no 2D regression introduced
67+
- [ ] no networking regression introduced
68+
69+
## Validation
70+
- extend targeted Phase 16 sanity as needed without broadening scope
71+
- run targeted launch smoke for 1601-1608
72+
- update docs/dev/reports/change_summary.txt
73+
- update docs/dev/reports/validation_checklist.txt

samples/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -477,10 +477,10 @@ <h2>Phase 16 - 3D Capability Track</h2>
477477
<a class="live" href="./phase-16/1602/index.html" title="Navigate a compact 3D maze with collision-aware movement." data-tags="camera3d, maze3d, movement3d, physics3d, scene, themetokens" data-primary="maze-runner">Sample 1602 - 3D Maze Runner</a>
478478
<a class="live" href="./phase-16/1603/index.html" title="Walk through a first-person 3D lane using camera-relative movement." data-tags="camera3d, firstperson, movement3d, physics3d, scene, themetokens" data-primary="first-person">Sample 1603 - First Person Walkthrough</a>
479479
<a class="live" href="./phase-16/1604/index.html" title="Run and jump across a 3D platform lane with gravity and AABB collisions." data-tags="camera3d, gravity, jump, movement3d, physics3d, platformer3d, scene, themetokens" data-primary="platformer-3d">Sample 1604 - 3D Platformer</a>
480-
<a class="planned" href="./index.html#phase-16-sample-1605">Sample 1605 - 3D Driving Sandbox</a>
481-
<a class="planned" href="./index.html#phase-16-sample-1606">Sample 1606 - 3D Physics Playground</a>
482-
<a class="planned" href="./index.html#phase-16-sample-1607">Sample 1607 - 3D Space Shooter</a>
483-
<a class="planned" href="./index.html#phase-16-sample-1608">Sample 1608 - 3D Dungeon Crawler</a>
480+
<a class="live" href="./phase-16/1605/index.html" title="Drive a compact 3D sandbox track with acceleration, steering, and collision blockers." data-tags="camera3d, driving3d, movement3d, physics3d, scene, themetokens" data-primary="driving-sandbox">Sample 1605 - 3D Driving Sandbox</a>
481+
<a class="live" href="./phase-16/1606/index.html" title="Experiment with gravity, bounce, and impulse controls in a constrained 3D arena." data-tags="camera3d, gravity, impulse, physics3d, scene, themetokens" data-primary="physics-playground">Sample 1606 - 3D Physics Playground</a>
482+
<a class="live" href="./phase-16/1607/index.html" title="Pilot and fire in a minimal 3D lane shooter against incoming asteroids." data-tags="camera3d, movement3d, shooter3d, collision3d, scene, themetokens" data-primary="space-shooter">Sample 1607 - 3D Space Shooter</a>
483+
<a class="live" href="./phase-16/1608/index.html" title="Crawl a compact 3D dungeon, collect a relic, and unlock the exit route." data-tags="camera3d, crawler3d, maze3d, movement3d, physics3d, scene, themetokens" data-primary="dungeon-crawler">Sample 1608 - 3D Dungeon Crawler</a>
484484
</div>
485485
</section>
486486
</div>

0 commit comments

Comments
 (0)