Skip to content

Commit 2fc3e57

Browse files
author
DavidQ
committed
Normalize one shared UI chrome cluster for Roadmap 18 Track E.
Flatten duplicated CSS layer usage, enforce shared UI classes for direct consumers, and remove replaced redundant styles without widening scope. BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION
1 parent 25680b2 commit 2fc3e57

21 files changed

Lines changed: 287 additions & 179 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,27 @@
1-
MODEL: GPT-5.3-codex
1+
MODEL: GPT-5.4-codex
22
REASONING: high
33

4-
Execute BUILD_PR_LEVEL_16_1_PHASE16_NETWORK_GATE_COMPLETION.
4+
COMMAND:
5+
Create `BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION` as a single-purpose, one-pass executable PR bundle.
56

6-
Goal:
7-
Close the remaining Section 16 dependency gate item for beginning active phase-16 / 3D execution.
7+
Requirements:
8+
- Advance Roadmap 18 Track E using the smallest testable UI/CSS normalization slice.
9+
- Choose exactly one existing shared UI chrome cluster reused by more than one surface.
10+
- Normalize only that cluster and its direct consumers.
11+
- Flatten duplicated CSS layer usage inside that cluster.
12+
- Enforce shared UI classes for that cluster.
13+
- Remove redundant styles only where the normalized shared class path replaces them.
14+
- No repo-wide CSS sweep.
15+
- No visual redesign.
16+
- No game-specific styling changes.
17+
- No docs reorganization.
18+
- Update `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md` with status-only progression only if execution-backed.
19+
- Produce reports in `docs/dev/reports/` covering scope, touched files, validation, and roadmap status reasoning.
20+
- Package the final repo-structured ZIP to:
21+
`<project folder>/tmp/BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION.zip`
822

9-
Required work:
10-
1. Inspect the current repo state and confirm whether the full real-network capability lane is complete.
11-
2. Gather execution-backed evidence for:
12-
- real transport/session layer
13-
- authoritative live server runtime
14-
- replication/client application
15-
- playable real multiplayer validation
16-
- server hosting + Docker containerization
17-
- promotion/readiness gate
18-
- phase 13 real-network samples included
19-
3. Write a concise closure report to docs/dev/reports.
20-
4. If the evidence supports closure, update:
21-
docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md
22-
in place only, with:
23-
- [ ] -> [x]
24-
5. Do not rewrite, delete, shorten, or paraphrase any roadmap text.
25-
26-
Constraints:
27-
- no broad cleanup
28-
- no unrelated 3D or networking refactors
29-
- no roadmap rewrite
30-
- keep scope limited to this single gate item
31-
32-
Packaging:
33-
- produce final ZIP at:
34-
<project folder>/tmp/BUILD_PR_LEVEL_16_1_PHASE16_NETWORK_GATE_COMPLETION.zip
23+
Validation minimums:
24+
- affected UI surfaces load correctly
25+
- no broken class references in touched files
26+
- no duplicate redundant style block remains in the chosen cluster when replaced by shared class usage
27+
- roadmap edits are status-only

docs/dev/COMMIT_COMMENT.txt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
Close the remaining Phase 16 network dependency gate item.
1+
Normalize one shared UI chrome cluster for Roadmap 18 Track E.
2+
Flatten duplicated CSS layer usage, enforce shared UI classes for direct consumers, and remove replaced redundant styles without widening scope.
23

3-
BUILD_PR_LEVEL_16_1_PHASE16_NETWORK_GATE_COMPLETION
4-
- confirm full real-network capability lane completion with execution-backed evidence
5-
- update the master roadmap in place if closure is supported
6-
- keep scope limited to the single Section 16 dependency gate item
4+
BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION - Roadmap Status Reasoning
2+
3+
## Updated Section
4+
`docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md`
5+
6+
### 18 Track E - CSS & UI Normalization
7+
Status-only transitions applied:
8+
- `flatten CSS layers`: `[ ] -> [.]`
9+
- `enforce shared UI classes`: `[ ] -> [.]`
10+
- `remove redundant styles`: `[ ] -> [.]`
11+
12+
## Execution-Backed Justification
13+
This PR completed a foundation slice (single cluster normalization) rather than full Track E completion:
14+
- flattened duplicate chrome declarations inside the selected overlay sample cluster
15+
- enforced shared UI class usage across all direct consumers in that cluster
16+
- removed redundant declarations only where replaced by shared classes
17+
- validated with launch smoke and targeted structural checks
18+
19+
## Guard Compliance
20+
- no roadmap text rewrite
21+
- no roadmap text deletion
22+
- status markers only
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION - Scope
2+
3+
## PR Purpose
4+
Advance Level 18 Track E with one smallest executable slice by normalizing one shared UI chrome cluster and its direct consumers only.
5+
6+
## Chosen Cluster
7+
Phase 17 overlay sample page chrome:
8+
- `samples/phase-17/shared/overlaySampleLayout.css`
9+
- direct consumers: sample pages `1708` through `1713`
10+
- shared class host: `src/engine/ui/baseLayout.css`
11+
12+
## Why This Cluster
13+
- reused by more than one surface (6 sample surfaces)
14+
- contained and testable
15+
- had duplicated chrome declarations overlapping base layout behaviors (main/canvas/copy/section)
16+
17+
## Out of Scope (enforced)
18+
- no repo-wide CSS sweep
19+
- no visual redesign
20+
- no game-specific styling changes
21+
- no docs reorganization
22+
- no unrelated HTML restructuring
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION - Touched Files
2+
3+
## CSS Cluster
4+
- `src/engine/ui/baseLayout.css`
5+
- `samples/phase-17/shared/overlaySampleLayout.css`
6+
7+
## Direct Consumers
8+
- `samples/phase-17/1708/index.html`
9+
- `samples/phase-17/1709/index.html`
10+
- `samples/phase-17/1710/index.html`
11+
- `samples/phase-17/1711/index.html`
12+
- `samples/phase-17/1712/index.html`
13+
- `samples/phase-17/1713/index.html`
14+
15+
## Roadmap
16+
- `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md`
17+
18+
## Change Summary
19+
- Added shared chrome classes in `baseLayout.css`:
20+
- `.ui-chrome-main`
21+
- `.ui-chrome-canvas`
22+
- `.ui-chrome-copy`
23+
- `.ui-chrome-section-muted`
24+
- Removed redundant duplicate declarations from `overlaySampleLayout.css` where replaced by shared classes.
25+
- Updated six overlay sample pages to consume shared chrome classes.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION - Validation
2+
3+
## Commands Run
4+
1. `npm run test:launch-smoke`
5+
2. Targeted structural validation script (class reference + redundant style removal check)
6+
7+
## Results
8+
- Launch smoke: **PASS**
9+
- summary: `PASS=271 FAIL=0 TOTAL=271`
10+
- report: `docs/dev/reports/launch_smoke_report.md`
11+
- affected surfaces validated in run:
12+
- `samples/phase-17/1708/index.html`
13+
- `samples/phase-17/1709/index.html`
14+
- `samples/phase-17/1710/index.html`
15+
- `samples/phase-17/1711/index.html`
16+
- `samples/phase-17/1712/index.html`
17+
- `samples/phase-17/1713/index.html`
18+
- Targeted structural check: **PASS**
19+
- verified shared class definitions exist in `baseLayout.css`
20+
- verified all touched consumer pages reference required shared classes
21+
- verified replaced redundant style tokens no longer exist in `overlaySampleLayout.css`
22+
23+
## Validation Minimums Mapping
24+
- affected UI surfaces load correctly: **met**
25+
- no broken class references in touched files: **met**
26+
- no duplicate redundant style block remains in chosen cluster when replaced by shared class usage: **met**
27+
- roadmap edits are status-only: **met**
Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
1-
BUILD_PR_LEVEL_18_12_TRACK_D_CODEBASE_CONSISTENCY_COMPLETION
1+
This bundle advances the roadmap by opening the next smallest executable lane after 18 Track D completion.
22

3-
Purpose
4-
- Complete Level 18 Track D (Codebase Consistency) with a single bounded implementation pass.
3+
Selected next lane:
4+
- 18 Track E - CSS & UI Normalization
55

6-
What changed
7-
- Enforced single-class-per-file in affected sample surfaces:
8-
- Split `samples/shared/worldSystems.js` into class/function modules under `samples/shared/worldSystems/` and kept `samples/shared/worldSystems.js` as a stable barrel.
9-
- Split embedded classes from `samples/phase-06/0609/SpawnSystemScene.js` into:
10-
- `SampleSpawnSystem.js`
11-
- `SampleLifecycleSystem.js`
12-
- `SampleWorldStateSystem.js`
13-
- `SampleWorldEventsSystem.js`
14-
- Eliminated import/export anti-patterns in touched files by replacing import-then-export overlap with direct re-exports and alias imports where local use is required.
15-
- Consolidated duplicate helper usage onto stable shared surfaces:
16-
- inspector/network debug utilities now rely on shared `objectUtils`, `stringUtils`, `numberNormalization` exports instead of local duplicates.
17-
- Normalized naming consistency in touched scope:
18-
- removed `arguments[...]` access in `src/shared/utils/networkDebugUtils.js` in favor of explicit parameters.
19-
- Updated roadmap Track D status markers to complete (`[x]`) in place only.
6+
Why this lane:
7+
- Track D is complete in the uploaded bundle.
8+
- Track E is the next unfinished execution lane in section 18.
9+
- A foundation slice can be executed as a narrow, testable PR without broad repo churn.
2010

21-
Bounded scope note
22-
- No start_of_day files were modified.
23-
- No engine-core feature behavior was changed; updates were consistency/structure-focused in targeted files only.
11+
Bundling decision:
12+
- not combined with Track F
13+
- Track F is docs-system cleanup and would widen purpose
14+
- this PR stays execution-focused on one UI/CSS normalization cluster only

docs/dev/reports/file_tree.txt

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
1-
BUILD_PR_LEVEL_18_12_TRACK_D_CODEBASE_CONSISTENCY_COMPLETION
2-
3-
Modified
4-
- docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md
5-
- games/Pacman/game/PacmanFullAINavigator.js
6-
- samples/phase-03/0326/game/PaddleInterceptWorld.js
7-
- samples/phase-06/0609/SpawnSystemScene.js
8-
- samples/shared/worldSystems.js
9-
- src/advanced/state/utils.js
10-
- src/engine/debug/inspectors/shared/inspectorUtils.js
11-
- src/engine/debug/network/shared/networkDebugUtils.js
12-
- src/engine/systems/PhysicsSystem.js
13-
- src/shared/number/numberUtils.js
14-
- src/shared/utils/networkDebugUtils.js
15-
16-
Added
17-
- samples/phase-06/0609/SampleLifecycleSystem.js
18-
- samples/phase-06/0609/SampleSpawnSystem.js
19-
- samples/phase-06/0609/SampleWorldEventsSystem.js
20-
- samples/phase-06/0609/SampleWorldStateSystem.js
21-
- samples/shared/worldSystems/EventsSystem.js
22-
- samples/shared/worldSystems/LifecycleSystem.js
23-
- samples/shared/worldSystems/SpawnSystem.js
24-
- samples/shared/worldSystems/WorldStateSystem.js
25-
- samples/shared/worldSystems/distanceSq.js
1+
docs/
2+
pr/
3+
BUILD_PR_LEVEL_18_13_TRACK_E_CSS_UI_NORMALIZATION_FOUNDATION.md
4+
dev/
5+
codex_commands.md
6+
commit_comment.txt
7+
reports/
8+
change_summary.txt
9+
file_tree.txt
10+
roadmap_status_update_instructions.txt
11+
validation_checklist.txt

docs/dev/reports/launch_smoke_report.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Launch Smoke Report
22

3-
Generated: 2026-04-17T18:22:44.903Z
3+
Generated: 2026-04-18T04:35:25.463Z
44

55
Filters: games=true, samples=true, tools=true, sampleRange=all
66

@@ -11,19 +11,12 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
1111
| PASS | game | Asteroids | games\Asteroids\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
1212
| PASS | game | Bouncing-ball | games\Bouncing-ball\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
1313
| PASS | game | Breakout | games\Breakout\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
14-
| PASS | game | Gravity | games\Gravity\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
1514
| PASS | game | GravityWell | games\GravityWell\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
16-
| PASS | game | MultiBallChaos | games\MultiBallChaos\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
17-
| PASS | game | Orbit | games\Orbit\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
18-
| PASS | game | PacmanFullAI | games\PacmanFullAI\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
19-
| PASS | game | PacmanLite | games\PacmanLite\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
20-
| PASS | game | PaddleIntercept | games\PaddleIntercept\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
15+
| PASS | game | Pacman | games\Pacman\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2116
| PASS | game | Pong | games\Pong\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
22-
| PASS | game | ProjectileLab | games\ProjectileLab\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2317
| PASS | game | SolarSystem | games\SolarSystem\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2418
| PASS | game | SpaceDuel | games\SpaceDuel\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2519
| PASS | game | SpaceInvaders | games\SpaceInvaders\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
26-
| PASS | game | Thruster | games\Thruster\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2720
| PASS | game | vector-arcade-sample | games\vector-arcade-sample\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2821
| PASS | sample | 0101 | samples\phase-01\0101\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
2922
| PASS | sample | 0102 | samples\phase-01\0102\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
@@ -73,6 +66,7 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
7366
| PASS | sample | 0222 | samples\phase-02\0222\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
7467
| PASS | sample | 0223 | samples\phase-02\0223\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
7568
| PASS | sample | 0224 | samples\phase-02\0224\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
69+
| PASS | sample | 0225 | samples\phase-02\0225\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
7670
| PASS | sample | 0301 | samples\phase-03\0301\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
7771
| PASS | sample | 0302 | samples\phase-03\0302\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
7872
| PASS | sample | 0303 | samples\phase-03\0303\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
@@ -97,6 +91,9 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
9791
| PASS | sample | 0322 | samples\phase-03\0322\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
9892
| PASS | sample | 0323 | samples\phase-03\0323\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
9993
| PASS | sample | 0324 | samples\phase-03\0324\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
94+
| PASS | sample | 0325 | samples\phase-03\0325\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
95+
| PASS | sample | 0326 | samples\phase-03\0326\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
96+
| PASS | sample | 0327 | samples\phase-03\0327\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
10097
| PASS | sample | 0401 | samples\phase-04\0401\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
10198
| PASS | sample | 0402 | samples\phase-04\0402\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
10299
| PASS | sample | 0403 | samples\phase-04\0403\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
@@ -109,6 +106,7 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
109106
| PASS | sample | 0410 | samples\phase-04\0410\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
110107
| PASS | sample | 0411 | samples\phase-04\0411\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
111108
| PASS | sample | 0412 | samples\phase-04\0412\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
109+
| PASS | sample | 0413 | samples\phase-04\0413\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
112110
| PASS | sample | 0501 | samples\phase-05\0501\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
113111
| PASS | sample | 0502 | samples\phase-05\0502\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
114112
| PASS | sample | 0503 | samples\phase-05\0503\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
@@ -134,6 +132,7 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
134132
| PASS | sample | 0611 | samples\phase-06\0611\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
135133
| PASS | sample | 0612 | samples\phase-06\0612\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
136134
| PASS | sample | 0613 | samples\phase-06\0613\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
135+
| PASS | sample | 0614 | samples\phase-06\0614\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
137136
| PASS | sample | 0701 | samples\phase-07\0701\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
138137
| PASS | sample | 0702 | samples\phase-07\0702\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
139138
| PASS | sample | 0703 | samples\phase-07\0703\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
@@ -199,6 +198,7 @@ Filters: games=true, samples=true, tools=true, sampleRange=all
199198
| PASS | sample | 1317 | samples\phase-13\1317\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
200199
| PASS | sample | 1318 | samples\phase-13\1318\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
201200
| PASS | sample | 1319 | samples\phase-13\1319\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
201+
| PASS | sample | 1320 | samples\phase-13\1320\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
202202
| PASS | sample | 1401 | samples\phase-14\1401\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
203203
| PASS | sample | 1402 | samples\phase-14\1402\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
204204
| PASS | sample | 1403 | samples\phase-14\1403\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Roadmap Status Update Instructions
2+
3+
Roadmap file:
4+
- `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md`
5+
6+
Permitted edits for this PR:
7+
- status-only transitions
8+
9+
Recommended execution-backed transitions after successful validation:
10+
- `### Track E - CSS & UI Normalization` -> set header lane to `[.]` if this foundation slice is completed
11+
- move any touched sub-bullet from `[ ]` to `[.]` only if partially active after execution
12+
- move a touched sub-bullet to `[x]` only if fully complete in this PR
13+
14+
Forbidden edits:
15+
- no text rewrites
16+
- no deletions
17+
- no reordering
18+
- no added roadmap prose unless explicitly required by execution evidence

0 commit comments

Comments
 (0)