You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(0%) tests/playwright/tools/WorkspaceManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
36
-
```
37
-
38
-
Markup and CSS changes in `tools/object-vector-studio-v2/index.html` and `tools/object-vector-studio-v2/styles/toolStarter.css` are verified through Playwright DOM/CSS assertions rather than V8 JavaScript coverage.
31
+
The Asteroids runtime role helpers and asteroid geometry helper are exercised through the Asteroids gameplay rendering path and targeted node smoke checks; they are not surfaced as separate changed-runtime rows in the generated V8 summary.
39
32
40
33
## Guardrail
41
34
@@ -45,4 +38,4 @@ Markup and CSS changes in `tools/object-vector-studio-v2/index.html` and `tools/
45
38
46
39
## PR-Specific Note
47
40
48
-
The Workspace V2 run exercised Object Vector Studio V2 Center button labeling and recentering behavior, 0-255 opacity input validation, byte-to-normalized opacity conversion for SVG/schema rendering, and opacity input sizing/layout assertions. Coverage remains advisory only.
41
+
The Workspace V2 run exercised Object Vector runtime manifest loading from `game.workspace.tools.object-vector-studio-v2.objects`, direct object ID role resolution, runtime rendering for asteroids/ship/UFO, and schema rejection of the removed `game.gameData.objectVectorRuntime` branch.
- Runtime/console guard: Object Vector Studio V2 tests that monitor page errors and console errors completed with no reported errors.
13
+
- Runtime/console guard: Asteroids Object Vector runtime and Workspace Manager V2 tests completed with no reported page errors.
14
14
15
15
## PR-Specific Coverage
16
16
17
-
- Verified Object Preview viewport controls now render `Center` instead of `Dot`.
18
-
- Verified Center recenters the preview viewport to origin `0,0`, preserves current zoom, refreshes stale pointer text back to the centered origin display, and keeps the center marker visible.
19
-
- Verified Fill Op and Stroke Op inputs use `min=0`, `max=255`, `step=1`, and width sufficient for 4 visible digits.
20
-
- Verified opacity inputs visibly reject out-of-range values such as `-1` and `256`.
21
-
- Verified valid 0-255 opacity inputs convert to normalized style opacity values for schema/SVG rendering.
22
-
- Verified Fill Op and Stroke Op remain in the compact opacity row below Paint, Stroke, and Width.
17
+
- Verified Asteroids launches Object Vector runtime assets from `game.workspace.tools.object-vector-studio-v2.objects`.
18
+
- Verified runtime role validation resolves `object.asteroids.*` IDs directly from the loaded Object Vector object list.
19
+
- Verified `game.gameData.objectVectorRuntime` is absent from `games/Asteroids/game.manifest.json`.
20
+
- Verified schema validation rejects a manifest when `game.gameData.objectVectorRuntime` is re-added.
21
+
- Verified runtime rendering counts for asteroids, ship, and UFO remain active after removing the duplicate binding map.
23
22
24
-
## Manual Verification Equivalent
23
+
## Additional Validation
25
24
26
-
Targeted Object Vector Studio V2 browser automation covered the requested Center label and centering behavior, opacity input sizing/range validation, normalized opacity rendering behavior, Palette opacity row layout, and no-console-error checks.
25
+
-`node` manifest-schema check: current Asteroids manifest returned `{ ok: true }`.
26
+
-`node` manifest-schema check: injected `game.gameData.objectVectorRuntime` returned `{ ok: false }`.
27
+
- Targeted node smoke checks passed for `tests/games/AsteroidsPlatformDemo.test.mjs` and `tests/games/AsteroidsAssetReferenceAdoption.test.mjs`.
28
+
29
+
## Notes
30
+
31
+
-`npm test` is blocked before the node suite by the existing shared-extraction guard baseline drift; this PR did not touch those unrelated guard violations.
@@ -113,11 +111,11 @@ export function resolveAsteroidsObjectVectorRole(objects, roleId, {
113
111
}))
114
112
.filter((candidate)=>candidate.object);
115
113
116
-
if(!explicitObjectId){
114
+
if(!targetObjectId){
117
115
logResolution(
118
116
logger,
119
117
'FAIL',
120
-
`Asteroids Object Vector runtime role ${roleId} is missing required manifest binding game.gameData.objectVectorRuntime.objectIds.${roleId}.`,
118
+
`Asteroids Object Vector runtime role ${roleId} is missing its required object ID contract.`,
121
119
{
122
120
candidates: candidates.map(candidateLabel),
123
121
objectCount: objectList.length,
@@ -126,37 +124,37 @@ export function resolveAsteroidsObjectVectorRole(objects, roleId, {
126
124
returnnull;
127
125
}
128
126
129
-
if(!explicitObject){
127
+
if(!targetObject){
130
128
logResolution(
131
129
logger,
132
130
'FAIL',
133
-
`Asteroids Object Vector runtime role ${roleId}manifest binding${explicitObjectId} does not match any Object Vector object in game.manifest.json.`,
131
+
`Asteroids Object Vector runtime role ${roleId}requires object${targetObjectId}in game.workspace.tools.object-vector-studio-v2.objects.`,
134
132
{
135
133
candidates: candidates.map(candidateLabel),
136
-
explicitObjectId,
137
134
objectCount: objectList.length,
135
+
targetObjectId,
138
136
}
139
137
);
140
138
returnnull;
141
139
}
142
140
143
-
if(oldObjectSignal(explicitObject)){
141
+
if(oldObjectSignal(targetObject)){
144
142
logResolution(
145
143
logger,
146
144
'FAIL',
147
-
`Asteroids Object Vector runtime role ${roleId}manifest binding ${explicitObjectId} points to an old/legacy object; update the manifest binding to the active object.`,
145
+
`Asteroids Object Vector runtime role ${roleId}object ${targetObjectId} is marked old/legacy; keep runtime object IDs on active Object Vector objects.`,
0 commit comments