Skip to content

Commit 4a170ab

Browse files
author
DavidQ
committed
Rename Storage Inspector remove workspace manifests and isolate Shape Transform behavior - PR_26133_094-storage-inspector-workspace-removal-and-shape-transform-fixes
1 parent 7837a46 commit 4a170ab

29 files changed

Lines changed: 1557 additions & 1117 deletions

docs/dev/reports/playwright_v8_coverage_report.md

Lines changed: 335 additions & 14 deletions
Large diffs are not rendered by default.
Lines changed: 64 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,69 @@
1-
# Workspace V2 Playwright Results
1+
# npm run test:workspace-v2
22

3-
PR: PR_26133_093-game-only-manifest-origin-and-transform-fixes
3+
Exit code: 0
44

5-
Command: `npm run test:workspace-v2`
5+
```text
66
7-
Result: PASS
7+
> html-javascript-gaming@1.0.0 test:workspace-v2
8+
> playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list
89
9-
Summary:
10-
- 54 tests passed.
11-
- Duration: about 5.2 minutes.
12-
- No test failures were reported.
13-
- Workspace Manager V2 and Object Vector Studio V2 coverage ran as part of the passing suite.
1410
15-
Additional validation:
16-
- PASS: all `games/**/game.manifest.json` files validate against `tools/schemas/game.manifest.schema.json`.
17-
- PASS: no validated game manifest requires or contains `game.workspace`.
18-
- PASS: game-only root `tools` payloads load through Workspace Manager V2 and Asteroids object vector runtime paths.
19-
- PASS: schema rejects legacy in-game workspace/gameData payloads in updated Workspace Manager validation.
20-
- PASS: no console/runtime errors were observed by the passing workspace-v2 suite.
11+
Running 54 tests using 1 worker
12+
13+
ok 1 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:1155:3 › Workspace Manager V2 bootstrap › registers Workspace Manager V2 from the tools index (1.9s)
14+
ok 2 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:1302:3 › Workspace Manager V2 bootstrap › launches World Vector Studio V2 and Object Vector Studio V2 copied tool shells (2.5s)
15+
ok 3 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:1353:3 › Workspace Manager V2 bootstrap › shows Object Vector Studio V2 layout shell and schema-only palette gate (58.1s)
16+
ok 4 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:3673:3 › Workspace Manager V2 bootstrap › creates Object Vector Studio V2 square shapes with one size control (2.7s)
17+
ok 5 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:3773:3 › Workspace Manager V2 bootstrap › creates Object Vector Studio V2 shapes with canvas drawing and snap modes (23.1s)
18+
ok 6 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:4353:3 › Workspace Manager V2 bootstrap › maps Object Vector Studio V2 preview coordinates directly to visible grid lines (7.4s)
19+
ok 7 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:4745:3 › Workspace Manager V2 bootstrap › compacts Object Vector Studio V2 geometry layouts and selected palette state (5.0s)
20+
ok 8 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:4972:3 › Workspace Manager V2 bootstrap › edits Object Vector Studio V2 preview shapes with mouse actions and tile delete controls (10.3s)
21+
ok 9 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5225:3 › Workspace Manager V2 bootstrap › aligns Object Vector Studio V2 selection bounds to transformed preview geometry (2.3s)
22+
ok 10 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5389:3 › Workspace Manager V2 bootstrap › applies Object Vector Studio V2 Resize Geometry across supported shape tools (6.0s)
23+
ok 11 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5482:3 › Workspace Manager V2 bootstrap › expands Object Vector Studio V2 asset authoring controls (7.7s)
24+
ok 12 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5743:3 › Workspace Manager V2 bootstrap › supports Object Vector Studio V2 animation states and frame timeline foundation (9.7s)
25+
ok 13 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6017:3 › Workspace Manager V2 bootstrap › cleans Object Vector Studio V2 single-member groups and adds selected object states (6.6s)
26+
ok 14 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6334:3 › Workspace Manager V2 bootstrap › supports Object Vector Studio V2 asset library inheritance foundation (3.3s)
27+
ok 15 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6515:3 › Workspace Manager V2 bootstrap › resolves asset-manager-v2 audio catalog paths and plays Asteroids sounds (1.3s)
28+
ok 16 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6676:3 › Workspace Manager V2 bootstrap › fits the game canvas inside the fullscreen play area and restores layout on exit (2.2s)
29+
ok 17 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6844:3 › Workspace Manager V2 bootstrap › loads Object Vector Studio V2 runtime assets into Asteroids gameplay rendering (1.8s)
30+
ok 18 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6968:3 › Workspace Manager V2 bootstrap › uses First-Class Tool V2 theme contract (1.2s)
31+
ok 19 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7053:3 › Workspace Manager V2 bootstrap › shows safe empty Text to Speech V2 state when no JSON source is provided (2.1s)
32+
ok 20 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7165:3 › Workspace Manager V2 bootstrap › does not redirect legacy Text to Speech V2 path, sample, or schema references (973ms)
33+
ok 21 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7190:3 › Workspace Manager V2 bootstrap › loads sample 1903 JSON into Text to Speech V2 through sample wiring (1.4s)
34+
ok 22 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7214:3 › Workspace Manager V2 bootstrap › loads Text to Speech V2 from URL JSON with full options, schema-complete queue, and speech actions (8.9s)
35+
ok 23 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7791:3 › Workspace Manager V2 bootstrap › deletes the last named sentence into a safe empty runtime state (1.9s)
36+
ok 24 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7834:3 › Workspace Manager V2 bootstrap › imports, copies, and exports standalone Text to Speech V2 root-array JSON (1.9s)
37+
ok 25 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7941:3 › Workspace Manager V2 bootstrap › populates text2speech-V2 voice dropdown when SpeechSynthesis voices arrive after load (1.3s)
38+
ok 26 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7974:3 › Workspace Manager V2 bootstrap › filters text2speech-V2 voices by Any, Male, Female, and Neutral gender helpers (1.8s)
39+
ok 27 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8008:3 › Workspace Manager V2 bootstrap › shapes text2speech-V2 Voice Age without filtering selected voices (1.6s)
40+
ok 28 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8034:3 › Workspace Manager V2 bootstrap › rejects Text to Speech V2 workspace payload drift before render or save (1.9s)
41+
ok 29 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8118:3 › Workspace Manager V2 bootstrap › validates optional Text to Speech V2 schema contract through Workspace Manager V2 schema (2.1s)
42+
ok 30 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8224:3 › Workspace Manager V2 bootstrap › launches Storage Inspector V2 with V2 labels, accordions, theme, and delete controls (8.9s)
43+
ok 31 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8559:3 › Workspace Manager V2 bootstrap › shows normalized workspace tool sessions as JSON, Data, and Dirty views (4.6s)
44+
ok 32 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8810:3 › Workspace Manager V2 bootstrap › starts with no active game even when stale session hydration exists (1.2s)
45+
ok 33 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8859:3 › Workspace Manager V2 bootstrap › discovers Active Game options from selected repo manifests (2.4s)
46+
ok 34 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9007:3 › Workspace Manager V2 bootstrap › uses header lifecycle controls and launches tools from fixed Workspace Manager V2 tiles (23.6s)
47+
ok 35 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9879:3 › Workspace Manager V2 bootstrap › enables Text to Speech V2 after repo and game selection and preserves workspace return nav (3.0s)
48+
ok 36 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9921:3 › Workspace Manager V2 bootstrap › shows Preview Generator tile status from assets/images/preview.svg existence (2.3s)
49+
ok 37 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9955:3 › Workspace Manager V2 bootstrap › saves empty Text to Speech V2 arrays through workspace return and manifest write-back (4.4s)
50+
ok 38 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10083:3 › Workspace Manager V2 bootstrap › keeps Preview Generator V2 repo writer after Asset Manager V2 deletes the preview asset entry (8.6s)
51+
ok 39 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10155:3 › Workspace Manager V2 bootstrap › fails Preview Generator V2 without OK WRITE when live handle read-back verification fails (7.2s)
52+
ok 40 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10199:3 › Workspace Manager V2 bootstrap › tracks Object Vector Studio V2 dirty state through persisted edits and save outcomes (13.3s)
53+
ok 41 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10496:3 › Workspace Manager V2 bootstrap › syncs Workspace Manager V2 dirty lifecycle buttons and closes clean toolState data (2.9s)
54+
ok 42 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10600:3 › Workspace Manager V2 bootstrap › restores sessionStorage toolState read-only until repo folder handle rebinds save source (4.0s)
55+
ok 43 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10708:3 › Workspace Manager V2 bootstrap › rebinds restored session Save to the discovered game manifest source (2.4s)
56+
ok 44 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10770:3 › Workspace Manager V2 bootstrap › logs recovery action when restored Save cannot bind to a game manifest source (1.9s)
57+
ok 45 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10811:3 › Workspace Manager V2 bootstrap › warns before Cancel clears dirty Workspace Manager V2 toolState data (2.4s)
58+
ok 46 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10866:3 › Workspace Manager V2 bootstrap › blocks Workspace Manager V2 return restore when repo session reference is missing or invalid (2.2s)
59+
ok 47 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10916:3 › Workspace Manager V2 bootstrap › opens Preview Generator V2 workspace launch with actionable missing repo session status (1.8s)
60+
ok 48 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10957:3 › Workspace Manager V2 bootstrap › keeps Preview Generator V2 disabled for invalid workspace repo session state (1.6s)
61+
ok 49 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11017:3 › Workspace Manager V2 bootstrap › logs actionable Preview Generator V2 output path resolution failures (2.2s)
62+
ok 50 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11059:3 › Workspace Manager V2 bootstrap › loads Gravity Well and Pong manifests as current Workspace Manager V2 manifests (11.5s)
63+
ok 51 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11211:3 › Workspace Manager V2 bootstrap › blocks Workspace Manager V2 Save when the toolState file fails schema validation (1.8s)
64+
ok 52 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11254:3 › Workspace Manager V2 bootstrap › warns instead of injecting hardcoded Asteroids assets when manifest assets are empty (1.8s)
65+
ok 53 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11290:3 › Workspace Manager V2 bootstrap › owns temporary UAT manifest seeding and launches Asset Manager V2 through session context (2.1s)
66+
ok 54 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11346:3 › Workspace Manager V2 bootstrap › keeps direct Asset Manager V2 workspace prod launch blocked (1.2s)
67+
68+
54 passed (5.6m)
69+
```

games/shared/workspaceGameAssetCatalog.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@ function normalizeManifestCatalogPayload(payload) {
222222
const source = toObject(payload);
223223
const schema = typeof source.schema === "string" ? source.schema.trim() : "";
224224
const version = Number(source.version);
225-
const workspace = toObject(source.game?.workspace || source.workspace || {});
226-
const tools = toObject(workspace.tools || source.tools);
225+
const workspace = toObject(source.workspace || {});
226+
const tools = toObject(source.tools || workspace.tools);
227227
const gameFolder = typeof source.game?.folder === "string" ? source.game.folder.trim() : "";
228228
const assetsPath = normalizeAssetsPath(workspace.assetsPath || source.assetsPath || (gameFolder ? `games/${gameFolder}/assets` : ""));
229229
const assetManagerEntries = normalizeAssetManagerEntries(

0 commit comments

Comments
 (0)