Skip to content

Commit 43b2a98

Browse files
author
DavidQ
committed
Add session-based launch path wiring for all V2 tools without fallback logic - PR 11.201
1 parent 1969214 commit 43b2a98

7 files changed

Lines changed: 100 additions & 15 deletions

File tree

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# PR_11_201 Report
2+
3+
## Tools Tested
4+
- `tools/asset-browser-v2/index.js`
5+
- `tools/palette-manager-v2/index.js`
6+
- `tools/svg-asset-studio-v2/index.js`
7+
- `tools/tilemap-studio-v2/index.js`
8+
- `tools/vector-map-editor-v2/index.js`
9+
10+
## Files Changed
11+
- `tools/index.html`
12+
- `tools/asset-browser-v2/index.js`
13+
- `tools/palette-manager-v2/index.js`
14+
- `tools/svg-asset-studio-v2/index.js`
15+
- `tools/tilemap-studio-v2/index.js`
16+
- `tools/vector-map-editor-v2/index.js`
17+
- `docs/dev/reports/PR_11_201_report.md`
18+
19+
## Launch/Session Wiring Adjustments
20+
- Updated V2 launch links in `tools/index.html` to relative paths (`./<tool>-v2/index.html`) for direct tools-index launches.
21+
- Updated all V2 tool session readers so:
22+
- no `hostContextId` -> empty/missing state
23+
- provided but unresolved `hostContextId` -> actionable invalid/error state
24+
- valid `hostContextId` with valid session payload -> normal render path
25+
26+
## Validation Commands
27+
- `node --check tools/asset-browser-v2/index.js`
28+
- `node --check tools/palette-manager-v2/index.js`
29+
- `node --check tools/svg-asset-studio-v2/index.js`
30+
- `node --check tools/tilemap-studio-v2/index.js`
31+
- `node --check tools/vector-map-editor-v2/index.js`
32+
33+
## Validation Results
34+
- `node --check tools/asset-browser-v2/index.js`: **PASS**
35+
- `node --check tools/palette-manager-v2/index.js`: **PASS**
36+
- `node --check tools/svg-asset-studio-v2/index.js`: **PASS**
37+
- `node --check tools/tilemap-studio-v2/index.js`: **PASS**
38+
- `node --check tools/vector-map-editor-v2/index.js`: **PASS**
39+
40+
## Session Scenarios Tested
41+
42+
### Asset Browser V2
43+
- Scenario 1 (no parameters): **PASS** (code-path inspection: `renderMissing(...)` when `hostContextId` is absent)
44+
- Scenario 2 (invalid `hostContextId`): **PASS** (code-path inspection: `renderError(...)` with actionable message when session key is missing)
45+
- Scenario 3 (valid `hostContextId`): **PASS** (code-path inspection: resolves `toolboxaid.toolHost.context.<id>`, parses JSON, validates `payloadJson.assetCatalog`, renders)
46+
- Scenario 4 (open from tools index): **PASS** (link points to `./asset-browser-v2/index.html`)
47+
48+
### Palette Manager V2
49+
- Scenario 1 (no parameters): **PASS** (code-path inspection: `renderMissing(...)`)
50+
- Scenario 2 (invalid `hostContextId`): **PASS** (code-path inspection: `renderError(...)` with actionable message)
51+
- Scenario 3 (valid `hostContextId`): **PASS** (code-path inspection: validates `paletteJson`, renders)
52+
- Scenario 4 (open from tools index): **PASS** (link points to `./palette-manager-v2/index.html`)
53+
54+
### SVG Asset Studio V2
55+
- Scenario 1 (no parameters): **PASS** (code-path inspection: `renderMissing(...)`)
56+
- Scenario 2 (invalid `hostContextId`): **PASS** (code-path inspection: `renderError(...)` with actionable message)
57+
- Scenario 3 (valid `hostContextId`): **PASS** (code-path inspection: validates `payloadJson.vectorAssetDocument`, renders)
58+
- Scenario 4 (open from tools index): **PASS** (link points to `./svg-asset-studio-v2/index.html`)
59+
60+
### Tilemap Studio V2
61+
- Scenario 1 (no parameters): **PASS** (code-path inspection: `renderMissing(...)`)
62+
- Scenario 2 (invalid `hostContextId`): **PASS** (code-path inspection: `renderError(...)` with actionable message)
63+
- Scenario 3 (valid `hostContextId`): **PASS** (code-path inspection: validates `payloadJson.tileMapDocument`, renders)
64+
- Scenario 4 (open from tools index): **PASS** (link points to `./tilemap-studio-v2/index.html`)
65+
66+
### Vector Map Editor V2
67+
- Scenario 1 (no parameters): **PASS** (code-path inspection: `renderMissing(...)`)
68+
- Scenario 2 (invalid `hostContextId`): **PASS** (code-path inspection: `renderError(...)` with actionable message)
69+
- Scenario 3 (valid `hostContextId`): **PASS** (code-path inspection: validates `payloadJson.vectorMapDocument`, renders)
70+
- Scenario 4 (open from tools index): **PASS** (link points to `./vector-map-editor-v2/index.html`)
71+
72+
## Fallback Logic Confirmation
73+
- No fallback/demo/sample auto-load logic was introduced.
74+
- No URL `payloadJson` writeback/session-seeding helper exists in V2 scripts (`writeUrlPayloadToSession`, `sessionId=`, and `payloadJson=` launch seeding patterns not present).
75+
76+
## Manual Browser Validation Note
77+
- Browser-interactive execution (opening each page and checking console) was not executed in this CLI-only environment; scenario results above are execution-backed syntax checks plus deterministic code-path verification.
78+
79+
## Scope Guard Confirmation
80+
- No schema files changed.
81+
- No sample files changed.
82+
- No game files changed.
83+
- No Workspace Manager v1 files changed.
84+
- No `platformShell` files changed.
85+
- No `tools/shared/*` files changed.

tools/asset-browser-v2/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class AssetBrowserV2 {
1818
`toolboxaid.toolHost.context.${new URL(window.location.href).searchParams.get("hostContextId")}`
1919
)
2020
) {
21-
this.renderMissing("No session context was found for the provided hostContextId.");
21+
this.renderError("No session context was found for the provided hostContextId. Re-open Asset Browser V2 from a host session that provides a valid hostContextId.");
2222
return;
2323
}
2424
this.loadContract(

tools/index.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,38 +38,38 @@ <h2>Workspace Manager</h2>
3838
<h2>Completed V2 Tools</h2>
3939
<div class="grid" data-v2-tools-grid>
4040
<div class="card">
41-
<h3><a href="/tools/palette-manager-v2/index.html">Palette Manager V2</a></h3>
41+
<h3><a href="./palette-manager-v2/index.html">Palette Manager V2</a></h3>
4242
<p>Session-driven palette viewer with explicit V2 shell and validation states.</p>
4343
<div class="meta">
44-
<a class="tools-platform-card__action" href="/tools/palette-manager-v2/index.html">Open Tool</a>
44+
<a class="tools-platform-card__action" href="./palette-manager-v2/index.html">Open Tool</a>
4545
</div>
4646
</div>
4747
<div class="card">
48-
<h3><a href="/tools/svg-asset-studio-v2/index.html">SVG Asset Studio V2</a></h3>
48+
<h3><a href="./svg-asset-studio-v2/index.html">SVG Asset Studio V2</a></h3>
4949
<p>Session-driven SVG asset loader with explicit V2 shell and validation states.</p>
5050
<div class="meta">
51-
<a class="tools-platform-card__action" href="/tools/svg-asset-studio-v2/index.html">Open Tool</a>
51+
<a class="tools-platform-card__action" href="./svg-asset-studio-v2/index.html">Open Tool</a>
5252
</div>
5353
</div>
5454
<div class="card">
55-
<h3><a href="/tools/vector-map-editor-v2/index.html">Vector Map Editor V2</a></h3>
55+
<h3><a href="./vector-map-editor-v2/index.html">Vector Map Editor V2</a></h3>
5656
<p>Session-driven vector map preview with explicit V2 shell and validation states.</p>
5757
<div class="meta">
58-
<a class="tools-platform-card__action" href="/tools/vector-map-editor-v2/index.html">Open Tool</a>
58+
<a class="tools-platform-card__action" href="./vector-map-editor-v2/index.html">Open Tool</a>
5959
</div>
6060
</div>
6161
<div class="card">
62-
<h3><a href="/tools/tilemap-studio-v2/index.html">Tilemap Studio V2</a></h3>
62+
<h3><a href="./tilemap-studio-v2/index.html">Tilemap Studio V2</a></h3>
6363
<p>Session-driven tilemap preview with explicit V2 shell and validation states.</p>
6464
<div class="meta">
65-
<a class="tools-platform-card__action" href="/tools/tilemap-studio-v2/index.html">Open Tool</a>
65+
<a class="tools-platform-card__action" href="./tilemap-studio-v2/index.html">Open Tool</a>
6666
</div>
6767
</div>
6868
<div class="card">
69-
<h3><a href="/tools/asset-browser-v2/index.html">Asset Browser V2</a></h3>
69+
<h3><a href="./asset-browser-v2/index.html">Asset Browser V2</a></h3>
7070
<p>Session-driven asset catalog browser with explicit V2 shell and validation states.</p>
7171
<div class="meta">
72-
<a class="tools-platform-card__action" href="/tools/asset-browser-v2/index.html">Open Tool</a>
72+
<a class="tools-platform-card__action" href="./asset-browser-v2/index.html">Open Tool</a>
7373
</div>
7474
</div>
7575
</div>

tools/palette-manager-v2/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class PaletteManagerV2 {
1818
`toolboxaid.toolHost.context.${new URL(window.location.href).searchParams.get("hostContextId")}`
1919
)
2020
) {
21-
this.renderMissing("No session context was found for the provided hostContextId.");
21+
this.renderError("No session context was found for the provided hostContextId. Re-open Palette Manager V2 from a host session that provides a valid hostContextId.");
2222
return;
2323
}
2424
this.loadContract(

tools/svg-asset-studio-v2/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class SvgAssetStudioV2 {
1919
`toolboxaid.toolHost.context.${new URL(window.location.href).searchParams.get("hostContextId")}`
2020
)
2121
) {
22-
this.renderMissing("No session context was found for the provided hostContextId.");
22+
this.renderError("No session context was found for the provided hostContextId. Re-open SVG Asset Studio V2 from a host session that provides a valid hostContextId.");
2323
return;
2424
}
2525
this.loadContract(

tools/tilemap-studio-v2/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TilemapStudioV2 {
1818
`toolboxaid.toolHost.context.${new URL(window.location.href).searchParams.get("hostContextId")}`
1919
)
2020
) {
21-
this.renderMissing("No session context was found for the provided hostContextId.");
21+
this.renderError("No session context was found for the provided hostContextId. Re-open Tilemap Studio V2 from a host session that provides a valid hostContextId.");
2222
return;
2323
}
2424
this.loadContract(

tools/vector-map-editor-v2/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class VectorMapEditorV2 {
1818
`toolboxaid.toolHost.context.${new URL(window.location.href).searchParams.get("hostContextId")}`
1919
)
2020
) {
21-
this.renderMissing("No session context was found for the provided hostContextId.");
21+
this.renderError("No session context was found for the provided hostContextId. Re-open Vector Map Editor V2 from a host session that provides a valid hostContextId.");
2222
return;
2323
}
2424
this.loadContract(

0 commit comments

Comments
 (0)