Skip to content

Commit 0242ca3

Browse files
author
DavidQ
committed
Renumber rendering samples 1623-1629 to 1701-1707 and align index
1 parent cfde1f4 commit 0242ca3

28 files changed

Lines changed: 120 additions & 52 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
MODEL: GPT-5.3-codex
22
REASONING: high
3-
COMMAND: Implement 8 rendering samples (2 per category: DOOM, Wolf, Unreal, Minecraft), move samples 1623-1625 into Phase 17 grouping, update samples/index.html, package to <project folder>/tmp/BUILD_PR_LEVEL_17_34_RENDERING_TECHNIQUE_EXPANSION.zip
3+
COMMAND: Renumber samples 1623-1629 to 1701-1707, update folders and samples/index.html references, ensure no broken links, package to <project folder>/tmp/BUILD_PR_LEVEL_17_35_SAMPLE_RENUMBER_AND_INDEX_ALIGNMENT.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Expand Level 17 rendering samples to 2 per technique (DOOM, Wolf, Unreal, Minecraft)
1+
Renumber rendering samples 1623-1629 to 1701-1707 and align index
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

2-
- [ ] 8 samples load
3-
- [ ] each technique visually distinct
4-
- [ ] index updated
2+
- [ ] all 1701-1707 samples load
3+
- [ ] index updated correctly
4+
- [ ] no broken paths
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# BUILD_PR_LEVEL_17_35_SAMPLE_RENUMBER_AND_INDEX_ALIGNMENT
2+
3+
Implement:
4+
5+
1. Rename sample folders:
6+
- samples/1623-* → samples/1701-*
7+
- samples/1624-* → samples/1702-*
8+
- samples/1625-* → samples/1703-*
9+
- samples/1626-* → samples/1704-*
10+
- samples/1627-* → samples/1705-*
11+
- samples/1628-* → samples/1706-*
12+
- samples/1629-* → samples/1707-*
13+
14+
2. Update samples/index.html:
15+
- replace all references
16+
- ensure ordering is correct
17+
18+
3. Update any internal references if present
19+
20+
Constraints:
21+
- no code changes
22+
- pure renumber + alignment
23+
24+
Validation:
25+
- all samples load from index
26+
- no broken links
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# PLAN_PR_LEVEL_17_35_SAMPLE_RENUMBER_AND_INDEX_ALIGNMENT
2+
3+
Purpose:
4+
Renumber rendering technique samples from 1623–1629 to 1701–1707 for proper Phase 17 grouping.
5+
6+
Rationale:
7+
- Keep Level 17 samples cleanly grouped
8+
- Avoid mixing legacy numbering with new rendering track
9+
- Improve clarity and navigation
10+
11+
Scope:
12+
- renumber samples:
13+
1623 → 1701
14+
1624 → 1702
15+
1625 → 1703
16+
1626 → 1704
17+
1627 → 1705
18+
1628 → 1706
19+
1629 → 1707
20+
21+
- update:
22+
- folder names
23+
- sample metadata
24+
- samples/index.html
25+
26+
Out of Scope:
27+
- implementation logic changes

samples/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
padding: 0.75rem;
4343
border: 1px solid #2f3f5b;
4444
border-radius: 8px;
45-
background: #0e1624;
45+
background: #0e1702;
4646
}
4747
.samples-favorites h2 {
4848
margin: 0 0 0.5rem;
@@ -114,7 +114,7 @@
114114
min-width: 200px;
115115
border: 1px solid #2e4363;
116116
border-radius: 8px;
117-
background: #0e1626;
117+
background: #0e1704;
118118
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
119119
pointer-events: none;
120120
opacity: 0;
@@ -501,13 +501,13 @@ <h2>Phase 16 - 3D Capability Track</h2>
501501
<h2>Phase 17 - Rendering Technique Expansion</h2>
502502
<p>Technique-focused rendering demos across DOOM, Wolfenstein, Unreal-style visuals, and Minecraft-style voxel worlds.</p>
503503
<div class="grid">
504-
<a class="live" href="./phase-17/1623/index.html" title="DOOM-style raycast corridor rendering with depth-sorted billboard sprites." data-tags="camera3d, doom-style, raycast, sprites, filled-render, scene, themetokens" data-primary="doom-raycast-sprites">Sample 1623 - DOOM Raycast + Sprites</a>
505-
<a class="live" href="./phase-17/1624/index.html" title="Wolfenstein-style pure grid raycast with flat filled wall columns." data-tags="camera3d, wolf-style, raycast, grid, filled-render, scene, themetokens" data-primary="wolf-grid-raycast">Sample 1624 - Wolf Grid Raycast</a>
506-
<a class="live" href="./phase-17/1625/index.html" title="Optimized DDA-based Wolf-style raycast traversal and filled corridor output." data-tags="camera3d, wolf-style, raycast, dda, optimization, filled-render, scene, themetokens" data-primary="wolf-optimized-raycast">Sample 1625 - Wolf Optimized Raycast</a>
507-
<a class="live" href="./phase-17/1626/index.html" title="Unreal-style textured surfaces with lightweight dynamic lighting cues." data-tags="camera3d, unreal-style, textures, lighting, image-backed, scene, themetokens" data-primary="unreal-texture-lighting">Sample 1626 - Unreal Texture + Lighting</a>
508-
<a class="live" href="./phase-17/1627/index.html" title="Unreal-style skinned character presentation with image-backed animation frames." data-tags="camera3d, unreal-style, image-skinned, animation, character, scene, themetokens" data-primary="unreal-skinned-mesh">Sample 1627 - Unreal Skinned Mesh Demo</a>
509-
<a class="live" href="./phase-17/1628/index.html" title="Minecraft-style filled voxel terrain blocks with visible height variation." data-tags="camera3d, minecraft-style, voxel, terrain, filled-render, scene, themetokens" data-primary="minecraft-voxel-terrain">Sample 1628 - Minecraft Voxel Terrain</a>
510-
<a class="live" href="./phase-17/1629/index.html" title="Minecraft-style voxel chunk-window streaming around a movable camera anchor." data-tags="camera3d, minecraft-style, voxel, chunk-streaming, filled-render, scene, themetokens" data-primary="minecraft-chunk-streaming">Sample 1629 - Minecraft Chunk Streaming</a>
504+
<a class="live" href="./phase-17/1701/index.html" title="DOOM-style raycast corridor rendering with depth-sorted billboard sprites." data-tags="camera3d, doom-style, raycast, sprites, filled-render, scene, themetokens" data-primary="doom-raycast-sprites">Sample 1701 - DOOM Raycast + Sprites</a>
505+
<a class="live" href="./phase-17/1702/index.html" title="Wolfenstein-style pure grid raycast with flat filled wall columns." data-tags="camera3d, wolf-style, raycast, grid, filled-render, scene, themetokens" data-primary="wolf-grid-raycast">Sample 1702 - Wolf Grid Raycast</a>
506+
<a class="live" href="./phase-17/1703/index.html" title="Optimized DDA-based Wolf-style raycast traversal and filled corridor output." data-tags="camera3d, wolf-style, raycast, dda, optimization, filled-render, scene, themetokens" data-primary="wolf-optimized-raycast">Sample 1703 - Wolf Optimized Raycast</a>
507+
<a class="live" href="./phase-17/1704/index.html" title="Unreal-style textured surfaces with lightweight dynamic lighting cues." data-tags="camera3d, unreal-style, textures, lighting, image-backed, scene, themetokens" data-primary="unreal-texture-lighting">Sample 1704 - Unreal Texture + Lighting</a>
508+
<a class="live" href="./phase-17/1705/index.html" title="Unreal-style skinned character presentation with image-backed animation frames." data-tags="camera3d, unreal-style, image-skinned, animation, character, scene, themetokens" data-primary="unreal-skinned-mesh">Sample 1705 - Unreal Skinned Mesh Demo</a>
509+
<a class="live" href="./phase-17/1706/index.html" title="Minecraft-style filled voxel terrain blocks with visible height variation." data-tags="camera3d, minecraft-style, voxel, terrain, filled-render, scene, themetokens" data-primary="minecraft-voxel-terrain">Sample 1706 - Minecraft Voxel Terrain</a>
510+
<a class="live" href="./phase-17/1707/index.html" title="Minecraft-style voxel chunk-window streaming around a movable camera anchor." data-tags="camera3d, minecraft-style, voxel, chunk-streaming, filled-render, scene, themetokens" data-primary="minecraft-chunk-streaming">Sample 1707 - Minecraft Chunk Streaming</a>
511511
</div>
512512
</section>
513513
</div>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ export default class DoomRaycastSpritesScene extends Scene {
175175

176176
render(renderer) {
177177
drawFrame(renderer, theme, [
178-
'Sample 1623 - DOOM Raycast + Sprites',
178+
'Sample 1701 - DOOM Raycast + Sprites',
179179
'DOOM-style corridor raycasting with billboard sprites composited into depth-sorted space.',
180180
'Move: W/S | Turn: A/D',
181181
]);
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
<html lang="en">
99
<head>
1010
<meta charset="UTF-8" />
11-
<title>Sample 1623 - DOOM Raycast + Sprites</title>
11+
<title>Sample 1701 - DOOM Raycast + Sprites</title>
1212
<link rel="stylesheet" href="../../../src/engine/ui/baseLayout.css" />
1313
</head>
1414
<body>
1515
<main>
16-
<h1>Sample 1623 - DOOM Raycast + Sprites</h1>
16+
<h1>Sample 1701 - DOOM Raycast + Sprites</h1>
1717
<p>Demonstrates DOOM-style raycast walls with depth-sorted billboard sprites rendered into the corridor.</p>
1818
<canvas id="game" width="960" height="540"></canvas>
1919

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export default class WolfGridRaycastScene extends Scene {
2929
'1000000000001',
3030
'1111111111111',
3131
];
32-
this.player = { x: 2.1, y: 2.1, angle: 0.2, moveSpeed: 2.6, turnSpeed: 2.0 };
32+
this.player = { x: 1.5, y: 1.5, angle: 0.2, moveSpeed: 2.6, turnSpeed: 2.0 };
3333
this.fov = Math.PI / 3.2;
3434
this.maxDepth = 16;
3535
this.rayStep = 0.02;
@@ -76,7 +76,16 @@ export default class WolfGridRaycastScene extends Scene {
7676
}
7777

7878
drawMiniMap(renderer) {
79-
const panel = { x: 52, y: 44, width: 228, height: 108 };
79+
const canvas = renderer.getCanvasSize?.() || { width: 960, height: 540 };
80+
const margin = 24;
81+
const panelWidth = 228;
82+
const panelHeight = 108;
83+
const panel = {
84+
x: Math.max(margin, canvas.width - panelWidth - margin),
85+
y: Math.max(margin, canvas.height - panelHeight - margin),
86+
width: panelWidth,
87+
height: panelHeight,
88+
};
8089
const rows = this.map.length;
8190
const cols = this.map[0].length;
8291
const cellW = panel.width / cols;
@@ -112,7 +121,7 @@ export default class WolfGridRaycastScene extends Scene {
112121

113122
render(renderer) {
114123
drawFrame(renderer, theme, [
115-
'Sample 1624 - Wolf Grid Raycast',
124+
'Sample 1702 - Wolf Grid Raycast',
116125
'Pure grid raycasting and flat filled walls with classic corridor readability.',
117126
'Move: W/S | Turn: A/D',
118127
]);

0 commit comments

Comments
 (0)