Skip to content

Commit 20c5209

Browse files
author
DavidQ
committed
Enable preview dragging for selected shape and group bounds - PR_26133_096-preview-drag-selected-shapes-from-selection-bounds
1 parent 984db38 commit 20c5209

5 files changed

Lines changed: 360 additions & 118 deletions

File tree

docs/dev/reports/playwright_v8_coverage_report.md

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Playwright V8 Coverage Report
1+
# Playwright V8 Coverage Report
22

33
```text
44
Playwright V8 Coverage Report
@@ -23,24 +23,10 @@ Exercised tool entry points detected:
2323
(0%) Workspace Manager - not exercised by this Playwright run
2424
2525
Changed runtime JS files covered:
26-
(32%) tools/shared/platformShell.js - executed lines 2159/2159; executed functions 38/120
2726
(63%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 643/643; executed functions 36/57
28-
(82%) tools/storage-inspector-v2/js/controls/EntryListControl.js - executed lines 59/59; executed functions 9/11
29-
(83%) tools/storage-inspector-v2/js/controls/AccordionSection.js - executed lines 41/41; executed functions 5/6
3027
(86%) tools/workspace-manager-v2/js/WorkspaceManagerV2App.js - executed lines 963/963; executed functions 42/49
31-
(89%) tools/storage-inspector-v2/js/controls/FilterControl.js - executed lines 34/34; executed functions 8/9
32-
(91%) tools/toolRegistry.js - executed lines 526/526; executed functions 10/11
3328
(92%) tools/workspace-manager-v2/js/services/WorkspaceManagerV2ContextService.js - executed lines 1662/1662; executed functions 149/162
34-
(93%) tools/workspace-manager-v2/js/controls/ToolTilesControl.js - executed lines 137/137; executed functions 14/15
35-
(95%) tools/object-vector-studio-v2/js/ToolStarterApp.js - executed lines 8187/8187; executed functions 800/846
36-
(98%) tools/storage-inspector-v2/js/StorageInspectorV2App.js - executed lines 347/347; executed functions 51/52
37-
(100%) tools/renderToolsIndex.js - executed lines 175/175; executed functions 27/27
38-
(100%) tools/storage-inspector-v2/js/bootstrap.js - executed lines 55/55; executed functions 4/4
39-
(100%) tools/storage-inspector-v2/js/controls/DataControl.js - executed lines 23/23; executed functions 5/5
40-
(100%) tools/storage-inspector-v2/js/controls/DirtyControl.js - executed lines 30/30; executed functions 6/6
41-
(100%) tools/storage-inspector-v2/js/controls/JsonControl.js - executed lines 19/19; executed functions 5/5
42-
(100%) tools/storage-inspector-v2/js/controls/StatusLogControl.js - executed lines 32/32; executed functions 10/10
43-
(100%) tools/storage-inspector-v2/js/services/StorageInspectorV2RuntimeContract.js - executed lines 10/10; executed functions 2/2
29+
(94%) tools/object-vector-studio-v2/js/ToolStarterApp.js - executed lines 8286/8286; executed functions 809/860
4430
(100%) tools/storage-inspector-v2/js/services/StorageInspectorV2StorageService.js - executed lines 184/184; executed functions 29/29
4531
4632
Files with executed line/function counts where available:
@@ -230,8 +216,8 @@ Files with executed line/function counts where available:
230216
(94%) games/shared/workspaceGameMetadataHydrator.js - executed lines 106/106; executed functions 16/17
231217
(94%) src/engine/rendering/ObjectVectorRuntimeAssetService.js - executed lines 1136/1136; executed functions 111/118
232218
(94%) tools/common/PaletteSortService.js - executed lines 103/103; executed functions 17/18
219+
(94%) tools/object-vector-studio-v2/js/ToolStarterApp.js - executed lines 8286/8286; executed functions 809/860
233220
(95%) tools/object-vector-studio-v2/js/services/ObjectVectorStudioV2SchemaService.js - executed lines 458/458; executed functions 56/59
234-
(95%) tools/object-vector-studio-v2/js/ToolStarterApp.js - executed lines 8187/8187; executed functions 800/846
235221
(98%) tools/storage-inspector-v2/js/StorageInspectorV2App.js - executed lines 347/347; executed functions 51/52
236222
(100%) games/Asteroids/flow/attract.js - executed lines 17/17; executed functions 1/1
237223
(100%) games/Asteroids/flow/highscore.js - executed lines 16/16; executed functions 1/1
@@ -311,32 +297,17 @@ Files with executed line/function counts where available:
311297
(100%) tools/world-vector-studio-v2/js/services/ToolStateSerializer.js - executed lines 13/13; executed functions 3/3
312298
313299
Uncovered or low-coverage changed JS files:
314-
(32%) tools/shared/platformShell.js - WARNING: advisory low coverage; executed lines 2159/2159
300+
(100%) none - no low-coverage changed runtime JS files
315301
316302
Changed JS files considered:
317303
(0%) scripts/validate-json-contracts.mjs - changed JS file not collected as browser runtime coverage
318304
(0%) tests/games/AsteroidsAssetReferenceAdoption.test.mjs - changed JS file not collected as browser runtime coverage
319305
(0%) tests/games/AsteroidsPlatformDemo.test.mjs - changed JS file not collected as browser runtime coverage
320306
(0%) tests/playwright/tools/AssetManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
321307
(0%) tests/playwright/tools/WorkspaceManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
322-
(32%) tools/shared/platformShell.js - changed JS file with browser V8 coverage
323308
(63%) tools/asset-manager-v2/js/AssetManagerV2App.js - changed JS file with browser V8 coverage
324-
(82%) tools/storage-inspector-v2/js/controls/EntryListControl.js - changed JS file with browser V8 coverage
325-
(83%) tools/storage-inspector-v2/js/controls/AccordionSection.js - changed JS file with browser V8 coverage
326309
(86%) tools/workspace-manager-v2/js/WorkspaceManagerV2App.js - changed JS file with browser V8 coverage
327-
(88%) games/shared/workspaceGameAssetCatalog.js - changed JS file with browser V8 coverage
328-
(89%) tools/storage-inspector-v2/js/controls/FilterControl.js - changed JS file with browser V8 coverage
329-
(91%) tools/toolRegistry.js - changed JS file with browser V8 coverage
330310
(92%) tools/workspace-manager-v2/js/services/WorkspaceManagerV2ContextService.js - changed JS file with browser V8 coverage
331-
(93%) tools/workspace-manager-v2/js/controls/ToolTilesControl.js - changed JS file with browser V8 coverage
332-
(95%) tools/object-vector-studio-v2/js/ToolStarterApp.js - changed JS file with browser V8 coverage
333-
(98%) tools/storage-inspector-v2/js/StorageInspectorV2App.js - changed JS file with browser V8 coverage
334-
(100%) tools/renderToolsIndex.js - changed JS file with browser V8 coverage
335-
(100%) tools/storage-inspector-v2/js/bootstrap.js - changed JS file with browser V8 coverage
336-
(100%) tools/storage-inspector-v2/js/controls/DataControl.js - changed JS file with browser V8 coverage
337-
(100%) tools/storage-inspector-v2/js/controls/DirtyControl.js - changed JS file with browser V8 coverage
338-
(100%) tools/storage-inspector-v2/js/controls/JsonControl.js - changed JS file with browser V8 coverage
339-
(100%) tools/storage-inspector-v2/js/controls/StatusLogControl.js - changed JS file with browser V8 coverage
340-
(100%) tools/storage-inspector-v2/js/services/StorageInspectorV2RuntimeContract.js - changed JS file with browser V8 coverage
311+
(94%) tools/object-vector-studio-v2/js/ToolStarterApp.js - changed JS file with browser V8 coverage
341312
(100%) tools/storage-inspector-v2/js/services/StorageInspectorV2StorageService.js - changed JS file with browser V8 coverage
342313
```
Lines changed: 13 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,24 @@
1-
# npm run test:workspace-v2
1+
# npm run test:workspace-v2
22

33
Exit code: 0
44

55
```text
6-
76
> html-javascript-gaming@1.0.0 test:workspace-v2
87
> playwright test tests/playwright/tools/WorkspaceManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list
98
9+
Running 55 tests using 1 worker
1010
11-
Running 54 tests using 1 worker
11+
Result: 55 passed (6.6m)
1212
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.6s)
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.6s)
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 (56.6s)
16-
ok 4 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:3699:3 › Workspace Manager V2 bootstrap › creates Object Vector Studio V2 square shapes with one size control (2.6s)
17-
ok 5 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:3799:3 › Workspace Manager V2 bootstrap › creates Object Vector Studio V2 shapes with canvas drawing and snap modes (22.3s)
18-
ok 6 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:4379: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:4771:3 › Workspace Manager V2 bootstrap › compacts Object Vector Studio V2 geometry layouts and selected palette state (5.1s)
20-
ok 8 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:4998:3 › Workspace Manager V2 bootstrap › edits Object Vector Studio V2 preview shapes with mouse actions and tile delete controls (10.1s)
21-
ok 9 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5251: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:5415: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:5508:3 › Workspace Manager V2 bootstrap › expands Object Vector Studio V2 asset authoring controls (8.2s)
24-
ok 12 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:5769:3 › Workspace Manager V2 bootstrap › supports Object Vector Studio V2 animation states and frame timeline foundation (10.5s)
25-
ok 13 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6043:3 › Workspace Manager V2 bootstrap › cleans Object Vector Studio V2 single-member groups and adds selected object states (6.8s)
26-
ok 14 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6360: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:6541:3 › Workspace Manager V2 bootstrap › resolves asset-manager-v2 audio catalog paths and plays Asteroids sounds (1.4s)
28-
ok 16 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6702:3 › Workspace Manager V2 bootstrap › fits the game canvas inside the fullscreen play area and restores layout on exit (1.9s)
29-
ok 17 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:6870: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:6994:3 › Workspace Manager V2 bootstrap › uses First-Class Tool V2 theme contract (1.2s)
31-
ok 19 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7079:3 › Workspace Manager V2 bootstrap › shows safe empty Text to Speech V2 state when no JSON source is provided (2.0s)
32-
ok 20 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7191:3 › Workspace Manager V2 bootstrap › does not redirect legacy Text to Speech V2 path, sample, or schema references (939ms)
33-
ok 21 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7216: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:7240: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:7817:3 › Workspace Manager V2 bootstrap › deletes the last named sentence into a safe empty runtime state (2.0s)
36-
ok 24 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:7860: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:7967: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:8000:3 › Workspace Manager V2 bootstrap › filters text2speech-V2 voices by Any, Male, Female, and Neutral gender helpers (1.7s)
39-
ok 27 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8034:3 › Workspace Manager V2 bootstrap › shapes text2speech-V2 Voice Age without filtering selected voices (1.3s)
40-
ok 28 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8060:3 › Workspace Manager V2 bootstrap › rejects Text to Speech V2 workspace payload drift before render or save (1.7s)
41-
ok 29 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8144: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:8250:3 › Workspace Manager V2 bootstrap › launches Storage Inspector V2 with V2 labels, accordions, theme, and delete controls (9.3s)
43-
ok 31 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8599:3 › Workspace Manager V2 bootstrap › shows normalized workspace tool sessions as JSON, Data, and Dirty views (4.2s)
44-
ok 32 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:8850: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:8899: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:9052:3 › Workspace Manager V2 bootstrap › uses header lifecycle controls and launches tools from fixed Workspace Manager V2 tiles (34.6s)
47-
ok 35 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9924:3 › Workspace Manager V2 bootstrap › enables Text to Speech V2 after repo and game selection and preserves workspace return nav (5.2s)
48-
ok 36 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:9966:3 › Workspace Manager V2 bootstrap › shows Preview Generator tile status from assets/images/preview.svg existence (2.7s)
49-
ok 37 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10000:3 › Workspace Manager V2 bootstrap › saves empty Text to Speech V2 arrays through workspace return and manifest write-back (5.0s)
50-
ok 38 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10128: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:10200:3 › Workspace Manager V2 bootstrap › fails Preview Generator V2 without OK WRITE when live handle read-back verification fails (7.3s)
52-
ok 40 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10244:3 › Workspace Manager V2 bootstrap › tracks Object Vector Studio V2 dirty state through persisted edits and save outcomes (15.3s)
53-
ok 41 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10541:3 › Workspace Manager V2 bootstrap › syncs Workspace Manager V2 dirty lifecycle buttons and closes clean toolState data (3.4s)
54-
ok 42 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10645:3 › Workspace Manager V2 bootstrap › restores sessionStorage toolState read-only until repo folder handle rebinds save source (4.1s)
55-
ok 43 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10753:3 › Workspace Manager V2 bootstrap › rebinds restored session Save to the discovered game manifest source (2.5s)
56-
ok 44 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:10815: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:10856: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:10911: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:10961:3 › Workspace Manager V2 bootstrap › opens Preview Generator V2 workspace launch with actionable missing repo session status (1.7s)
60-
ok 48 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11002: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:11062:3 › Workspace Manager V2 bootstrap › logs actionable Preview Generator V2 output path resolution failures (2.1s)
62-
ok 50 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11104:3 › Workspace Manager V2 bootstrap › loads Gravity Well and Pong manifests as current Workspace Manager V2 manifests (10.8s)
63-
ok 51 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11256: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:11299: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:11335:3 › Workspace Manager V2 bootstrap › owns temporary UAT manifest seeding and launches Asset Manager V2 through session context (2.2s)
66-
ok 54 [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs:11391:3 › Workspace Manager V2 bootstrap › keeps direct Asset Manager V2 workspace prod launch blocked (1.1s)
13+
PR_26133_096 focused coverage included:
14+
- drags selected Object Vector Studio V2 shapes from preview selection bounds
15+
- multi-selected shapes move together from preview selection bounds
16+
- grouped shapes selected by group icon move together from preview selection bounds
17+
- outside-bounds drag follows normal deselect/no-move behavior
6718
68-
Slow test file: [playwright] › tests\playwright\tools\WorkspaceManagerV2.spec.mjs (5.2m)
69-
Consider running tests from slow files in parallel. See: https://playwright.dev/docs/test-parallel
70-
54 passed (5.8m)
19+
Additional focused checks run before the full suite:
20+
- Object Vector Studio V2 layout shell and schema-only palette gate
21+
- selection bounds alignment to transformed preview geometry
22+
- Object Vector Studio V2 asset authoring controls
23+
- dirty state through persisted edits and save outcomes
7124
```

0 commit comments

Comments
 (0)