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
Copy file name to clipboardExpand all lines: docs/design/tools/3d-asset-viewer/REENGINEERING_DESIGN.md
+9-12Lines changed: 9 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# 3D Asset Viewer Reengineering Design
2
2
3
-
Task: PR_26124_022-tighten-tool-design-docs
3
+
Task: PR_26124_023-finalize-tool-design-docs
4
4
Classification: rebuildable tool
5
5
Core priority: core-12
6
6
Source folder: `tools/3D Asset Viewer`
7
7
Publish target: `tools.3d-asset-viewer`
8
8
9
9
## Tool Purpose
10
-
Read-only 3D asset inspection. This tool owns `asset3d` validation, inspection report generation, export, and publish to `tools.3d-asset-viewer` when a report payload is required.
10
+
Read-only 3D asset inspection. 3D Asset Viewer owns `asset3d` validation, inspection report generation, export, and publish to `tools.3d-asset-viewer` when a report payload is required.
11
11
12
12
## Exact Folder/Files Inspected
13
13
-`tools/3D Asset Viewer/how_to_use.html`
@@ -48,19 +48,16 @@ Add:
48
48
- Publish `tools.3d-asset-viewer` report
49
49
50
50
## JSON Contract Owned By This Tool
51
-
Baseline schema: `tools/schemas/tools/3d-asset-viewer.schema.json`. Required top-level fields: asset3d. Allowed top-level fields: asset3d. Additional top-level properties are rejected by the current schema. The tool owns import/load, validation, edit/process, export/save, and publish of this payload. Workspace may pass a launch payload, but nested JSON remains tool-owned.
51
+
Owned JSON is the 3d-asset-viewer payload. Required field is `asset3d`; no other top-level fieldsare allowed. Inspection output is read-only and derived from the loaded 3D asset payload.
52
52
53
-
## Hosted/Launch Payload Boundary
54
-
- Launch payloads may seed this tool, but they do not become workspace-owned internals.
55
-
- toolState copies may be created later from the published output, but the copied JSON must still match this tool contract.
56
-
- Use file/path/name fields for assets. Do not persist `imageDataUrl`.
53
+
## Publish Output
54
+
Publish only to `tools.3d-asset-viewer`. The published value must match the tool-owned contract above and must be produced by this folder's validation/export path.
57
55
58
56
## Invalid JSON Behavior
59
-
- Reject malformed JSON before state mutation.
60
-
- Reject missing required fields from the schema baseline.
61
-
- Reject unsupported top-level fields when the schema disallows extras.
62
-
- Keep export/save/publish disabled until the current payload validates.
63
-
- Show a tool-specific error that names the failing field or control group.
Copy file name to clipboardExpand all lines: docs/design/tools/3d-camera-path-editor/REENGINEERING_DESIGN.md
+10-12Lines changed: 10 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# 3D Camera Path Editor Reengineering Design
2
2
3
-
Task: PR_26124_022-tighten-tool-design-docs
3
+
Task: PR_26124_023-finalize-tool-design-docs
4
4
Classification: rebuildable tool
5
5
Core priority: core-13
6
6
Source folder: `tools/3D Camera Path Editor`
7
7
Publish target: `tools.3d-camera-path-editor`
8
8
9
9
## Tool Purpose
10
-
3D camera path authoring. This tool owns `cameraPath`, waypoint editing, path normalization, export, and publish to `tools.3d-camera-path-editor`.
10
+
3D camera path authoring. 3D Camera Path Editor owns `cameraPath`, waypoint editing, path normalization, export, and publish to `tools.3d-camera-path-editor`.
11
11
12
12
## Exact Folder/Files Inspected
13
13
-`tools/3D Camera Path Editor/how_to_use.html`
@@ -52,19 +52,17 @@ Add:
52
52
- Publish `tools.3d-camera-path-editor`
53
53
54
54
## JSON Contract Owned By This Tool
55
-
Baseline schema: `tools/schemas/tools/3d-camera-path-editor.schema.json`. Required top-level fields: cameraPath. Allowed top-level fields: cameraPath. Additional top-level properties are rejected by the current schema. The tool owns import/load, validation, edit/process, export/save, and publish of this payload. Workspace may pass a launch payload, but nested JSON remains tool-owned.
55
+
Owned JSON is the 3d-camera-path-editor payload. Required field is `cameraPath`; no other top-level fieldsare allowed. Camera path data owns waypoint order, positions, timing, and normalized path output.
56
56
57
-
## Hosted/Launch Payload Boundary
58
-
- Launch payloads may seed this tool, but they do not become workspace-owned internals.
59
-
- toolState copies may be created later from the published output, but the copied JSON must still match this tool contract.
60
-
- Use file/path/name fields for assets. Do not persist `imageDataUrl`.
57
+
## Publish Output
58
+
Publish only to `tools.3d-camera-path-editor`. The published value must match the tool-owned contract above and must be produced by this folder's validation/export path.
61
59
62
60
## Invalid JSON Behavior
63
-
-Reject malformed JSON before state mutation.
64
-
-Reject missing required fields from the schema baseline.
65
-
-Reject unsupported top-level fields when the schema disallows extras.
66
-
-Keep export/save/publish disabled until the current payload validates.
67
-
-Show a tool-specific error that names the failing field or control group.
Copy file name to clipboardExpand all lines: docs/design/tools/3d-json-payload/REENGINEERING_DESIGN.md
+9-12Lines changed: 9 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# 3D JSON Payload Reengineering Design
2
2
3
-
Task: PR_26124_022-tighten-tool-design-docs
3
+
Task: PR_26124_023-finalize-tool-design-docs
4
4
Classification: rebuildable tool
5
5
Core priority: core-11
6
6
Source folder: `tools/3D JSON Payload`
7
7
Publish target: `tools.3d-json-payload`
8
8
9
9
## Tool Purpose
10
-
3D map payload normalization. This tool owns `mapPayload`, normalization, invalid JSON rejection, export, and publish to `tools.3d-json-payload`.
10
+
3D map payload normalization. 3D JSON Payload owns `mapPayload`, normalization, invalid JSON rejection, export, and publish to `tools.3d-json-payload`.
11
11
12
12
## Exact Folder/Files Inspected
13
13
-`tools/3D JSON Payload/how_to_use.html`
@@ -51,19 +51,16 @@ Add:
51
51
- Publish `tools.3d-json-payload`
52
52
53
53
## JSON Contract Owned By This Tool
54
-
Baseline schema: `tools/schemas/tools/3d-json-payload.schema.json`. Required top-level fields: mapPayload. Allowed top-level fields: mapPayload. Additional top-level properties are rejected by the current schema. The tool owns import/load, validation, edit/process, export/save, and publish of this payload. Workspace may pass a launch payload, but nested JSON remains tool-owned.
54
+
Owned JSON is the 3d-json-payload payload. Required field is `mapPayload`; no other top-level fieldsare allowed. The normalized output is derived only from the map payload text loaded in this folder.
55
55
56
-
## Hosted/Launch Payload Boundary
57
-
- Launch payloads may seed this tool, but they do not become workspace-owned internals.
58
-
- toolState copies may be created later from the published output, but the copied JSON must still match this tool contract.
59
-
- Use file/path/name fields for assets. Do not persist `imageDataUrl`.
56
+
## Publish Output
57
+
Publish only to `tools.3d-json-payload`. The published value must match the tool-owned contract above and must be produced by this folder's validation/export path.
60
58
61
59
## Invalid JSON Behavior
62
-
- Reject malformed JSON before state mutation.
63
-
- Reject missing required fields from the schema baseline.
64
-
- Reject unsupported top-level fields when the schema disallows extras.
65
-
- Keep export/save/publish disabled until the current payload validates.
66
-
- Show a tool-specific error that names the failing field or control group.
60
+
- malformed JSON
61
+
- missing `mapPayload`
62
+
- map payload values the normalizer cannot process
63
+
- unsupported top-level fields
67
64
68
65
## Manual Test Plan
69
66
- Paste a valid `mapPayload` document and normalize it.
Copy file name to clipboardExpand all lines: docs/design/tools/asset-browser/REENGINEERING_DESIGN.md
+14-16Lines changed: 14 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
# Asset Browser Reengineering Design
2
2
3
-
Task: PR_26124_022-tighten-tool-design-docs
3
+
Task: PR_26124_023-finalize-tool-design-docs
4
4
Classification: rebuildable tool
5
5
Core priority: core-02
6
6
Source folder: `tools/Asset Browser`
7
7
Publish target: `tools.asset-browser`
8
8
9
9
## Tool Purpose
10
-
Approved asset browsing and import-plan authoring. This tool owns asset selection, import candidate validation, and publish to `tools.asset-browser`.
10
+
Approved asset browsing and import-plan authoring. Asset Browser owns asset selection, import candidate validation, and publish to `tools.asset-browser`.
11
11
12
12
## Exact Folder/Files Inspected
13
13
-`tools/Asset Browser/assetBrowser.css`
@@ -69,30 +69,28 @@ Keep:
69
69
- Download Plan JSON
70
70
71
71
Remove or rename:
72
-
-ambiguous`Use In Active Tool`handoff as a persisted JSON owner
72
+
-treat`Use In Active Tool` as a transient handoff, not a JSON ownership path
73
73
74
74
Add:
75
-
- Load asset-browser JSON
75
+
- Load Asset Browser JSON
76
76
- Validate asset catalog/import plan
77
77
- Publish `tools.asset-browser`
78
-
- copy selected asset as launch payload only
79
78
80
79
## JSON Contract Owned By This Tool
81
-
Baseline schema: `tools/schemas/tools/asset-browser.schema.json`. Required top-level fields: assets. Allowed top-level fields: assets, assetBrowserPreset, approvedAssets, importHubPreset. Additional top-level properties are rejected by the current schema. The tool owns import/load, validation, edit/process, export/save, and publish of this payload. Workspace may pass a launch payload, but nested JSON remains tool-owned.
80
+
Owned JSON is the asset-browser payload. Required field is `assets`. Optional fields are `assetBrowserPreset`, `approvedAssets`, and `importHubPreset`. Import-plan output must use asset ids, categories, destinations, and path/name metadata produced by Asset Browser controls.
82
81
83
-
## Hosted/Launch Payload Boundary
84
-
- Launch payloads may seed this tool, but they do not become workspace-owned internals.
85
-
- toolState copies may be created later from the published output, but the copied JSON must still match this tool contract.
86
-
- Use file/path/name fields for assets. Do not persist `imageDataUrl`.
82
+
## Publish Output
83
+
Publish only to `tools.asset-browser`. The published value must match the tool-owned contract above and must be produced by this folder's validation/export path.
87
84
88
85
## Invalid JSON Behavior
89
-
-Reject malformed JSON before state mutation.
90
-
-Reject missing required fields from the schema baseline.
91
-
-Reject unsupported top-level fields when the schema disallows extras.
92
-
-Keep export/save/publish disabled until the current payload validates.
93
-
-Show a tool-specific error that names the failing field or control group.
86
+
- malformed JSON
87
+
- missing `assets`
88
+
-`assets` that is not the expected asset collection
89
+
-invalid import category/destination/name values
90
+
-unsupported top-level fields
94
91
95
92
## Manual Test Plan
96
93
- Filter assets by category and search term.
97
94
- Select an asset and confirm preview/meta text updates.
98
-
- Build an import plan, validate it, download it, and confirm invalid category/destination/name combinations are blocked.
95
+
- Build an import plan, validate it, download it, and re-load it.
96
+
- Try bad category/destination/name combinations; validation must block publish.
0 commit comments