Skip to content

Commit 8c731cd

Browse files
author
DavidQ
committed
Re-engineer Vector Map Editor V2 with session-only data and shared header compliance - PR 11.191
1 parent b67b795 commit 8c731cd

5 files changed

Lines changed: 369 additions & 30 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,22 @@
1-
# Codex Commands — PR_11_190
1+
# Codex Commands — PR_11_191 Vector Map Editor V2
22

33
## Model
4+
GPT-5.4-codex
45

5-
Use GPT-5.4 or GPT-5.3-codex.
6-
7-
Reasoning: high.
8-
9-
## Execute
6+
## Reasoning
7+
High
108

9+
## Command
1110
```powershell
12-
cd C:\Users\davidq\Documents\GitHub\HTML-JavaScript-Gaming
11+
codex --model gpt-5.4-codex --reasoning high "Apply PR_11_191 exactly as documented in docs/pr/PR_11_191_VECTOR_MAP_EDITOR_V2_REENGINEER_PLAN.md. Re-engineer Vector Map Editor V2 only. Do not copy/paste legacy tool code. Do not modify schemas, samples, games, Workspace Manager v1, platformShell, assetUsageIntegration, or tools/shared. Use session-backed data only. Visible tool name must end with V2. Header must use the /index.html shared theme header mount: <div id="shared-theme-header"></div>. Keep implementation to a single tool file and single class unless the existing repo entry file requires only wiring to that one class. No helper classes, no alias variables, no abstraction layers, no fallback/default data. Add targeted validation and write findings to docs/dev/reports/PR_11_191_VECTOR_MAP_EDITOR_V2_VALIDATION.md. Do not run full samples smoke test."
1312
```
1413

14+
## Targeted Validation
1515
```powershell
16-
codex --model gpt-5.4 --reasoning high "Apply docs/pr/PR_11_190_V2_REENGINEER_NAMING_HEADER_GUARD.md exactly. This is a re-engineer guard, not copy/paste. Update only the V2 tool lane needed for Palette Manager V2 and SVG Asset Studio V2 naming/header compliance. Do not change schemas, samples, games, Workspace Manager v1, platformShell, tools/shared, or legacy tools. Ensure every visible V2 tool name ends with V2. Ensure the V2 tools use the /index.html shared theme header mount <div id='shared-theme-header'></div>. Do not add fallback/default data. Do not introduce helper classes, abstraction layers, alias variables, or pass-through variables. Run targeted syntax checks only. Write validation notes to docs/dev/reports/PR_11_190_validation.md. Place the finished repo-structured ZIP at tmp/PR_11_190_20260501_01.zip."
17-
```
18-
19-
## Required Output From Codex
20-
21-
Codex must create:
22-
23-
```text
24-
tmp/PR_11_190_20260501_01.zip
25-
docs/dev/reports/PR_11_190_validation.md
16+
node --check tools/vector-map-editor-v2/index.js
2617
```
2718

28-
## Expected Evidence
19+
If the exact file name differs after Codex creates the V2 lane structure, run `node --check` on the created Vector Map Editor V2 entry file only.
2920

30-
The validation report must include:
31-
32-
```text
33-
[REENGINEER_NOT_COPY_PASTE]
34-
[V2_NAME_SUFFIX_ENFORCED]
35-
[SHARED_THEME_HEADER_MOUNT]
36-
[NO_PLATFORM_SHELL]
37-
[NO_TOOLS_SHARED]
38-
[NO_FALLBACK_DATA]
39-
[TARGETED_VALIDATION_ONLY]
40-
```
21+
## Full Samples Smoke Test
22+
Skipped by default. Reason: this PR is limited to one V2 tool and does not modify shared sample loader/framework.

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Enforce V2 re-engineer naming and shared header guard for Palette/SVG tools - PR 11.190
1+
Re-engineer Vector Map Editor V2 with session-only data and shared header compliance - PR 11.191
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# PR_11_191 Vector Map Editor V2 Validation Report
2+
3+
## Purpose
4+
Re-engineer Vector Map Editor V2 only as an isolated Tool V2 lane entry.
5+
6+
## Changed Files
7+
- `tools/vector-map-editor-v2/index.js`
8+
- `docs/dev/reports/PR_11_191_VECTOR_MAP_EDITOR_V2_VALIDATION.md`
9+
10+
Existing PR source doc was present in the worktree and included in the ZIP:
11+
- `docs/pr/PR_11_191_VECTOR_MAP_EDITOR_V2_REENGINEER_PLAN.md`
12+
13+
## Implementation Evidence
14+
- `[VECTOR_MAP_V2_ENTRY]` is logged at entry.
15+
- `[SESSION_CONTEXT_READ]` is logged before session contract resolution.
16+
- `[VECTOR_MAP_V2_CONTRACT_LOADED]` is logged when the session contract loader runs.
17+
- The visible tool name is `Vector Map Editor V2`.
18+
- The page mounts the shared `/index.html` theme header with `<div id="shared-theme-header"></div>`.
19+
- The implementation is a single file with a single class: `VectorMapEditorV2`.
20+
- Session data is read from `toolboxaid.toolHost.context.<hostContextId>`.
21+
- URL `payloadJson` is written to session first, then re-read through `hostContextId`.
22+
- The only accepted vector map contract is `payloadJson.vectorMapDocument`.
23+
- Vector map rendering uses the session-backed document objects and points.
24+
- Empty and error states are explicit and actionable.
25+
26+
## Required Checks
27+
- [x] Vector Map Editor V2 visible name ends with V2.
28+
- [x] Header uses `<div id="shared-theme-header"></div>`.
29+
- [x] No platformShell dependency.
30+
- [x] No assetUsageIntegration dependency.
31+
- [x] No `tools/shared/*` dependency.
32+
- [x] No fallback/default data.
33+
- [x] No schema changes.
34+
- [x] No sample changes.
35+
- [x] No game changes.
36+
- [x] Full samples smoke test skipped with reason.
37+
38+
## Targeted Validation
39+
Command:
40+
41+
```powershell
42+
node --check tools/vector-map-editor-v2/index.js
43+
```
44+
45+
Result: passed.
46+
47+
## Guard Scans
48+
Command:
49+
50+
```powershell
51+
rg -n "platformShell|assetUsageIntegration|tools/shared|Workspace Manager|handoff|fallback|default|demo data|^import |^export " -- tools/vector-map-editor-v2/index.js
52+
```
53+
54+
Result: passed. No matches.
55+
56+
Command:
57+
58+
```powershell
59+
rg -n "Vector Map Editor(?! V2)|shared-theme-header|VECTOR_MAP_V2_ENTRY|SESSION_CONTEXT_READ|VECTOR_MAP_V2_CONTRACT_LOADED" --pcre2 -- tools/vector-map-editor-v2/index.js
60+
```
61+
62+
Result: passed. Evidence found for the required header/log markers and no unsuffixed visible tool name.
63+
64+
## Scope Guard
65+
No changes were made to:
66+
67+
- schemas
68+
- samples
69+
- games
70+
- `start_of_day/**`
71+
- Workspace Manager v1
72+
- `platformShell`
73+
- `assetUsageIntegration`
74+
- `tools/shared/**`
75+
- legacy Vector Map Editor
76+
77+
## Full Samples Smoke Decision
78+
Full samples smoke test skipped.
79+
80+
Reason: this PR is limited to one isolated V2 tool entry and does not modify shared sample loader/framework behavior.
81+
82+
## ZIP Artifact
83+
84+
```text
85+
tmp/PR_11_191_VECTOR_MAP_EDITOR_V2_delta.zip
86+
```
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# PR_11_191 — Vector Map Editor V2 Re-Engineer
2+
3+
## Purpose
4+
Re-engineer Vector Map Editor V2 as the next tool in the V2 lane. This is not a copy/paste of legacy Vector Map Editor code.
5+
6+
## Scope
7+
- Tool: Vector Map Editor V2 only.
8+
- Single-file, single-class implementation target.
9+
- Session-backed data only.
10+
- Must use the shared `/index.html` theme header mount: `<div id="shared-theme-header"></div>`.
11+
- Must keep V2 suffix in visible tool naming and tool identity.
12+
13+
## Out of Scope
14+
- No schema changes.
15+
- No sample changes.
16+
- No game changes.
17+
- No Workspace Manager v1 work.
18+
- No platformShell usage.
19+
- No assetUsageIntegration usage.
20+
- No `tools/shared/*` dependency.
21+
- No legacy helper copy/paste.
22+
23+
## Required Architecture
24+
Data entry paths:
25+
1. Workspace writes session, tool reads session.
26+
2. Tool URL writes session, tool reads session.
27+
3. Tool direct reads session via hostContextId.
28+
29+
Tool never fetches, guesses, defaults, or falls back.
30+
31+
## Required Logs
32+
- `[VECTOR_MAP_V2_ENTRY]`
33+
- `[SESSION_CONTEXT_READ]`
34+
- `[VECTOR_MAP_V2_CONTRACT_LOADED]`
35+
36+
## Acceptance
37+
- Vector Map Editor V2 loads from session.
38+
- Vector map renders from session-backed contract.
39+
- Empty and invalid states are explicit and actionable.
40+
- Header uses `/index.html` shared header image/theme mount.
41+
- No legacy v1 coupling.
42+
- No fallback/default data.
43+
- No schema/sample/game changes.

0 commit comments

Comments
 (0)