|
1 | | -MODEL: gpt-5.3-codex |
2 | | -REASONING: medium |
3 | | - |
4 | | -# PR_11_198 — Tilemap Studio V2 Completion + Validation |
5 | | - |
6 | | -## Execute |
7 | | -Implement the smallest valid testable change for Tilemap Studio V2. |
8 | | - |
9 | | -## Hard Boundaries |
10 | | -- Codex writes implementation code. |
11 | | -- Do not change schemas. |
12 | | -- Do not change samples. |
13 | | -- Do not change games. |
14 | | -- Do not touch Workspace Manager v1. |
15 | | -- Do not patch legacy tools. |
16 | | -- Do not use platformShell. |
17 | | -- Do not use tools/shared except the explicitly required theme/header mount path already used by the repo theme system. |
18 | | -- Do not copy old tool code. Re-engineer the V2 tool. |
19 | | - |
20 | | -## Required Files To Inspect/Edit |
21 | | -- tools/tilemap-studio-v2/index.html |
22 | | -- tools/tilemap-studio-v2/index.js |
23 | | - |
24 | | -If either file does not exist, create only the missing file required for this tool. |
25 | | - |
26 | | -## Implementation Rules |
27 | | -1. `tools/tilemap-studio-v2/index.html` must own the static shell: |
28 | | - - include theme CSS |
29 | | - - include `<div id="shared-theme-header"></div>` |
30 | | - - include static page shell/root container |
31 | | - - include static menuTool section |
32 | | - - include static menuWorkspace section |
33 | | - - include `../../src/engine/theme/mount-shared-header.js` |
34 | | - - include `./index.js` |
35 | | - |
36 | | -2. `tools/tilemap-studio-v2/index.js` must be behavior-only: |
37 | | - - single class |
38 | | - - no helper classes |
39 | | - - no alias/pass-through variables |
40 | | - - no full-page `innerHTML` construction |
41 | | - - no CSS injection |
42 | | - - no dynamic header injection |
43 | | - - read session only |
44 | | - - update existing DOM nodes only |
45 | | - - handle missing, invalid, and valid session states |
46 | | - |
47 | | -3. Enforce naming: |
48 | | - - visible name: `Tilemap Studio V2` |
49 | | - - `document.title`: `Tilemap Studio V2` |
50 | | - - `data-tool-id`: `tilemap-studio-v2` |
51 | | - |
52 | | -4. Session rules: |
53 | | - - no fallback data |
54 | | - - no defaults |
55 | | - - no fetch |
56 | | - - no guessed payloads |
57 | | - - no hidden samples |
58 | | - |
59 | | -## Validation Commands |
60 | | -Run targeted validation only: |
61 | | - |
62 | | -```powershell |
63 | | -node --check tools/tilemap-studio-v2/index.js |
64 | | -``` |
65 | | - |
66 | | -Manual validation: |
67 | | -- Open `tools/tilemap-studio-v2/index.html`. |
68 | | -- Confirm shared header renders in `#shared-theme-header`. |
69 | | -- Confirm missing session shows clear actionable state. |
70 | | -- Confirm valid session renders tilemap content. |
71 | | -- Confirm browser console has no errors. |
72 | | - |
73 | | -## Evidence Report |
74 | | -Create or update: |
75 | | - |
76 | | -```text |
77 | | -docs/dev/reports/PR_11_198_report.md |
78 | | -``` |
79 | | - |
80 | | -Report must include: |
81 | | -- files changed |
82 | | -- validation commands run |
83 | | -- pass/fail results |
84 | | -- manual test notes |
85 | | -- statement that full samples smoke was skipped and why |
86 | | - |
87 | | -## Local ZIP Output |
88 | | -After validation, Codex must create: |
89 | | - |
90 | | -```text |
91 | | -<project folder>/tmp/PR_11_198.zip |
92 | | -``` |
93 | | - |
94 | | -The ZIP must preserve repo-relative structure and include the final changed files plus docs/dev evidence. |
95 | | - |
96 | | - |
97 | | ---- |
98 | | -PR_11_310 |
99 | | - |
100 | | -```bash |
101 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_310 ..." |
102 | | -``` |
103 | | - |
104 | | - |
105 | | ---- |
106 | | -PR_11_311 |
107 | | - |
108 | | -```bash |
109 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_311 ..." |
110 | | -``` |
111 | | - |
112 | | - |
113 | | ---- |
114 | | -PR_11_312 |
115 | | - |
116 | | -```bash |
117 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_312 ..." |
118 | | -``` |
119 | | - |
120 | | - |
121 | | ---- |
122 | | -PR_11_313 |
123 | | - |
124 | | -```bash |
125 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_313 ..." |
126 | | -``` |
127 | | - |
128 | | ---- |
129 | | -PR_11_313 (Workspace V2 launcher + Asset Manager V2 UI labels) |
130 | | - |
131 | | -```bash |
132 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_313: Workspace V2 tool launcher UI + Asset Manager V2 user-facing rename." |
133 | | -``` |
134 | | - |
135 | | ---- |
136 | | -PR_11_313 (single contract rename: asset-manager-v2) |
137 | | - |
138 | | -```bash |
139 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_313: rename legacy asset browser v2 id to asset-manager-v2 across tool ID, paths, payloads, registry links, tests, and docs with zero old references." |
140 | | -``` |
141 | | - |
142 | | ---- |
143 | | -PR_11_314 |
144 | | - |
145 | | -```bash |
146 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_314: persist valid Asset Manager V2 payloadJson.assetCatalog into Workspace V2 active session/export path and block invalid writes." |
147 | | -``` |
148 | | - |
149 | | ---- |
150 | | -PR_11_315 |
151 | | - |
152 | | -```bash |
153 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_315: Enable core asset management actions in Asset Manager V2 (add/remove entries) with strict required-field validation and workspace persistence." |
154 | | -``` |
155 | | - |
156 | | ---- |
157 | | -PR_11_316 |
158 | | - |
159 | | -```bash |
160 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_316: Harden Asset Manager V2 add/remove actions by rejecting duplicate ids, blank/whitespace fields, and missing remove ids with actionable status messages while preserving valid persistence behavior." |
161 | | -``` |
162 | | - |
163 | | ---- |
164 | | -PR_11_317 |
165 | | - |
166 | | -```bash |
167 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_317: Clarify Workspace V2 Asset Manager launcher with explicit no-session vs active-session state while preserving session-routed launch behavior." |
168 | | -``` |
169 | | - |
170 | | ---- |
171 | | -PR_11_318 |
172 | | - |
173 | | -```bash |
174 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318: Add Asset Manager V2 row selection + details panel with UI-only selection state and no payload mutation." |
175 | | -``` |
176 | | - |
177 | | ---- |
178 | | -PR_11_318A |
179 | | - |
180 | | -```bash |
181 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318A: Remove test-to-test imports by extracting RuntimeSceneLoaderHotReload shared logic into tests/helpers and updating final/tool tests to consume helper." |
182 | | -``` |
183 | | - |
184 | | ---- |
185 | | -PR_11_318B |
186 | | - |
187 | | -```bash |
188 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318B: Add first Playwright UI test for Workspace V2 launching Asset Manager V2, add/remove asset flow, and export verification." |
189 | | -``` |
190 | | - |
191 | | ---- |
192 | | -PR_11_318C |
193 | | - |
194 | | -```bash |
195 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318C: Redirect Playwright outputs to tests/results/** and avoid default output folders with config-only changes." |
196 | | -``` |
197 | | - |
198 | | ---- |
199 | | -PR_11_318D |
| 1 | +# PR_26124_043-palette-manager-accordion-v2 |
200 | 2 |
|
201 | 3 | ```bash |
202 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318D: Expand Workspace V2 Playwright UI coverage into full Asset Manager regression with launch/add/remove/validation/export/import round-trip assertions." |
| 4 | +npx @openai/codex run --model gpt-5.5 --reasoning high "Run full workflow for PR_26124_043-palette-manager-accordion-v2. Follow PROJECT_INSTRUCTIONS.md exactly. Rewrite only palette-manager-v2 center accordion HTML/JS/CSS to use a local accordionV2 structure instead of details/summary." |
203 | 5 | ``` |
204 | 6 |
|
205 | | ---- |
206 | | -PR_11_318E |
207 | | - |
208 | | -```bash |
209 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_318E: Configure Playwright HTML reporter to open automatically after targeted UI test runs." |
210 | | -``` |
211 | | - |
212 | | ---- |
213 | | -PR_11_319 |
214 | | - |
215 | | -```bash |
216 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_319: Add required Workspace V2 Playwright gate command with explicit pass/fail summary and non-zero failure handling." |
217 | | -``` |
218 | | - |
219 | | ---- |
220 | | -PR_11_320 |
221 | | - |
222 | | -```bash |
223 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_320: Update Workspace V2 Playwright gate to execute installed Playwright command path only, preserving fail-fast and summary output." |
224 | | -``` |
225 | | - |
226 | | ---- |
227 | | -PR_11_322 |
228 | | - |
229 | | -```bash |
230 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_322: Run Workspace V2 Playwright tests automatically via CI." |
231 | | -``` |
232 | | - |
233 | | ---- |
234 | | -PR_11_323 |
235 | | - |
236 | | -```bash |
237 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_323: Add full Workspace V2 Playwright coverage beyond Asset Manager." |
238 | | -``` |
239 | | - |
240 | | ---- |
241 | | -PR_11_324 |
242 | | - |
243 | | -```bash |
244 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_324: Audit all tools for Workspace V2 compliance and completion status." |
245 | | -``` |
246 | | - |
247 | | ---- |
248 | | -PR_11_325 |
249 | | - |
250 | | -```bash |
251 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_325: Fix the highest-impact failing Workspace V2 tool interaction from tool_completion_audit.md." |
252 | | -``` |
253 | | - |
254 | | ---- |
255 | | -PR_11_326 |
256 | | - |
257 | | -```bash |
258 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_326: Fix the next failing tool from tool_completion_audit.md." |
259 | | -``` |
260 | | - |
261 | | ---- |
262 | | -PR_11_321 |
263 | | - |
264 | | -```bash |
265 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_321: Document the Workspace V2 Playwright validation gate for repeatable local testing." |
266 | | -``` |
267 | | - |
268 | | ---- |
269 | | -PR_11_327 |
270 | | - |
271 | | -```bash |
272 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_11_327: fix the next failing tool from tool_completion_audit.md with a minimal single-tool change and required Workspace V2 Playwright gate validation." |
273 | | -``` |
274 | | - |
275 | | ---- |
276 | | -PR_26123_001-project-instructions-update |
277 | | - |
278 | | -```bash |
279 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PROJECT_INSTRUCTIONS update: add PR naming standard, update ChatGPT output contract (command + commit comment + Playwright coverage + manual test steps), and enforce ChatGPT non-ZIP ownership language while keeping Codex ZIP ownership intact." |
280 | | -``` |
281 | | - |
282 | | ---- |
283 | | -PR_26124_002-palette-manager-strict-payload-guard |
284 | | - |
285 | | -```bash |
286 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_002: fix the next failing tool from tool_completion_audit.md with a minimal single-tool palette-manager-v2 guard that rejects legacy payloadJson.paletteDocument.colors before render and validates required swatches contract." |
287 | | -``` |
288 | | - |
289 | | ---- |
290 | | -PR_26124_003-validation-scope-sample-exclusion |
291 | | - |
292 | | -```bash |
293 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_003: adjust validation scope to exclude sample-launch requirements until sample JSON is schema-compliant, update docs/dev validation wording, and keep Playwright workspace lifecycle/payload/roundtrip coverage sample-independent." |
294 | | -``` |
295 | | - |
296 | | ---- |
297 | | -PR_26124_004-workspace-v2-launch-toolid-guard |
298 | | - |
299 | | -```bash |
300 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_004: fix next failing Workspace V2 tool lane issue with a minimal guard that blocks launch when active session.toolId does not match selected tool and preserves strict payload behavior." |
301 | | -``` |
302 | | - |
303 | | ---- |
304 | | -PR_26124_006-playwright-ctrl-tap-debug |
305 | | - |
306 | | -```bash |
307 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_006: add shared Ctrl tap (Control down/up) before key Playwright click actions for Workspace V2 navigation/tool/workspace interaction points without changing runtime behavior." |
308 | | -``` |
309 | | - |
310 | | ---- |
311 | | -PR_26124_007-tool-payload-guards-group |
312 | | - |
313 | | -```bash |
314 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_007: fix next small group of failing tools (asset-manager-v2 + palette-manager-v2) by adding strict pre-render cross-tool payload guards while preserving workspace launch behavior." |
315 | | -``` |
316 | | - |
317 | | ---- |
318 | | -PR_26124_008-next-fail-group-fix |
319 | | - |
320 | | -```bash |
321 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_008: extract next 3 FAIL tools from tool_completion_audit.md, fix only that group with minimal contract-safe changes, update audit statuses for those tools only, and validate with npm run test:workspace-v2." |
322 | | -``` |
323 | | - |
324 | | ---- |
325 | | -PR_26124_009-empty-fail-batch-capture |
326 | | - |
327 | | -```bash |
328 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_009: extract next FAIL tools from tool_completion_audit.md, record explicit batch fail list, and if no FAIL tools remain capture the empty batch with validation evidence and no runtime changes." |
329 | | -``` |
330 | | - |
331 | | ---- |
332 | | -PR_26124_014-include-review-diff |
333 | | - |
334 | | -```bash |
335 | | -npm run codex:review-artifacts |
336 | | -``` |
337 | | - |
338 | | ---- |
339 | | -PR_26124_018-clarify-tools-vs-toolstate-ux |
340 | | - |
341 | | -```bash |
342 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_018-clarify-tools-vs-toolstate-ux." |
343 | | -``` |
344 | | - |
345 | | ---- |
346 | | -PR_26124_018-workspace-toolstate-lifecycle-ux |
| 7 | +## Validation Commands |
347 | 8 |
|
348 | 9 | ```bash |
349 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_018-workspace-toolstate-lifecycle-ux." |
| 10 | +node --check tools/palette-manager-v2/modules/PaletteManagerApp.js |
| 11 | +npm run test:workspace-v2 |
350 | 12 | ``` |
351 | 13 |
|
352 | | ---- |
353 | | -PR_26124_020-workspace-tools-reengineering-design-docs |
| 14 | +## Manual Validation |
354 | 15 |
|
355 | | -```bash |
356 | | -npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_020-workspace-tools-reengineering-design-docs." |
357 | | -``` |
| 16 | +- Open `tools/palette-manager-v2/index.html`. |
| 17 | +- Confirm User Palette and Add User Swatch use accordionV2 button headers. |
| 18 | +- Confirm both open panels share center height. |
| 19 | +- Collapse either panel and confirm the other fills available center height. |
| 20 | +- Confirm source select, search, sort, size, pin, and unpin still work. |
0 commit comments