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
Adds the Object Vector Studio V2 reusable asset library and inheritance foundation, then wires Asteroids runtime rendering to resolve assets through library entries. Palette remains a workspace/session runtime resource and is not embedded in Object Vector JSON.
6
+
7
+
## Changes
8
+
9
+
- Added durable `assetLibrary.assets` schema support with category, tags, and object references.
10
+
- Added object-level inheritance metadata through `baseObjectId`.
11
+
- Added strict validation for duplicate object ids, duplicate asset ids, missing base objects, missing library object references, circular inheritance chains, and inherited shape/frame references.
12
+
- Added Object Vector Studio V2 library browser UI, asset category/tag controls, library asset creation, usage reporting, dependency graph display, readonly inherited-field indicators, and Duplicate As Local workflow.
- Inherited asset rendering through runtime preview.
49
+
- Duplicate As Local removes inheritance metadata from the local copy.
50
+
- Circular inheritance rejection.
51
+
- Missing dependency failure handling.
52
+
- Asteroids runtime asset loading through reusable library asset ids.
53
+
54
+
Expected pass behavior:
55
+
56
+
- Valid library assets and inheritance chains validate, resolve, cache, and render through the runtime vector pipeline.
57
+
58
+
Expected fail behavior:
59
+
60
+
- Missing dependencies, circular inheritance, invalid references, and invalid runtime payloads fail visibly before render with actionable FAIL logs.
61
+
62
+
## Manual Validation
63
+
64
+
1. Open `tools/object-vector-studio-v2/index.html`.
65
+
2. Import an Object Vector Studio V2 payload with `assetLibrary.assets` and at least one derived object using `baseObjectId`.
66
+
3. Confirm the asset library browser, usage report, dependency graph, inherited-field indicators, Runtime Preview, and Duplicate As Local.
67
+
4. Open Asteroids and start gameplay.
68
+
5. Confirm the ship, asteroids, and UFOs render from `asset.asteroids.*` library entries.
69
+
70
+
Expected outcome:
71
+
72
+
- Valid assets render, inherited assets resolve through their base object, duplicate local copies no longer include `baseObjectId`, and invalid inheritance payloads are rejected before render.
0 commit comments