Skip to content

Commit fe53ba3

Browse files
author
DavidQ
committed
Fix fullscreen tool naming and Asset Browser empty-state clarity
- Ensure fullscreen header includes active tool name - Ensure fullscreen intro includes active tool name - Keep header/intro compact with truncation support - Clarify Asset Browser 0204 empty/missing/invalid source states - Preserve no-silent-fallback behavior
1 parent 8878f25 commit fe53ba3

7 files changed

Lines changed: 492 additions & 93 deletions

File tree

docs/dev/codex_commands.md

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

44
PR purpose:
5-
Close Tools UAT only.
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.
68

79
Do not advance King of the Iceberg work.
8-
Do not create or modify KOTI layout/gameplay artifacts.
910
Do not modify sample games, runtime engine files, or start_of_day folders.
10-
11-
Use existing evidence:
12-
- tmp/uat_failed_cases_rerun.json
13-
- tmp/interactive_uat_report_4tools.json
14-
- docs/dev/reports/PR_tool_uat_failure_fix_report.md
15-
- any existing tool smoke/UAT reports
16-
17-
Create:
18-
- docs/dev/reports/PR_tool_uat_closeout_report.md
19-
20-
Report must include:
21-
1. Overall PASS/FAIL
22-
2. PASS/FAIL per tool:
23-
- Vector Map Editor
24-
- Vector Asset Studio
25-
- Sprite Editor
26-
- State Inspector
27-
3. Evidence files reviewed
28-
4. Remaining issues, if any
29-
5. Confirmation no KOTI work was advanced
30-
6. Confirmation no start_of_day folders changed
31-
7. Confirmation no sample game/runtime engine changes were made
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.
3235

3336
Targeted validation only:
34-
- Do not run long sample suites unless required.
35-
- If uncertainty exists, rerun only the specific failed-case UAT checks.
36-
- If no JavaScript files changed, node --check is not required.
37-
38-
Tool criteria:
39-
- Vector Map Editor: no silent auto-load, no auto-selection, explicit no-selection state, sample 1212 remains passing.
40-
- Vector Asset Studio: samples 0901/1204/1208 remain passing, paint/stroke selection gating works, invalid/incomplete state actionable.
41-
- Sprite Editor: invalid-state actionable message visible, no silent fallback sprite/sample.
42-
- State Inspector: remains passing for valid/invalid/empty JSON.
43-
44-
Report all remaining issues without masking them.
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.
41+
42+
Create report:
43+
docs/dev/reports/PR_tool_uat_fix_header_asset_browser_report.md
44+
45+
Report:
46+
- PASS/FAIL
47+
- changed files
48+
- validation performed
49+
- Asset Browser 0204 observed final state
50+
- 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-
Close tools UAT validation loop
1+
Fix fullscreen tool naming and Asset Browser empty-state clarity
22

3-
- Summarize PASS/FAIL status for four target tools
4-
- Review latest UAT evidence and failed-case rerun results
5-
- Confirm no King of the Iceberg work advanced
6-
- Confirm no runtime, sample, or start_of_day changes
7-
- Document remaining tool issues, if any
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
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
# PR — Tool UAT Fix: Fullscreen Header/Intro + Asset Browser 0204
2+
3+
## Purpose
4+
5+
Fix two Tools UAT blockers before declaring tools closed:
6+
7+
1. Fullscreen Header and Intro must include the active tool name.
8+
2. Asset Browser sample `0204` must show a clear, actionable state when no approved assets are loaded.
9+
10+
This PR is tools-only. Do not advance King of the Iceberg work.
11+
12+
---
13+
14+
## Scope
15+
16+
Target only shared tools/workspace UI and Asset Browser behavior.
17+
18+
Likely areas:
19+
- Shared tool shell/header rendering
20+
- Fullscreen mode header/intro rendering
21+
- Asset Browser launch/empty-state handling
22+
- Tool registry metadata if needed
23+
24+
Do not modify sample games, runtime game engine files, or `start_of_day` folders.
25+
26+
---
27+
28+
## 1. Fullscreen Header and Intro Tool Name
29+
30+
### Problem
31+
32+
The prior header rule focused on compact single-line text, but fullscreen mode still needs the tool name included in both:
33+
34+
- Header
35+
- Intro
36+
37+
### Required Behavior
38+
39+
When a tool is in fullscreen mode:
40+
41+
- Header must include the active tool name.
42+
- Intro must include the active tool name.
43+
- Keep the information compact and single-line where possible.
44+
- Do not use vague generic text like `Header and Intro` without tool context.
45+
- Do not hide missing config behind fallback text.
46+
47+
### Required Format
48+
49+
Header:
50+
51+
```txt
52+
<Tool Name> — <Short Description>
53+
```
54+
55+
Intro:
56+
57+
```txt
58+
<Tool Name>: <one-line usage/help text>
59+
```
60+
61+
Example:
62+
63+
```txt
64+
Vector Map Editor — Platform Layout & Tile Composition
65+
Vector Map Editor: Create, select, inspect, and export map/platform layouts.
66+
```
67+
68+
### Compactness Rule
69+
70+
- Header remains one line.
71+
- Intro remains one line.
72+
- Both may truncate with ellipsis if needed.
73+
- Tooltip/title should show full text.
74+
75+
### Missing Config Rule
76+
77+
If required metadata is missing:
78+
79+
- Show actionable configuration error.
80+
- Do not silently fall back to generic text.
81+
82+
---
83+
84+
## 2. Asset Browser Sample 0204
85+
86+
### Observed State
87+
88+
Sample `0204` displays:
89+
90+
```txt
91+
Browse Approved Assets
92+
Browse Assets launched from Shared Tools Surface. Choose a shared asset reference and publish it back to the active tool.
93+
94+
Category: All
95+
Search: vector
96+
97+
0 approved assets | source checked and empty. Source: active-project-manifest.tools.asset-browser.assets. Checked: active-project-manifest.tools.asset-browser.assets.
98+
No assets loaded
99+
Import or create asset
100+
```
101+
102+
### Problem
103+
104+
This may be technically accurate, but UAT needs to know whether this is:
105+
106+
- expected empty state, or
107+
- missing manifest/config, or
108+
- a workflow blocker.
109+
110+
### Required Behavior
111+
112+
For sample `0204`, Asset Browser must clearly state one of these:
113+
114+
1. Expected empty source:
115+
- The checked asset source exists and is empty.
116+
- Tell the user what to do next.
117+
118+
2. Missing source/config:
119+
- The asset source path is missing or invalid.
120+
- Tell the user what manifest/config field is required.
121+
122+
3. Load failure:
123+
- The source could not be read.
124+
- Show actionable error details.
125+
126+
### Required Empty-State Message
127+
128+
If the checked source exists but contains zero approved assets, show an actionable message like:
129+
130+
```txt
131+
Asset Browser found zero approved assets in active-project-manifest.tools.asset-browser.assets. Import an asset or create an approved asset entry to make it available here.
132+
```
133+
134+
### Required Validation Detail
135+
136+
The UI should expose:
137+
138+
- source path checked
139+
- result count
140+
- whether the source was present
141+
- whether it was empty vs missing vs invalid
142+
- next action
143+
144+
### No Silent Fallback
145+
146+
Do not auto-load sample/default assets when the source is empty.
147+
148+
---
149+
150+
## Acceptance Criteria
151+
152+
- Fullscreen header includes active tool name.
153+
- Fullscreen intro includes active tool name.
154+
- Header and intro remain compact/single-line with ellipsis and tooltip.
155+
- Missing header/intro metadata produces actionable configuration error.
156+
- Asset Browser sample `0204` clearly identifies whether the source is empty, missing, invalid, or failed.
157+
- Asset Browser empty state tells the user what to do next.
158+
- No silent fallback assets are loaded.
159+
- No KOTI work is advanced.
160+
- No sample games/runtime/start_of_day files are changed.
161+
162+
---
163+
164+
## Validation
165+
166+
Use targeted validation only.
167+
168+
Recommended checks:
169+
170+
```powershell
171+
node --check tools/shared/platformShell.js
172+
node --check tools/toolRegistry.js
173+
```
174+
175+
Also run targeted browser/tool validation for:
176+
177+
- Fullscreen mode on the four target tools
178+
- Asset Browser sample `0204`
179+
180+
Do not run long samples suite unless a changed file requires it.
181+
182+
---
183+
184+
## Report
185+
186+
Create:
187+
188+
```txt
189+
docs/dev/reports/PR_tool_uat_fix_header_asset_browser_report.md
190+
```
191+
192+
Include:
193+
194+
- PASS/FAIL
195+
- Changed files
196+
- Header/intro fullscreen validation notes
197+
- Asset Browser 0204 validation notes
198+
- Remaining issues
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# PR Tool UAT Fix - Header + Asset Browser 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/Asset Browser/main.js`
14+
- `docs/dev/reports/PR_tool_uat_fix_header_asset_browser_report.md`
15+
16+
## Validation Performed
17+
18+
1. Syntax checks on changed JavaScript:
19+
- `node --check tools/shared/platformShell.js` -> PASS
20+
- `node --check tools/Asset Browser/main.js` -> PASS
21+
22+
2. Targeted tool-shell header/intro validation (focused browser automation):
23+
- Generated evidence: `tmp/pr_tool_uat_fix_header_asset_browser_validation.json`
24+
- Verified on:
25+
- Vector Map Editor
26+
- Vector Asset Studio
27+
- Sprite Editor
28+
- State Inspector
29+
- Observed header format:
30+
- `<Tool Name> — <Short Description>`
31+
- Observed intro format:
32+
- `<Tool Name>: <one-line usage/help text>`
33+
- Verified single-line/truncation classes and title tooltip text are present on standardized header/intro elements.
34+
- Fullscreen attempt executed in validation and entered fullscreen during checks.
35+
36+
3. Targeted Asset Browser sample 0204 validation:
37+
- URL used:
38+
- `/tools/Asset Browser/index.html?sampleId=0204&sampleTitle=Sample%200204&samplePresetPath=/samples/phase-02/0204/sample.0204.asset-browser.json`
39+
- Captured from `tmp/pr_tool_uat_fix_header_asset_browser_validation.json`.
40+
41+
## Asset Browser 0204 Observed Final State
42+
43+
- `assetCountText`:
44+
- `0 approved assets | source missing. Source checked: active-project-manifest.tools.asset-browser.assets. Next action: add tools.asset-browser.assets in active project manifest or provide assetCatalogPath. Details: Active project manifest is loaded but tools.asset-browser is missing. Checked: active-project-manifest.tools.asset-browser.assets.`
45+
- `importStatusText`:
46+
- `Loaded preset from sample 0204.`
47+
48+
This confirms the UI now surfaces explicit actionable source-state diagnostics rather than a generic zero-assets message.
49+
50+
## Remaining Issues
51+
52+
1. Asset list empty placeholder text rendering still appears as a generic empty-state message; actionable source-state guidance is currently shown via status text surfaces (`assetCountText` and import/status messaging), not in the list placeholder body itself.

0 commit comments

Comments
 (0)