Skip to content

Commit 3b1b6b2

Browse files
author
DavidQ
committed
Fix fullscreen header and intro wiring
- Bind actual fullscreen DOM path to active tool metadata - Show tool name in fullscreen header and intro - Add/validate compact single-line fullscreen text - Preserve actionable metadata errors with no silent fallback - Add browser evidence for visible fullscreen text
1 parent fe53ba3 commit 3b1b6b2

7 files changed

Lines changed: 421 additions & 43 deletions

docs/dev/codex_commands.md

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,64 @@ MODEL: GPT-5.3-codex
22
REASONING: low
33

44
PR purpose:
5-
Fix two Tools UAT blockers only:
6-
1. Fullscreen Header and Intro must include active tool name.
7-
2. Asset Browser sample 0204 must show clear actionable empty/missing/invalid source state.
8-
9-
Do not advance King of the Iceberg work.
10-
Do not modify sample games, runtime engine files, or start_of_day folders.
11-
Do not add new features.
12-
13-
Header/Intro requirements:
14-
- In fullscreen mode, header includes:
15-
<Tool Name> — <Short Description>
16-
- In fullscreen mode, intro includes:
17-
<Tool Name>: <one-line usage/help text>
18-
- Keep both compact and single-line where possible.
19-
- Use ellipsis and tooltip/title for overflow.
20-
- If required metadata is missing, show actionable configuration error.
21-
- Do not use silent fallback generic text.
22-
23-
Asset Browser 0204 requirements:
24-
- Inspect launch path/state for sample 0204.
25-
- Current observed text says 0 approved assets from:
26-
active-project-manifest.tools.asset-browser.assets
27-
- Make UI clearly distinguish:
28-
- source exists but empty
29-
- source missing
30-
- source invalid
31-
- source load failure
32-
- If source exists but empty, show:
33-
source checked, result count, and next action.
34-
- Do not auto-load fallback/default/sample assets.
5+
Fix the remaining fullscreen-only Header and Intro blocker.
6+
7+
Problem:
8+
Prior changes had no visible effect in fullscreen mode. Find and fix the actual fullscreen render path.
9+
10+
Scope:
11+
- fullscreen header rendering
12+
- fullscreen intro rendering
13+
- shared platform shell fullscreen path
14+
- tool metadata binding for fullscreen
15+
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
3546

3647
Targeted validation only:
37-
- node --check changed JS files.
38-
- Validate fullscreen header/intro on affected tools.
39-
- Validate Asset Browser sample 0204.
40-
- Do not run long sample suite unless required.
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
4153

4254
Create report:
43-
docs/dev/reports/PR_tool_uat_fix_header_asset_browser_report.md
55+
docs/dev/reports/PR_tool_uat_fix_fullscreen_header_wiring_report.md
4456

4557
Report:
4658
- PASS/FAIL
4759
- changed files
48-
- validation performed
49-
- Asset Browser 0204 observed final state
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
5065
- remaining issues

docs/dev/commit_comment.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Fix fullscreen tool naming and Asset Browser empty-state clarity
1+
Fix fullscreen header and intro wiring
22

3-
- Ensure fullscreen header includes active tool name
4-
- Ensure fullscreen intro includes active tool name
5-
- Keep header/intro compact with truncation support
6-
- Clarify Asset Browser 0204 empty/missing/invalid source states
7-
- Preserve no-silent-fallback behavior
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
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# PR — Tool UAT Fix: Fullscreen Header Wiring
2+
3+
## Purpose
4+
5+
Fix the remaining Tools UAT blocker where Header and Intro changes had no visible effect in fullscreen mode.
6+
7+
This PR is scoped only to fullscreen header/intro wiring.
8+
9+
---
10+
11+
## Problem
12+
13+
The prior PR updated tool-shell header/intro text, but fullscreen mode did not reflect the change.
14+
15+
Observed issue:
16+
17+
- Header and Intro had no visible effect in fullscreen.
18+
- Likely cause: fullscreen mode uses a separate DOM/render path, cached content, or different selector than the normal tool shell.
19+
20+
---
21+
22+
## Scope
23+
24+
Target only:
25+
26+
- Fullscreen header rendering
27+
- Fullscreen intro rendering
28+
- Shared platform shell fullscreen path
29+
- Tool metadata binding used by fullscreen mode
30+
31+
Do not modify:
32+
- King of the Iceberg files
33+
- sample games
34+
- runtime engine files
35+
- `start_of_day` folders
36+
- Asset Browser source-state logic unless required by shared shell wiring
37+
38+
---
39+
40+
## Required Behavior
41+
42+
In fullscreen mode, the visible fullscreen DOM must show:
43+
44+
Header:
45+
46+
```txt
47+
<Tool Name> — <Short Description>
48+
```
49+
50+
Intro:
51+
52+
```txt
53+
<Tool Name>: <one-line usage/help text>
54+
```
55+
56+
Both must include the active tool name.
57+
58+
---
59+
60+
## Fullscreen-Specific Requirements
61+
62+
- Identify the actual fullscreen DOM elements used when entering fullscreen.
63+
- Bind those elements to the active tool metadata.
64+
- Ensure updates occur:
65+
- on tool launch
66+
- when entering fullscreen
67+
- when switching tools
68+
- when metadata changes during shell initialization
69+
- Ensure fullscreen does not reuse stale normal-mode text.
70+
- Ensure the validation reads the same visible DOM path the user sees.
71+
72+
---
73+
74+
## Metadata Requirements
75+
76+
The fullscreen path must use:
77+
78+
- `tool.name`
79+
- `tool.shortDescription`
80+
- `tool.intro` or equivalent one-line usage/help text
81+
82+
If intro metadata does not exist, add explicit registry metadata for affected tools.
83+
84+
Do not silently fall back to generic intro text.
85+
86+
If required metadata is missing, show an actionable configuration error.
87+
88+
---
89+
90+
## Affected Tools to Validate
91+
92+
Validate fullscreen header and intro for:
93+
94+
- Vector Map Editor
95+
- Vector Asset Studio
96+
- Sprite Editor
97+
- State Inspector
98+
- Asset Browser, if it uses the shared fullscreen shell
99+
100+
---
101+
102+
## Acceptance Criteria
103+
104+
- Enter fullscreen for each affected tool.
105+
- Visible fullscreen header includes the correct active tool name.
106+
- Visible fullscreen intro includes the correct active tool name.
107+
- Header format is `<Tool Name> — <Short Description>`.
108+
- Intro format is `<Tool Name>: <one-line usage/help text>`.
109+
- Header and intro are compact/single-line with ellipsis and tooltip/title.
110+
- Missing metadata produces actionable configuration error.
111+
- Browser validation captures visible fullscreen DOM text.
112+
- No KOTI, sample game, runtime, or `start_of_day` files change.
113+
114+
---
115+
116+
## Targeted Validation
117+
118+
Do not run long sample suites.
119+
120+
Run only:
121+
122+
```powershell
123+
node --check tools/shared/platformShell.js
124+
node --check tools/toolRegistry.js
125+
```
126+
127+
If other JS files are changed, run `node --check` on those files only.
128+
129+
Perform browser validation:
130+
131+
- Launch each affected tool.
132+
- Enter fullscreen.
133+
- Capture visible fullscreen header text.
134+
- Capture visible fullscreen intro text.
135+
- Save evidence JSON under:
136+
137+
```txt
138+
tmp/pr_tool_uat_fix_fullscreen_header_wiring_validation.json
139+
```
140+
141+
---
142+
143+
## Required Report
144+
145+
Create:
146+
147+
```txt
148+
docs/dev/reports/PR_tool_uat_fix_fullscreen_header_wiring_report.md
149+
```
150+
151+
Report must include:
152+
153+
- PASS/FAIL
154+
- changed files
155+
- root cause found
156+
- fullscreen DOM path fixed
157+
- visible fullscreen header text per tool
158+
- visible fullscreen intro text per tool
159+
- validation commands/results
160+
- remaining issues
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# PR Tool UAT Fix - Fullscreen Header Wiring Report
2+
3+
Date: 2026-04-28
4+
5+
## PASS/FAIL
6+
7+
PASS
8+
9+
## Changed Files
10+
11+
- `tools/shared/platformShell.js`
12+
- `tools/shared/platformShell.css`
13+
- `tools/toolRegistry.js`
14+
- `docs/dev/reports/PR_tool_uat_fix_fullscreen_header_wiring_report.md`
15+
16+
## Root Cause
17+
18+
Previous header/intro changes targeted the normal header host (`[data-tools-platform-header]`) inside `.is-collapsible__content`.
19+
20+
In fullscreen usage, the visible surface is the accordion summary node:
21+
22+
- `.is-collapsible > .is-collapsible__summary`
23+
24+
That summary remained static (`Header and Intro`) and was not bound to active tool metadata, so fullscreen users never saw the updated tool-specific header/intro content.
25+
26+
## Fullscreen DOM Path Fixed
27+
28+
Fixed fullscreen path:
29+
30+
- Source node: `.is-collapsible > .is-collapsible__summary`
31+
- Bound attributes:
32+
- `data-fullscreen-header`
33+
- `data-fullscreen-intro`
34+
- `data-fullscreen-summary-active`
35+
- `data-fullscreen-summary-error`
36+
37+
Wiring behavior:
38+
39+
- Metadata is applied during shell render (launch).
40+
- Metadata is refreshed on accordion toggle and `fullscreenchange`.
41+
- CSS fullscreen pseudo-content now renders header/intro from those attributes.
42+
- Existing summary text `Header and Intro` remains in DOM to preserve existing fullscreen toggle hook logic.
43+
44+
## Visible Fullscreen Header Text Per Tool
45+
46+
From `tmp/pr_tool_uat_fix_fullscreen_header_wiring_validation.json`:
47+
48+
- Vector Map Editor:
49+
- `Vector Map Editor — Map layout and collision authoring`
50+
- Vector Asset Studio:
51+
- `Vector Asset Studio — SVG asset authoring and export`
52+
- Sprite Editor:
53+
- `Sprite Editor — Palette-locked sprite and frame editing`
54+
- State Inspector:
55+
- `State Inspector — Host/runtime state snapshot inspection`
56+
- Asset Browser / Import Hub:
57+
- `Asset Browser / Import Hub — Approved asset browse and import planning`
58+
59+
## Visible Fullscreen Intro Text Per Tool
60+
61+
From `tmp/pr_tool_uat_fix_fullscreen_header_wiring_validation.json`:
62+
63+
- Vector Map Editor:
64+
- `Vector Map Editor: Vector geometry authoring tool for map layout, collision review, and runtime export workflows.`
65+
- Vector Asset Studio:
66+
- `Vector Asset Studio: Vector authoring studio for SVG-first asset work and first-class vector output for the platform.`
67+
- Sprite Editor:
68+
- `Sprite Editor: Pixel-art authoring workspace for palette-locked sprite sheets, animation frames, and registry-aware sprite projects.`
69+
- State Inspector:
70+
- `State Inspector: Read-only state visibility tool for host context, storage snapshots, and structured runtime payload inspection.`
71+
- Asset Browser / Import Hub:
72+
- `Asset Browser / Import Hub: Approved asset browsing and non-destructive import planning surface for vectors, palettes, parallax, tilemaps, and sprite workflow assets.`
73+
74+
## Validation Commands/Results
75+
76+
1. `node --check tools/shared/platformShell.js`
77+
- PASS
78+
2. `node --check tools/toolRegistry.js`
79+
- PASS
80+
3. Targeted fullscreen wiring validation script (browser automation)
81+
- Output: `tmp/pr_tool_uat_fix_fullscreen_header_wiring_validation.json`
82+
- Result: PASS (all target tools entered fullscreen and displayed bound header/intro text)
83+
84+
## Remaining Issues
85+
86+
1. Normal-mode Asset Browser header remains its local static topbar (`Asset Browser / Import Hub`) rather than the standardized shared-shell single-line header, which is outside this fullscreen-only blocker scope.

0 commit comments

Comments
 (0)