Skip to content

Commit 837cc06

Browse files
author
DavidQ
committed
Finish Workspace manifest removal and rename remaining manifest files - PR_26140_057-finish-workspace-manifest-removal
1 parent c27970b commit 837cc06

11 files changed

Lines changed: 368 additions & 206 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Workspace Manifest Final Removal Report
2+
3+
PR: `PR_26140_057-finish-workspace-manifest-removal`
4+
5+
## Summary
6+
- Removed the active root workspace manifest file path.
7+
- Moved the old root sample-link registry to `samples/sample.to.workspace.json`.
8+
- Converted the sample-link registry to a tool-first contract using `schema: "html-js-gaming.sample-tool-links/1"`.
9+
- Moved template/UAT Workspace Manager V2 fixtures to their current responsibilities.
10+
- Preserved Workspace Manager V2 launch/save behavior.
11+
12+
## File Moves
13+
- `workspace.manifest.json` -> `samples/sample.to.workspace.json`
14+
- Replaced the old `html-js-gaming.workspace-manifest.palette-links/1` schema value.
15+
- Removed top-level `games[]` and `samples[]`.
16+
- Added `tools.<toolName>[]` arrays with `sampleId`, `phase`, `sampleType`, `primaryTool`, and `palettePath`.
17+
- `games/_template/workspace-manager-v2-template.manifest.json` -> `games/_template/game.manifest.json`
18+
- Converted the file to the current `html-js-gaming.game-manifest` shape.
19+
- Kept Palette Manager V2 and Asset Manager V2 payloads under `tools`.
20+
- `games/_template/workspace-manager-v2-UAT.manifest.json` -> `tests/fixtures/workspace-v2/uat.manifest.json`
21+
- Kept this as a temporary UAT project-context fixture.
22+
- Updated the palette `sourceId` to the new fixture path.
23+
24+
## Active Usage Updates
25+
- Workspace Manager V2 temporary UAT loading now fetches `/tests/fixtures/workspace-v2/uat.manifest.json`.
26+
- Workspace Manager V2 UAT status text now reports the fixture path.
27+
- Workspace Manager V2 and Asset Manager V2 Playwright tests now read/expect the fixture path.
28+
- `tools/workspace-manager-v2/README.md` now documents the fixture path.
29+
- `scripts/PS/New-Game-from-Template.ps1` now generates game manifests from `games/_template/game.manifest.json`.
30+
31+
## Active Dependency Audit
32+
- PASS: no active root `workspace.manifest.json` dependency remains in:
33+
- `tools`
34+
- `scripts`
35+
- `tests`
36+
- `games`
37+
- `samples`
38+
- PASS: no active `html-js-gaming.workspace-manifest.palette-links/1` dependency remains in:
39+
- `tools`
40+
- `scripts`
41+
- `tests`
42+
- `games`
43+
- `samples`
44+
- PASS: old active template/UAT file names are no longer referenced in active code or tests.
45+
- Historical docs snapshots were not rewritten.
46+
- Sample JSON content was not touched beyond the moved sample link registry.
47+
48+
## Validation
49+
- PASS: targeted JSON parse validation for:
50+
- `samples/sample.to.workspace.json`
51+
- `games/_template/game.manifest.json`
52+
- `tests/fixtures/workspace-v2/uat.manifest.json`
53+
- PASS: targeted syntax/import validation for changed scripts/tests/runtime files.
54+
- PASS: `_template` load path validation through `games/_template/game.manifest.json`.
55+
- PASS: UAT load path validation through `tests/fixtures/workspace-v2/uat.manifest.json`.
56+
- PASS: `npm run test:workspace-v2` with 58 passed.
57+
- PASS: active dependency searches for removed schema/path references.
58+
- PASS: `git diff --check`.
59+
60+
## Out Of Scope
61+
- Full samples smoke test was skipped as requested.
62+
- No compatibility shims were added.
63+
- No unrelated sample JSON files were modified.

games/_template/workspace-manager-v2-template.manifest.json renamed to games/_template/game.manifest.json

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
{
2-
"schema": "html-js-gaming.project",
2+
"$schema": "tools/schemas/game.manifest.schema.json",
3+
"schema": "html-js-gaming.game-manifest",
34
"version": 1,
4-
"id": "workspace-manager-v2-template",
5-
"name": "Workspace Manager V2 Template",
6-
"gameId": "_template",
7-
"gameRoot": "games/_template/",
8-
"assetsPath": "games/_template/assets",
5+
"game": {
6+
"id": "_template",
7+
"name": "Game Template",
8+
"folder": "_template"
9+
},
10+
"launch": {
11+
"directPath": "/games/_template/index.html",
12+
"workspaceManagerPath": "/tools/workspace-manager-v2/index.html?gameId=_template",
13+
"workspaceManagerOptional": true
14+
},
915
"tools": {
1016
"palette-manager-v2": {
1117
"$schema": "tools/schemas/tools/palette-manager-v2.schema.json",
1218
"schema": "html-js-gaming.palette",
1319
"version": 1,
1420
"id": "palette._template.default",
15-
"name": "_template Palette",
21+
"name": "Game Template Palette",
1622
"source": "manifest",
1723
"swatches": [
1824
{
@@ -32,7 +38,7 @@
3238
"schema": "html-js-gaming.asset-manager-v2",
3339
"version": 1,
3440
"id": "asset-manager-v2._template.registry",
35-
"name": "_template Asset Manager V2 Registry",
41+
"name": "Game Template Asset Manager V2 Registry",
3642
"source": "manifest",
3743
"assets": {}
3844
}

samples/sample.to.workspace.json

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
{
2+
"schema": "html-js-gaming.sample-tool-links/1",
3+
"version": 1,
4+
"tools": {
5+
"3d-asset-viewer": [
6+
{
7+
"sampleId": "1208",
8+
"phase": "phase-12",
9+
"sampleType": "sample",
10+
"primaryTool": true,
11+
"palettePath": "samples/phase-12/1208/sample.1208.palette.json"
12+
}
13+
],
14+
"3d-json-payload": [
15+
{
16+
"sampleId": "0221",
17+
"phase": "phase-02",
18+
"sampleType": "sample",
19+
"primaryTool": true,
20+
"palettePath": "samples/phase-02/0221/sample.0221.palette.json"
21+
},
22+
{
23+
"sampleId": "0305",
24+
"phase": "phase-03",
25+
"sampleType": "sample",
26+
"primaryTool": true,
27+
"palettePath": "samples/phase-03/0305/sample.0305.palette.json"
28+
},
29+
{
30+
"sampleId": "1208",
31+
"phase": "phase-12",
32+
"sampleType": "sample",
33+
"primaryTool": false,
34+
"palettePath": "samples/phase-12/1208/sample.1208.palette.json"
35+
}
36+
],
37+
"palette-browser": [
38+
{
39+
"sampleId": "0213",
40+
"phase": "phase-02",
41+
"sampleType": "sample",
42+
"primaryTool": true,
43+
"palettePath": "samples/phase-02/0213/sample.0213.palette.json"
44+
},
45+
{
46+
"sampleId": "0308",
47+
"phase": "phase-03",
48+
"sampleType": "sample",
49+
"primaryTool": true,
50+
"palettePath": "samples/phase-03/0308/sample.0308.palette.json"
51+
},
52+
{
53+
"sampleId": "0313",
54+
"phase": "phase-03",
55+
"sampleType": "sample",
56+
"primaryTool": true,
57+
"palettePath": "samples/phase-03/0313/sample.0313.palette.json"
58+
}
59+
],
60+
"parallax-editor": [
61+
{
62+
"sampleId": "1204",
63+
"phase": "phase-12",
64+
"sampleType": "sample",
65+
"primaryTool": true,
66+
"palettePath": "samples/phase-12/1204/sample.1204.palette.json"
67+
},
68+
{
69+
"sampleId": "1205",
70+
"phase": "phase-12",
71+
"sampleType": "sample",
72+
"primaryTool": true,
73+
"palettePath": "samples/phase-12/1205/sample.1205.palette.json"
74+
},
75+
{
76+
"sampleId": "1208",
77+
"phase": "phase-12",
78+
"sampleType": "sample",
79+
"primaryTool": false,
80+
"palettePath": "samples/phase-12/1208/sample.1208.palette.json"
81+
}
82+
],
83+
"sprite-editor": [
84+
{
85+
"sampleId": "0207",
86+
"phase": "phase-02",
87+
"sampleType": "sample",
88+
"primaryTool": true,
89+
"palettePath": "samples/phase-02/0207/sample.0207.palette.json"
90+
},
91+
{
92+
"sampleId": "0213",
93+
"phase": "phase-02",
94+
"sampleType": "sample",
95+
"primaryTool": false,
96+
"palettePath": "samples/phase-02/0213/sample.0213.palette.json"
97+
},
98+
{
99+
"sampleId": "0214",
100+
"phase": "phase-02",
101+
"sampleType": "sample",
102+
"primaryTool": true,
103+
"palettePath": "samples/phase-02/0214/sample.0214.palette.json"
104+
},
105+
{
106+
"sampleId": "0219",
107+
"phase": "phase-02",
108+
"sampleType": "sample",
109+
"primaryTool": true,
110+
"palettePath": "samples/phase-02/0219/sample.0219.palette.json"
111+
},
112+
{
113+
"sampleId": "0224",
114+
"phase": "phase-02",
115+
"sampleType": "sample",
116+
"primaryTool": true,
117+
"palettePath": "samples/phase-02/0224/sample.0224.palette.json"
118+
},
119+
{
120+
"sampleId": "0301",
121+
"phase": "phase-03",
122+
"sampleType": "sample",
123+
"primaryTool": true,
124+
"palettePath": "samples/phase-03/0301/sample.0301.palette.json"
125+
},
126+
{
127+
"sampleId": "0302",
128+
"phase": "phase-03",
129+
"sampleType": "sample",
130+
"primaryTool": true,
131+
"palettePath": "samples/phase-03/0302/sample.0302.palette.json"
132+
},
133+
{
134+
"sampleId": "0905",
135+
"phase": "phase-09",
136+
"sampleType": "sample",
137+
"primaryTool": true,
138+
"palettePath": "samples/phase-09/0905/sample.0905.palette.json"
139+
},
140+
{
141+
"sampleId": "1414",
142+
"phase": "phase-14",
143+
"sampleType": "sample",
144+
"primaryTool": true,
145+
"palettePath": "samples/phase-14/1414/sample.1414.palette.json"
146+
}
147+
],
148+
"svg-asset-studio": [
149+
{
150+
"sampleId": "0901",
151+
"phase": "phase-09",
152+
"sampleType": "sample",
153+
"primaryTool": true,
154+
"palettePath": "samples/phase-09/0901/sample.0901.palette.json"
155+
},
156+
{
157+
"sampleId": "1204",
158+
"phase": "phase-12",
159+
"sampleType": "sample",
160+
"primaryTool": false,
161+
"palettePath": "samples/phase-12/1204/sample.1204.palette.json"
162+
},
163+
{
164+
"sampleId": "1208",
165+
"phase": "phase-12",
166+
"sampleType": "sample",
167+
"primaryTool": false,
168+
"palettePath": "samples/phase-12/1208/sample.1208.palette.json"
169+
}
170+
],
171+
"tile-map-editor": [
172+
{
173+
"sampleId": "0221",
174+
"phase": "phase-02",
175+
"sampleType": "sample",
176+
"primaryTool": false,
177+
"palettePath": "samples/phase-02/0221/sample.0221.palette.json"
178+
},
179+
{
180+
"sampleId": "0224",
181+
"phase": "phase-02",
182+
"sampleType": "sample",
183+
"primaryTool": false,
184+
"palettePath": "samples/phase-02/0224/sample.0224.palette.json"
185+
},
186+
{
187+
"sampleId": "0305",
188+
"phase": "phase-03",
189+
"sampleType": "sample",
190+
"primaryTool": false,
191+
"palettePath": "samples/phase-03/0305/sample.0305.palette.json"
192+
},
193+
{
194+
"sampleId": "1208",
195+
"phase": "phase-12",
196+
"sampleType": "sample",
197+
"primaryTool": false,
198+
"palettePath": "samples/phase-12/1208/sample.1208.palette.json"
199+
},
200+
{
201+
"sampleId": "1209",
202+
"phase": "phase-12",
203+
"sampleType": "sample",
204+
"primaryTool": true,
205+
"palettePath": "samples/phase-12/1209/sample.1209.palette.json"
206+
},
207+
{
208+
"sampleId": "1210",
209+
"phase": "phase-12",
210+
"sampleType": "sample",
211+
"primaryTool": true,
212+
"palettePath": "samples/phase-12/1210/sample.1210.palette.json"
213+
},
214+
{
215+
"sampleId": "1211",
216+
"phase": "phase-12",
217+
"sampleType": "sample",
218+
"primaryTool": true,
219+
"palettePath": "samples/phase-12/1211/sample.1211.palette.json"
220+
}
221+
],
222+
"tile-model-converter": [
223+
{
224+
"sampleId": "0221",
225+
"phase": "phase-02",
226+
"sampleType": "sample",
227+
"primaryTool": false,
228+
"palettePath": "samples/phase-02/0221/sample.0221.palette.json"
229+
},
230+
{
231+
"sampleId": "0305",
232+
"phase": "phase-03",
233+
"sampleType": "sample",
234+
"primaryTool": false,
235+
"palettePath": "samples/phase-03/0305/sample.0305.palette.json"
236+
},
237+
{
238+
"sampleId": "1209",
239+
"phase": "phase-12",
240+
"sampleType": "sample",
241+
"primaryTool": false,
242+
"palettePath": "samples/phase-12/1209/sample.1209.palette.json"
243+
}
244+
],
245+
"vector-map-editor": [
246+
{
247+
"sampleId": "0901",
248+
"phase": "phase-09",
249+
"sampleType": "sample",
250+
"primaryTool": false,
251+
"palettePath": "samples/phase-09/0901/sample.0901.palette.json"
252+
},
253+
{
254+
"sampleId": "1204",
255+
"phase": "phase-12",
256+
"sampleType": "sample",
257+
"primaryTool": false,
258+
"palettePath": "samples/phase-12/1204/sample.1204.palette.json"
259+
},
260+
{
261+
"sampleId": "1205",
262+
"phase": "phase-12",
263+
"sampleType": "sample",
264+
"primaryTool": false,
265+
"palettePath": "samples/phase-12/1205/sample.1205.palette.json"
266+
}
267+
]
268+
}
269+
}

0 commit comments

Comments
 (0)