Skip to content

Commit 9414d6a

Browse files
author
DavidQ
committed
Remove static Header and Intro labels from tools
- Replace hardcoded tool summary labels with shared-shell-owned text - Render tool-specific header and intro from registry metadata - Preserve collapse/fullscreen behavior without CSS-only masking - Validate no visible Header and Intro text remains
1 parent 3b1b6b2 commit 9414d6a

28 files changed

Lines changed: 542 additions & 149 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 12 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,16 @@
1-
MODEL: GPT-5.3-codex
2-
REASONING: low
1+
# CODEX COMMANDS
32

4-
PR purpose:
5-
Fix the remaining fullscreen-only Header and Intro blocker.
3+
model: gpt-5.3-codex
4+
reasoning: medium
65

7-
Problem:
8-
Prior changes had no visible effect in fullscreen mode. Find and fix the actual fullscreen render path.
6+
Apply PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX.
97

10-
Scope:
11-
- fullscreen header rendering
12-
- fullscreen intro rendering
13-
- shared platform shell fullscreen path
14-
- tool metadata binding for fullscreen
8+
Use a surgical shared-platform fix only.
159

16-
Do not modify:
17-
- King of the Iceberg files
18-
- sample games
19-
- runtime engine files
20-
- start_of_day folders
21-
22-
Required visible fullscreen behavior:
23-
Header:
24-
<Tool Name> — <Short Description>
25-
26-
Intro:
27-
<Tool Name>: <one-line usage/help text>
28-
29-
Both must include the active tool name.
30-
31-
Implementation requirements:
32-
- Identify actual fullscreen DOM elements.
33-
- Bind fullscreen DOM to active tool metadata.
34-
- Update on launch, entering fullscreen, and tool switch.
35-
- Do not use stale normal-mode content.
36-
- Do not silently fallback to generic intro text.
37-
- If metadata missing, show actionable configuration error.
38-
- Add explicit intro metadata to registry if needed.
39-
40-
Validate tools:
41-
- Vector Map Editor
42-
- Vector Asset Studio
43-
- Sprite Editor
44-
- State Inspector
45-
- Asset Browser if it uses shared fullscreen shell
46-
47-
Targeted validation only:
48-
- node --check changed JS files only.
49-
- Do not run long samples suite.
50-
51-
Create evidence:
52-
tmp/pr_tool_uat_fix_fullscreen_header_wiring_validation.json
53-
54-
Create report:
55-
docs/dev/reports/PR_tool_uat_fix_fullscreen_header_wiring_report.md
56-
57-
Report:
58-
- PASS/FAIL
59-
- changed files
60-
- root cause
61-
- fullscreen DOM path fixed
62-
- visible fullscreen header text per tool
63-
- visible fullscreen intro text per tool
64-
- validation commands/results
65-
- remaining issues
10+
Required:
11+
- Fix fullscreen header summary so caret + tool name/description remain on one line.
12+
- Prevent fullscreen-only platform summary/error presentation from affecting normal screen.
13+
- Preserve diagnostics without creating a multi-line visible error header in normal screen.
14+
- Do not change tool data, manifests, registry entries, or start_of_day folders.
15+
- Add validation report at docs/dev/reports/PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX_report.md.
16+
- Return ZIP artifact at tmp/PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX_delta.zip.

docs/dev/commit_comment.txt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1 @@
1-
Fix fullscreen header and intro wiring
2-
3-
- Bind actual fullscreen DOM path to active tool metadata
4-
- Show tool name in fullscreen header and intro
5-
- Add/validate compact single-line fullscreen text
6-
- Preserve actionable metadata errors with no silent fallback
7-
- Add browser evidence for visible fullscreen text
1+
Fix fullscreen header summary line layout without changing normal-screen tool headers - PR 10.14
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# PR — Remove Static Header and Intro Labels
2+
3+
## Purpose
4+
5+
Remove hardcoded `Header and Intro` labels from tool `index.html` files and make the shared platform shell the source of truth for tool header/intro text.
6+
7+
This PR fixes the remaining mismatch where fullscreen may appear correct through CSS/attributes while the underlying per-tool markup still contains generic static text.
8+
9+
---
10+
11+
## Problem
12+
13+
Many tool pages contain static markup like:
14+
15+
```html
16+
<summary class="is-collapsible__summary">Header and Intro</summary>
17+
```
18+
19+
This means the source markup still contains generic text even though the shared shell is expected to provide tool-specific header/intro.
20+
21+
The desired behavior is not to mask `Header and Intro`; it should not be the source label for tools.
22+
23+
---
24+
25+
## Required Behavior
26+
27+
For every tool using the shared platform shell:
28+
29+
- Do not hardcode `Header and Intro` as the visible summary label.
30+
- Header/intro text must be generated from shared tool metadata.
31+
- The visible summary/header must include the active tool name.
32+
- The visible intro must include the active tool name.
33+
- The shared shell should remain the single source of truth.
34+
35+
---
36+
37+
## Required Format
38+
39+
Header:
40+
41+
```txt
42+
<Tool Name> — <Short Description>
43+
```
44+
45+
Intro:
46+
47+
```txt
48+
<Tool Name>: <one-line usage/help text>
49+
```
50+
51+
---
52+
53+
## Implementation Direction
54+
55+
Inspect all tool `index.html` files for:
56+
57+
```html
58+
<summary class="is-collapsible__summary">Header and Intro</summary>
59+
```
60+
61+
Replace static generic labels with a shared-shell-controlled placeholder, data binding, or empty mount point that the platform shell owns.
62+
63+
Acceptable approaches:
64+
65+
1. Replace static text with a shell-owned element, for example:
66+
67+
```html
68+
<summary class="is-collapsible__summary" data-tools-platform-summary></summary>
69+
```
70+
71+
2. Or keep the summary element for behavior but make its visible text fully controlled by shared shell JS.
72+
73+
3. Or centralize summary creation in `platformShell.js` if compatible with existing tools.
74+
75+
Do not rely only on CSS pseudo-elements to hide the old text.
76+
77+
---
78+
79+
## Metadata Requirements
80+
81+
Each affected tool must have enough registry metadata to render:
82+
83+
- `tool.name`
84+
- `tool.shortDescription`
85+
- `tool.intro` or equivalent one-line usage text
86+
87+
If metadata is missing, show an actionable configuration error.
88+
89+
Do not silently fall back to generic text.
90+
91+
---
92+
93+
## Scope
94+
95+
Target shared tool pages only.
96+
97+
Likely files:
98+
99+
- `tools/*/index.html`
100+
- `tools/shared/platformShell.js`
101+
- `tools/shared/platformShell.css`
102+
- `tools/toolRegistry.js`
103+
104+
Do not modify:
105+
106+
- King of the Iceberg files
107+
- sample games
108+
- runtime game engine files
109+
- `start_of_day` folders
110+
111+
---
112+
113+
## Acceptance Criteria
114+
115+
- No shared-shell tool `index.html` contains visible static text `Header and Intro` as a summary label.
116+
- Fullscreen summary/header visibly includes the active tool name.
117+
- Normal tool header visibly includes the active tool name.
118+
- Intro visibly includes the active tool name where intro is shown.
119+
- The shared platform shell owns the rendered text.
120+
- Legacy behavior for collapse/fullscreen toggles still works.
121+
- Missing metadata produces actionable configuration error.
122+
- No CSS-only masking of the old generic text.
123+
- No KOTI/sample/runtime/start_of_day changes.
124+
125+
---
126+
127+
## Targeted Validation
128+
129+
Do not run long sample suites.
130+
131+
Run:
132+
133+
```powershell
134+
node --check tools/shared/platformShell.js
135+
node --check tools/toolRegistry.js
136+
```
137+
138+
If any per-tool JS changes, run `node --check` on those files only.
139+
140+
Run targeted browser validation:
141+
142+
- Open each affected shared-shell tool.
143+
- Confirm raw visible summary/header text is tool-specific.
144+
- Enter fullscreen.
145+
- Confirm fullscreen summary/header is tool-specific.
146+
- Confirm no visible `Header and Intro` remains.
147+
- Confirm collapse/fullscreen toggles still work.
148+
149+
---
150+
151+
## Required Evidence
152+
153+
Create:
154+
155+
```txt
156+
tmp/pr_tool_remove_static_header_intro_validation.json
157+
```
158+
159+
It should include:
160+
161+
- tools checked
162+
- files checked
163+
- whether `Header and Intro` remains in visible source/DOM
164+
- visible normal header text
165+
- visible fullscreen header text
166+
- visible intro text
167+
- PASS/FAIL
168+
169+
---
170+
171+
## Required Report
172+
173+
Create:
174+
175+
```txt
176+
docs/dev/reports/PR_tool_remove_static_header_intro_report.md
177+
```
178+
179+
Include:
180+
181+
- PASS/FAIL
182+
- changed files
183+
- root cause
184+
- tools/index files updated
185+
- validation commands/results
186+
- remaining issues
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# PR 10.14 Fullscreen Header Summary Line Fix Report
2+
3+
- Generated: 2026-04-28T17:57:53.417Z
4+
- PASS/FAIL: FAIL
5+
6+
## Files Changed
7+
- tools/shared/platformShell.js
8+
- tools/shared/platformShell.css
9+
- docs/dev/reports/PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX_report.md
10+
- tmp/PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX_validation.json
11+
12+
## Behavior Before
13+
- Shared-shell summary presentation styles (`[data-tools-platform-summary-active]`) were applied outside fullscreen, so fullscreen-specific header/error treatment could leak into normal screen.
14+
- Summary render path created two visible summary nodes (`header` + `intro`), allowing stacked summary lines and increasing risk of caret/label multi-line presentation in fullscreen.
15+
16+
## Behavior After
17+
- Fullscreen summary treatment is now scoped to `html:fullscreen` only, preventing fullscreen-only summary/error styling from affecting normal mode.
18+
- Summary render now outputs one visible line node (`.tools-platform-summary__line`) for the fullscreen summary row.
19+
- Diagnostics are preserved via `title` and `data-tools-platform-summary-diagnostic` attributes; no multi-line visible error block is rendered in the summary row.
20+
21+
## Validation Steps (Normal Mode)
22+
1. Run `node --check tools/shared/platformShell.js`.
23+
2. Open each target tool page in normal mode (Vector Map Editor, Vector Asset Studio, Sprite Editor, State Inspector).
24+
3. Confirm summary does not contain the old two-line (`header` + `intro`) visible structure and that fullscreen-only style treatment is not active in normal mode.
25+
26+
## Validation Steps (Fullscreen Mode)
27+
1. Collapse header summary to trigger fullscreen path.
28+
2. Confirm summary displays one horizontal line (`Tool Name ? Short Description`) and caret remains on the same row.
29+
3. Confirm long text is handled with truncation/ellipsis behavior and diagnostic details remain available via summary `title`.
30+
31+
## Targeted Validation Evidence
32+
- Evidence file: tmp/PR_10_14_FULLSCREEN_HEADER_SUMMARY_LINE_FIX_validation.json
33+
- Vector Map Editor: FAIL | normalWhiteSpace=normal | fullscreenWhiteSpace=nowrap | fullscreenLine="Vector Map Editor — Map layout and collision authoring"
34+
- Vector Asset Studio: FAIL | normalWhiteSpace=normal | fullscreenWhiteSpace=nowrap | fullscreenLine="Vector Asset Studio — SVG asset authoring and export"
35+
- Sprite Editor: FAIL | normalWhiteSpace=normal | fullscreenWhiteSpace=nowrap | fullscreenLine="Sprite Editor — Palette-locked sprite and frame editing"
36+
- State Inspector: FAIL | normalWhiteSpace=normal | fullscreenWhiteSpace=nowrap | fullscreenLine="State Inspector — Host/runtime state snapshot inspection"
37+
38+
## Scope Confirmation
39+
- No tool data, manifests, or registry entries were modified.
40+
- No `start_of_day` folders were modified.
41+
- Change scope is surgical to shared-platform fullscreen summary rendering/styling and this report/evidence only.

0 commit comments

Comments
 (0)