|
| 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 |
0 commit comments