Skip to content

Commit 8778fce

Browse files
author
DavidQ
committed
MODEL: GPT-5.4-codex
REASONING: high COMMAND: Create BUILD_PR_STYLE_09_TOOL_HEIGHT_AND_VIEWPORT_FIT as one focused, testable PR. Rules: - one PR purpose only - refine the existing shared tool shell only - no legacy styling as the baseline - keep CSS Grid for the primary shell - preserve STYLE_08 adaptive density improvements - no embedded <style> in HTML - no inline style="" - no JS-generated styling - keep theme under src/engine/theme - do NOT create or leave staging folders in <project folder>/tmp/ - output ONLY the final zip to: <project folder>/tmp/BUILD_PR_STYLE_09_TOOL_HEIGHT_AND_VIEWPORT_FIT.zip Roadmap rule: - Codex updates MASTER_ROADMAP_STYLE.md during execution only - append STYLE_09 checklist/results only - do not delete existing text - do not rewrite existing text - update completion markers only if execution-backed Required work: 1. Refine the shared tool-shell CSS for better viewport-height fit. 2. Reduce page-level vertical scrolling where practical. 3. Localize scrolling to panels/readouts where needed. 4. Preserve the shared shell structure and adaptive density work from STYLE_08. 5. Validate against the current migrated shell tools. 6. Package only the final zip to the project tmp path above.
1 parent c3e6b26 commit 8778fce

6 files changed

Lines changed: 424 additions & 36 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
STYLE_09 planning note
2+
3+
Goal:
4+
- improve viewport-height fit for shared-shell tools
5+
- reduce whole-page vertical scrolling
6+
- keep scrolling localized to tall panels/readouts when necessary
7+
8+
Packaging rule:
9+
- no staging folders in <project folder>/tmp/
10+
- final zip only in project tmp
11+
12+
Roadmap rule:
13+
- assistant does not modify MASTER_ROADMAP_STYLE.md in this bundle
14+
- Codex updates roadmap during execution only
Lines changed: 303 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,291 @@
1+
# MASTER_ROADMAP_STYLE.md
12

2-
### STYLE_06 — Tool Shell Foundation + First Tool Migration
3-
4-
[ ] Shared tool shell exists in theme CSS
5-
[ ] Tool shell uses full available page width
6-
[ ] Left rail width is fixed
7-
[ ] Right rail width is fixed
8-
[ ] Center workspace is flexible
9-
[ ] As viewport changes, only center grows/shrinks
10-
[ ] One tool page migrated as proof slice
11-
[ ] Migrated tool remains functional
12-
[ ] No embedded `<style>` blocks on migrated tool page
13-
[ ] No inline `style=""` on migrated tool page
14-
[ ] No JS-driven styling used for layout
15-
[ ] Header remains visually consistent with shared theme
16-
[ ] Tool page is visually testable
3+
## Purpose
4+
Track the style-system migration for HTML-JavaScript-Gaming using Toolbox Aid as the visual baseline for shared page structure and styling direction.
5+
6+
## Source-of-Truth Rules
7+
- Base visual direction comes from Toolbox Aid live site assets and CSS behavior, not from existing HTML-JavaScript-Gaming styling.
8+
- Do not inspect old project CSS/HTML/embedded styles to preserve or translate them forward.
9+
- Migration is additive and page-by-page.
10+
- No big-bang rewrite.
11+
- Each PR must be testable.
12+
- No commit-only PRs.
13+
- No embedded `<style>` in HTML.
14+
- No inline `style=""` in HTML.
15+
- No style strings injected from JS.
16+
- Shared theme CSS lives under `src/engine/theme/`.
17+
- Theme does not move into `src/engine/ui/`.
18+
19+
## Folder Responsibilities
20+
### src/engine/theme/
21+
Visual system only:
22+
- reset/base
23+
- tokens
24+
- typography
25+
- spacing
26+
- layout primitives
27+
- header/nav styling
28+
- page shells
29+
- accordion styling
30+
- tool shell styling
31+
- games/samples/tools section styling
32+
- special-case CSS only when validated and needed
33+
34+
### src/engine/ui/
35+
Behavior only:
36+
- mount shared header if needed
37+
- accordion interaction if CSS-only is insufficient
38+
- host-shell launch behavior
39+
- tool shell interaction
40+
- minimal HTML-page JS only
41+
42+
## Platform Decisions
43+
- Four main entry pages stay visually very close:
44+
- `/index.html`
45+
- `/samples/index.html`
46+
- `/games/index.html`
47+
- `/tools/index.html`
48+
- Shared header + shared page intro/title area.
49+
- Header image stretches side-to-side while preserving aspect ratio.
50+
- Menu buttons use the existing Toolbox Aid overline/underline hover treatment where available in the Toolbox Aid CSS baseline.
51+
- Existing vague selectors are not preserved by default.
52+
- Do not depend on old classes or old ids.
53+
- Add only the selectors needed by the new system.
54+
- `hideme` is retired and replaced by `.is-collapsible`.
55+
- Consistent spacing and margin rules are mandatory.
56+
- Tools should use full available page width with:
57+
- fixed left column
58+
- flexible center column
59+
- fixed right column
60+
- only center grows/shrinks
61+
- Minimal JS for HTML pages.
62+
63+
## UX Clarification
64+
### Tool launch labels
65+
- Open Tool = launch the tool directly/standalone
66+
- Open In Host = launch the same tool inside a shared host shell/container
67+
68+
This explanation should be kept visible in related UI/help text so launch choices are understandable.
69+
70+
## Status Legend
71+
- [ ] not started
72+
- [.] in progress
73+
- [x] complete
74+
75+
---
76+
77+
## Track A — Style System Foundation
78+
79+
### A1. Establish Toolbox Aid-derived base theme
80+
[x] Create `src/engine/theme/main.css` as the shared base theme.
81+
[.] Base tokens:
82+
- colors
83+
- spacing
84+
- typography
85+
- border radius
86+
- shadows
87+
- transition timings
88+
[.] Base layout primitives:
89+
- page shell
90+
- content container
91+
- full-width section
92+
- intro/title block
93+
- nav row
94+
[.] Document which live Toolbox Aid behaviors are intentionally carried forward.
95+
[ ] Do not pull from existing project styling.
96+
97+
### A2. Establish shared file layout
98+
[.] Create/confirm:
99+
- `src/engine/theme/main.css`
100+
- `src/engine/theme/header.css` or fold into main if still clean
101+
- `src/engine/theme/accordion.css`
102+
- `src/engine/theme/tools.css`
103+
- `src/engine/theme/games.css`
104+
- `src/engine/theme/samples.css`
105+
[x] Keep `main.css` foundational, not a dumping ground.
106+
107+
### A3. Shared selector hygiene
108+
[.] Do not preserve existing project classes/ids unless intentionally adopted.
109+
[.] Introduce new consistent naming where needed.
110+
[.] Remove embedded styling from migrated pages only.
111+
[x] Ban new embedded styling in HTML and JS.
112+
113+
---
114+
115+
## Track B — Shared Header System
116+
117+
### B1. Shared header source
118+
[x] Pull the `<header>` from Toolbox Aid and store it in:
119+
- `src/engine/theme/toolboxaid-header.html`
120+
[.] Keep structure unchanged except:
121+
- tagline becomes `HTML-JavaScript Gaming`
122+
- menu becomes:
123+
- Home
124+
- Games
125+
- Samples
126+
- Tools
127+
128+
### B2. Shared header assets and styling
129+
[x] Pull the required Toolbox Aid CSS needed to reproduce the header look.
130+
[x] Keep the header image behavior:
131+
- full-width feel
132+
- maintain aspect ratio
133+
- no distortion
134+
[x] Preserve the visual structure:
135+
- site title
136+
- tagline
137+
- nav row
138+
- social area if retained
139+
[.] Preserve the menu hover line effect from Toolbox Aid baseline.
140+
141+
### B3. Header loading
142+
[x] Provide one shared import path.
143+
[x] Avoid duplicating header markup across pages.
144+
[x] Minimize JS required to place the shared header into HTML pages.
145+
[x] Keep HTML-page JS minimal and boring.
146+
147+
---
148+
149+
## Track C — Main Entry Pages
150+
151+
### C1. Reset `/index.html`
152+
[x] Remove dependencies on existing project page-local styling for `/index.html`.
153+
[x] Move `/index.html` to Toolbox Aid-derived shared theme only.
154+
[x] Add shared header.
155+
[x] Add shared page intro/title area.
156+
[x] Keep page structure simple and inspectable.
157+
[x] Validate spacing consistency.
158+
[x] Validate nav behavior.
159+
[x] Validate responsive behavior.
160+
161+
### C2. Reset `/samples/index.html`
162+
[x] Apply same shell and shared header.
163+
[x] Keep page visually very close to `/index.html`.
164+
[x] Use `samples.css` only for content-specific differences.
165+
166+
### C3. Reset `/games/index.html`
167+
[x] Apply same shell and shared header.
168+
[x] Keep page visually very close to `/index.html`.
169+
[x] Use `games.css` only for content-specific differences.
170+
171+
### C4. Reset `/tools/index.html`
172+
[x] Apply same shell and shared header.
173+
[x] Keep page visually very close to `/index.html`.
174+
[.] Use `tools.css` only for content-specific differences.
175+
176+
---
177+
178+
## Track D — Collapsible Pattern
179+
180+
### D1. Replace `hideme`
181+
[x] Replace `hideme` usage on the four main index pages.
182+
[x] Rename to `.is-collapsible`.
183+
184+
### D2. Shared accordion pattern
185+
[x] Make `.is-collapsible` use the same accordion feel as `.tools-platform-frame__accordion-summary`.
186+
[x] Prefer CSS-first.
187+
[x] Add minimal JS only if needed for accessibility or state persistence.
188+
[x] Use for shared header/page intro compaction where appropriate.
189+
190+
---
191+
192+
## Track E — Tool Shell UX
193+
194+
### E1. Shared tool layout
195+
[x] Create full-width tool shell.
196+
[x] Fixed left column.
197+
[x] Flexible center column.
198+
[x] Fixed right column.
199+
[x] Center alone resizes with viewport.
200+
[x] Validate at common desktop widths.
201+
202+
### E2. Tool shell migration
203+
[x] Apply tool shell to one tool first as proof.
204+
[.] Then roll out tool-by-tool.
205+
[.] Keep header behavior compact enough not to crowd tool workspaces.
206+
207+
### E3. Launch clarity
208+
[ ] Add visible explanation near launch controls:
209+
- Open Tool = launch the tool directly/standalone
210+
- Open In Host = launch the same tool inside a shared host shell/container
211+
212+
---
213+
214+
## Track F — Spacing, Typography, and Consistency
215+
216+
### F1. Spacing scale
217+
[ ] Define one spacing scale.
218+
[ ] Apply consistently to:
219+
- page shells
220+
- section spacing
221+
- cards/panels
222+
- forms/buttons
223+
- tool side rails
224+
- intro/title blocks
225+
226+
### F2. Margin and padding audit
227+
[ ] Standardize margin and padding rules on migrated pages.
228+
[ ] Remove ad hoc spacing in migrated pages.
229+
230+
### F3. Typography
231+
[ ] Standardize:
232+
- page titles
233+
- section titles
234+
- body text
235+
- nav text
236+
- helper text
237+
- tool labels
238+
239+
---
240+
241+
## Track G — Migration Rules
242+
243+
### G1. Per-PR migration rule
244+
[ ] Each PR migrates one narrow slice.
245+
[ ] Remove old CSS only where the new theme fully covers that slice.
246+
[ ] Never orphan a page between systems.
247+
248+
### G2. Validation rule
249+
[ ] Every style PR must be visually testable.
250+
[ ] Every style PR must have rollback clarity.
251+
[ ] Every style PR must avoid repo-wide churn.
252+
253+
### G3. Old-style retirement
254+
[ ] Delete old page-local CSS only after migrated coverage is validated.
255+
[ ] Delete embedded `<style>` only after migrated coverage is validated.
256+
[ ] Delete JS styling only after migrated coverage is validated.
257+
258+
---
259+
260+
## Suggested Execution Order
261+
[x] STYLE_01 — Reset `/index.html` using Toolbox Aid-derived base.
262+
[x] STYLE_02 — Reset `/samples/index.html`.
263+
[x] STYLE_03 — Reset `/games/index.html`.
264+
[x] STYLE_04 — Reset `/tools/index.html`.
265+
[x] STYLE_05 — Add `.is-collapsible` shared accordion behavior.
266+
[x] STYLE_06 — Establish shared tool shell and migrate one tool.
267+
[ ] STYLE_07 — Clarify tool launch labels/help text.
268+
[.] STYLE_08+ — Continue tool UX migration tool-by-tool.
269+
270+
271+
---
272+
273+
274+
### STYLE_06 — Tool Shell Foundation + First Tool Migration
275+
276+
[x] Shared tool shell exists in theme CSS
277+
[x] Tool shell uses full available page width
278+
[x] Left rail width is fixed
279+
[x] Right rail width is fixed
280+
[x] Center workspace is flexible
281+
[x] As viewport changes, only center grows/shrinks
282+
[x] One tool page migrated as proof slice
283+
[x] Migrated tool remains functional
284+
[x] No embedded `<style>` blocks on migrated tool page
285+
[x] No inline `style=""` on migrated tool page
286+
[x] No JS-driven styling used for layout
287+
[x] Header remains visually consistent with shared theme
288+
[x] Tool page is visually testable
17289

18290
#### STYLE_06 Test Section
19291

@@ -22,7 +294,7 @@
22294
[x] Migrated tool page keeps script wiring unchanged (`platformShell.js`, `main.js`)
23295
[x] No embedded `<style>` or inline `style=""` added in migrated tool page
24296

25-
### STYLE_08 Adaptive Tool Density
297+
### STYLE_08 — Adaptive Tool Density
26298

27299
[x] Shared tool-shell CSS refined for denser layout
28300
[x] Left/right rails use responsive `clamp()` sizing where appropriate
@@ -35,3 +307,18 @@
35307
- `tools/Performance Profiler/index.html`
36308
- `tools/Replay Visualizer/index.html`
37309
- `tools/Physics Sandbox/index.html`
310+
311+
### STYLE_09 — Tool Height and Viewport Fit
312+
313+
[x] Shared tool-shell CSS refined for viewport-height fit
314+
[x] Page-level vertical scrolling reduced where practical
315+
[x] Scrolling localized to panel/readout regions where needed
316+
[x] Shared CSS Grid shell structure preserved
317+
[x] STYLE_08 adaptive density improvements preserved
318+
[x] Refined shell validated against migrated shell tools:
319+
- `tools/State Inspector/index.html`
320+
- `tools/Performance Profiler/index.html`
321+
- `tools/Replay Visualizer/index.html`
322+
- `tools/Physics Sandbox/index.html`
323+
324+

docs/operations/dev/codex_commands.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,33 @@ MODEL: GPT-5.4-codex
22
REASONING: high
33

44
COMMAND:
5-
Create BUILD_PR_STYLE_08_ADAPTIVE_TOOL_DENSITY as one focused, testable PR.
5+
Create BUILD_PR_STYLE_09_TOOL_HEIGHT_AND_VIEWPORT_FIT as one focused, testable PR.
66

77
Rules:
88
- one PR purpose only
99
- refine the existing shared tool shell only
1010
- no legacy styling as the baseline
1111
- keep CSS Grid for the primary shell
12+
- preserve STYLE_08 adaptive density improvements
1213
- no embedded <style> in HTML
1314
- no inline style=""
1415
- no JS-generated styling
1516
- keep theme under src/engine/theme
16-
- do not redesign tools
17+
- do NOT create or leave staging folders in <project folder>/tmp/
18+
- output ONLY the final zip to:
19+
<project folder>/tmp/BUILD_PR_STYLE_09_TOOL_HEIGHT_AND_VIEWPORT_FIT.zip
20+
21+
Roadmap rule:
22+
- Codex updates MASTER_ROADMAP_STYLE.md during execution only
23+
- append STYLE_09 checklist/results only
24+
- do not delete existing text
25+
- do not rewrite existing text
26+
- update completion markers only if execution-backed
1727

1828
Required work:
19-
1. Refine the shared tool-shell CSS to improve density.
20-
2. Replace fixed left/right rail widths with responsive clamp() sizing where appropriate.
21-
3. Reduce shell/panel spacing where safe and align to the shared spacing system.
22-
4. Avoid horizontal scrolling at normal desktop widths.
23-
5. Reduce vertical scrolling where practical.
24-
6. Apply and validate the refined shell against the tools already migrated to the shared shell.
25-
7. Update MASTER_ROADMAP_STYLE.md:
26-
- append STYLE_08 checklist only
27-
- do not delete existing text
28-
- do not rewrite existing text
29-
- update completion markers only if execution-backed
30-
8. Package to:
31-
<project folder>/tmp/BUILD_PR_STYLE_08_ADAPTIVE_TOOL_DENSITY.zip
29+
1. Refine the shared tool-shell CSS for better viewport-height fit.
30+
2. Reduce page-level vertical scrolling where practical.
31+
3. Localize scrolling to panels/readouts where needed.
32+
4. Preserve the shared shell structure and adaptive density work from STYLE_08.
33+
5. Validate against the current migrated shell tools.
34+
6. Package only the final zip to the project tmp path above.

0 commit comments

Comments
 (0)