Skip to content

Commit 2b83b72

Browse files
author
DavidQ
committed
Consolidate sample JSON ownership and tool sample alignment rules - PR 11.41. Remove default payload builders from 3D tools - PR 11.42
.
1 parent 829e610 commit 2b83b72

15 files changed

Lines changed: 1123 additions & 132 deletions

docs/dev/codex_commands.md

Lines changed: 38 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,50 @@
11
MODEL: GPT-5.3-codex
2-
REASONING: high
2+
REASONING: medium
33

44
TASK:
5-
Apply PR 11.37.
6-
7-
Perform a deep rename:
8-
Vector Asset Studio -> SVG Asset Studio
9-
10-
This is not display-only. Rename directories, files, ids, usage, schema references, JSON payloads, docs, tests, imports, launch URLs, registry entries, and Workspace Manager references as needed.
11-
12-
Canonical new identity:
13-
- display name: SVG Asset Studio
14-
- internal/tool id: svg-asset-studio
15-
- purpose: SVG-focused asset authoring studio
16-
17-
Old identity:
18-
- display name: Vector Asset Studio
19-
- old id likely: vector-asset-studio
20-
21-
Compatibility:
22-
- Provide one centralized temporary alias:
23-
vector-asset-studio -> svg-asset-studio
24-
- The alias must be documented.
25-
- Do not scatter remapping logic across files.
26-
- Do not create duplicate tool entries.
27-
- Do not keep both tools visible.
28-
- Do not create pass-through variable chains.
29-
- Do not add hidden/default fallback data.
30-
31-
Required work:
32-
1. Inspect actual current repo for all references:
33-
- "Vector Asset Studio"
34-
- "vector-asset-studio"
35-
- "vectorAssetStudio"
36-
- "vector asset studio"
37-
- related path names
38-
2. Rename active tool directory/file names where feasible.
39-
3. Update imports and references.
40-
4. Update tool manifest/registry/schema entries.
41-
5. Update sample 1902 workspace JSON/payload references.
42-
6. Update docs/help text that users see.
43-
7. Update tests/smoke expectations.
44-
8. Keep old references only in:
45-
- one compatibility alias location
46-
- migration/report docs
47-
9. Validate no duplicate SVG/Vector Asset Studio tiles appear.
5+
Apply PR 11.42.
6+
7+
Remove `buildDefaultPayload` from:
8+
- 3D Asset Viewer
9+
- 3D Camera Path Editor
10+
- 3D JSON Payload Normalizer
11+
12+
This cleanup supports the explicit sample JSON/input contract from PR 11.41.
13+
14+
Rules:
15+
- Do not fabricate payloads.
16+
- Do not auto-load hidden defaults.
17+
- Do not create fallback sample geometry/camera/path data.
18+
- When no payload/input exists, show a safe empty state explaining explicit JSON/input is required.
19+
- Preserve behavior when explicit payload/input is provided.
20+
- Keep changes limited to the listed tools and direct shared helpers only if required.
21+
22+
Search terms:
23+
- buildDefaultPayload
24+
- 3d asset viewer
25+
- 3d camera path editor
26+
- 3d json payload normalizer
27+
- payload normalizer
4828

4929
Do NOT:
50-
- change unrelated tool behavior
51-
- modify Vector Map Editor except where it references the renamed tool
52-
- modify payload behavior except ID/name migration
53-
- touch start_of_day folders unless required by active runtime validation
54-
- leave mixed canonical naming
30+
- change unrelated tools
31+
- change sample 1902 workspace payload except as needed for correct explicit-input messaging
32+
- undo SVG Asset Studio rename
33+
- touch start_of_day folders
5534

5635
Validation:
36+
Run targeted syntax checks for changed JS files.
5737
Run:
58-
node --check tools/shared/platformShell.js
59-
node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1902-1902 --tools
38+
node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --tools
6039

61-
Also run repo search checks and include results in report:
62-
- search for "Vector Asset Studio"
63-
- search for "vector-asset-studio"
64-
- search for "SVG Asset Studio"
65-
- search for "svg-asset-studio"
40+
If full smoke is too broad, run relevant targeted smoke and document why.
6641

67-
Manual validation:
68-
Open sample 1902 -> Workspace Manager.
69-
Confirm:
70-
- one tile only: SVG Asset Studio
71-
- no Vector Asset Studio tile
72-
- SVG Asset Studio opens
73-
- Vector Map Editor still opens
74-
- workspace payload still loads correctly
42+
Reports:
43+
Write:
44+
docs/dev/reports/PR_11_42_validation.txt
7545

76-
REPORT:
77-
Write docs/dev/reports/PR_11_37_deep_rename_validation.txt with:
78-
- files renamed
79-
- files edited
80-
- canonical new IDs/names
81-
- compatibility alias location
82-
- remaining old-name references and why each is allowed
46+
Report must include:
47+
- files changed
48+
- each removed buildDefaultPayload location
49+
- new no-input behavior for each tool
8350
- validation command results
84-
- manual validation notes

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Deep rename Vector Asset Studio to SVG Asset Studio - PR 11.37
1+
Remove default payload builders from 3D tools - PR 11.42

docs/dev/reports/PR_11_41_sample_json_ownership_audit.md

Lines changed: 147 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# PR 11.41 Sample JSON Ownership Audit
2+
3+
## Contract
4+
Sample JSON must belong to the correct executable sample for the correct tool/use case.
5+
6+
If it does not fit, it must be rehomed, deleted, or replaced by a correct sample update while preserving coverage.
7+
8+
## Sample 1902 Exception
9+
Sample 1902 is a Workspace Manager/workspace integration sample and is exempt from single-tool JSON ownership enforcement.
10+
11+
## Decision Table
12+
13+
| JSON Path | Current Sample | Intended Tool/Use Case | Executable Entry Point | Fits Current Sample? | Loaded? | Visible Effect? | Decision | Reason |
14+
|---|---|---|---|---|---|---|---|---|
15+
16+
## Files Moved
17+
18+
## Files Deleted
19+
20+
## Files Updated
21+
22+
## Files Created
23+
24+
## Coverage Preserved Statement
25+
26+
## Uncertain Items Deferred
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
PR 11.41 Validation
2+
3+
Status: PASS
4+
5+
Task summary
6+
- Consolidated audit logic for PR 11.38/11.39/11.40 into a single executable audit path.
7+
- Added explicit sample 1902 workspace exemption handling.
8+
- Generated ownership decision table and deferred-only list without destructive JSON moves/deletes.
9+
10+
Changed files
11+
- scripts/audit-sample-json-ownership.mjs
12+
- docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
13+
- docs/dev/reports/launch_smoke_report.md
14+
15+
Validation commands and results
16+
1) node --check tools/shared/platformShell.js
17+
- PASS
18+
19+
2) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --tools
20+
- PASS
21+
- Summary: PASS=275 FAIL=0 TOTAL=275
22+
- Includes sample 1902 PASS and all tool entry PASS.
23+
24+
3) git diff --check
25+
- PASS
26+
27+
Audit output summary
28+
- Total audited sample JSON files: 94
29+
- KEEP + WIRE: 73
30+
- MOVE / REHOME: 0
31+
- DELETE: 0
32+
- CREATE / UPDATE CORRECT SAMPLE: 20 (deferred/uncertain, no destructive action in this PR)
33+
- EXEMPT WORKSPACE SAMPLE: 1 (samples/phase-19/1902/sample.1902.workspace-all-tools.json)
34+
35+
Sample 1902 exemption confirmation
36+
- Sample 1902 treated as workspace aggregation sample.
37+
- Single-tool KEEP/MOVE/DELETE enforcement was not applied to 1902.
38+
- 1902 JSON was validated only for workspace integration context.
39+
40+
Manual validation notes
41+
- No sample JSON files were moved/deleted/rewired in this PR, so there are no changed sample payload ownership paths requiring manual re-check.
42+
- Runtime smoke includes sample 1902 launch PASS, confirming workspace JSON remains loadable under exemption.
43+
44+
Remaining deferred items
45+
- 20 sample-local companion JSON files are documented in the audit report as uncertain/non-authoritative for destructive action.
46+
- These are deferred to a follow-up PR to avoid reducing coverage or guessing ownership.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# PR 11.41 Validation
2+
3+
## Changed Files
4+
-
5+
6+
## Sample 1902 Exemption Confirmed
7+
-
8+
9+
## Coverage Preserved
10+
-
11+
12+
## Validation Commands
13+
- node --check tools/shared/platformShell.js
14+
- node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --tools
15+
16+
## Manual Validation
17+
-
18+
19+
## Notes
20+
-
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
PR 11.42 Validation
2+
3+
Status: PASS
4+
5+
Files changed
6+
- tools/3D Asset Viewer/main.js
7+
- tools/3D Camera Path Editor/main.js
8+
- tools/3D JSON Payload Normalizer/main.js
9+
- docs/dev/reports/PR_11_42_validation.txt
10+
- docs/dev/reports/launch_smoke_report.md
11+
12+
Removed buildDefaultPayload locations
13+
1) tools/3D Asset Viewer/main.js
14+
- Removed `buildDefaultPayload` function.
15+
- Removed boot-time default textarea fill (`refs.input.value = toPrettyJson(buildDefaultPayload())`).
16+
- Removed normalize fallback that returned `buildDefaultPayload()` when raw payload was missing.
17+
18+
2) tools/3D Camera Path Editor/main.js
19+
- Removed `buildDefaultPayload` function.
20+
- Removed boot-time default textarea fill (`refs.input.value = toPrettyJson(buildDefaultPayload())`).
21+
- Removed normalize fallback that returned `buildDefaultPayload()` when raw payload was missing.
22+
- Removed add-waypoint fallback (`parseInputPayload() || buildDefaultPayload()`).
23+
24+
3) tools/3D JSON Payload Normalizer/main.js
25+
- Removed `buildDefaultPayload` function.
26+
- Removed boot-time default textarea fill (`refs.input.value = toPrettyJson(buildDefaultPayload())`).
27+
- Removed normalize fallback that returned `buildDefaultPayload()` when raw payload was missing.
28+
29+
New no-input behavior
30+
1) 3D Asset Viewer
31+
- On missing `samplePresetPath`, status now shows:
32+
"No 3D asset payload loaded. Provide explicit JSON input or launch with samplePresetPath."
33+
- On empty textarea at boot, no payload is fabricated; same explicit-input status is shown.
34+
- Explicit preset/input flow remains unchanged when valid payload exists.
35+
36+
2) 3D Camera Path Editor
37+
- On missing `samplePresetPath`, status now shows:
38+
"No camera path payload loaded. Provide explicit JSON input or launch with samplePresetPath."
39+
- On empty textarea at boot, no payload is fabricated; same explicit-input status is shown.
40+
- Add Waypoint now requires existing explicit JSON input; if missing/invalid it shows:
41+
"Cannot add waypoint: explicit camera path JSON input is required."
42+
- Explicit preset/input flow remains unchanged when valid payload exists.
43+
44+
3) 3D JSON Payload Normalizer
45+
- On missing `samplePresetPath`, status now shows:
46+
"No map payload loaded. Provide explicit JSON input or launch with samplePresetPath."
47+
- On empty textarea at boot, no payload is fabricated; same explicit-input status is shown.
48+
- Explicit preset/input flow remains unchanged when valid payload exists.
49+
50+
Validation commands and results
51+
- rg -n "buildDefaultPayload" "tools/3D Asset Viewer/main.js" "tools/3D Camera Path Editor/main.js" "tools/3D JSON Payload Normalizer/main.js"
52+
- Result: no matches (function fully removed from all 3 target files).
53+
54+
- node --check "tools/3D Asset Viewer/main.js"
55+
- PASS
56+
57+
- node --check "tools/3D Camera Path Editor/main.js"
58+
- PASS
59+
60+
- node --check "tools/3D JSON Payload Normalizer/main.js"
61+
- PASS
62+
63+
- node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --tools
64+
- PASS
65+
- Summary: PASS=275 FAIL=0 TOTAL=275
66+
67+
Notes
68+
- No hidden/default sample geometry/camera/path payloads are auto-loaded by these three tools after this change.
69+
- Scope remained limited to the listed tools and reporting.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# PR 11.42 Validation
2+
3+
## Changed Files
4+
-
5+
6+
## Removed buildDefaultPayload Locations
7+
-
8+
9+
## New No-Input Behavior
10+
11+
### 3D Asset Viewer
12+
13+
### 3D Camera Path Editor
14+
15+
### 3D JSON Payload Normalizer
16+
17+
## Validation
18+
-

0 commit comments

Comments
 (0)