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
Object IDs are the single source of truth for Object Vector runtime/gameplay identity. Object Vector Studio V2 assetLibrary entries now use the runtime object ID directly in `id`, and duplicate runtime alias fields are rejected.
9
+
10
+
Preferred Object Vector assetLibrary entry shape is now:
11
+
12
+
```json
13
+
{
14
+
"id": "object.asteroids.ship",
15
+
"name": "Asteroids Ship",
16
+
"tags": ["player", "ship"]
17
+
}
18
+
```
19
+
20
+
## Removed Or Replaced
21
+
22
+
- Removed `objectId` from `workspace.tools.object-vector-studio-v2.assetLibrary.assets[*]` in `games/Asteroids/game.manifest.json`.
- Updated Object Vector Studio V2 editor logic so rename/delete/runtime preview/dependency graph behavior follows `asset.id` as the object ID.
25
+
- Updated runtime asset validation and normalization so Object Vector assetLibrary entries cannot carry duplicate `objectId` aliases.
26
+
27
+
## What Remains And Why
28
+
29
+
-`object.asteroids.*` remains under `game.gameData.objectVectorRuntime.objectIds` and Object Vector Studio V2 object records because those are runtime object identities.
30
+
-`vector.asteroids.*` remains only in vector-document/editor scoped data and is not used as runtime object identity.
31
+
-`assets.*` asset-manager IDs remain for true media/file assets such as audio, image, and font records.
32
+
- No `asset.asteroids.*` runtime Object Vector identity remains in active Asteroids runtime/editor payloads.
33
+
34
+
## Schema And Validation
35
+
36
+
-`tools/schemas/tools/object-vector-studio-v2.schema.json` no longer requires or permits `libraryAsset.objectId`.
37
+
- Object Vector Studio V2 validation now requires each library entry `id` to reference an existing object.
38
+
- Object Vector runtime validation now follows the same library ID/object ID contract.
39
+
- Playwright coverage includes explicit rejection for:
40
+
-`assetLibrary.assets[*].objectId`
41
+
-`assetLibrary.assets[*].id` values that do not resolve to an existing object ID
42
+
43
+
## Editor Controls
44
+
45
+
- Triangle-labeled Object Vector polygon shapes hide Add Point and Delete Point controls.
46
+
- Editable non-triangle polygons retain Add Point and Delete Point behavior.
47
+
- Duplicate Frame renders between Frame Earlier and Frame Later.
48
+
49
+
## Validation
50
+
51
+
- PASS - Asteroids game manifest validates against the updated schema.
52
+
- PASS - Asteroids small asteroid resolves by `objectId: object.asteroids.asteroid.small`.
53
+
- PASS - Object Vector Studio V2 loads Asteroids objects through `object.*` IDs.
54
+
- PASS - Object Vector Studio V2 rejects duplicate runtime alias fields in assetLibrary entries.
55
+
- PASS - Active Asteroids runtime/editor payloads have no `asset.asteroids.*` Object Vector runtime identity.
56
+
- PASS - Triangle/non-triangle polygon controls verified in Playwright.
57
+
- PASS - Duplicate Frame ordering verified in Playwright.
58
+
- PASS - `npm run test:workspace-v2` completed with 49 passed.
0 commit comments