Skip to content

Commit f0ba84f

Browse files
author
DavidQ
committed
Make Workspace palette a singular tool payload and rebuild sample 1902 - PR 11.14
1 parent a358c7d commit f0ba84f

10 files changed

Lines changed: 283 additions & 211 deletions

File tree

docs/dev/codex_commands.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33
model: gpt-5.3-codex
44
reasoning: medium
55

6-
Apply PR_11_13_WORKSPACE_1902_SCHEMA_CONFORMANCE_FIX.
6+
Apply PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD.
77

88
Required:
9-
- Validate sample 1902 against the actual Workspace schemas, not the sample tool-payload schema.
10-
- Rewrite `samples/phase-19/1902/sample.1902.workspace-all-tools.json` to conform to the actual Workspace schema/manifest shape.
11-
- Remove unsupported/misplaced fields such as `tool: workspace-all-tools-integration`, `activeWorkspaceTools`, duplicate `config`, duplicate `payload`, copied unrelated sample/game data, and palette sidecar references unless the actual schema requires them.
12-
- Ensure Workspace resolves all active workspace-supported tools from the schema-valid manifest, not just Palette.
9+
- Update `tools/schemas/workspace.manifest.schema.json` so Palette is a singular tool payload under `tools.palette`.
10+
- Remove top-level required `palettes` collection from the manifest schema unless migration compatibility is required and documented.
11+
- Rebuild only `samples/phase-19/1902/`.
12+
- Delete/remove `sample.1902.palette.json`.
13+
- Rebuild sample 1902 workspace payload so all tool data is under `tools`, including `tools.palette`.
14+
- Allow only one palette in the workspace manifest.
15+
- Ensure Workspace shows all valid tools, not only Palette.
16+
- Do not modify other samples.
1317
- Do not add fallback/default/hidden data.
14-
- Do not modify standalone tool samples.
1518
- Do not modify start_of_day folders.
16-
- Add validation report at docs/dev/reports/PR_11_13_WORKSPACE_1902_SCHEMA_CONFORMANCE_FIX_report.md.
17-
- Return ZIP artifact at tmp/PR_11_13_WORKSPACE_1902_SCHEMA_CONFORMANCE_FIX_delta.zip.
19+
- Add validation report at docs/dev/reports/PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD_report.md.
20+
- Return ZIP artifact at tmp/PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD_delta.zip.

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Fix sample 1902 Workspace JSON to conform to actual workspace schema - PR 11.13
1+
Make Workspace palette a singular tool payload and rebuild sample 1902 - PR 11.14
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD Report
2+
3+
## Result
4+
- PASS
5+
6+
## Scope Applied
7+
- Updated `tools/schemas/workspace.manifest.schema.json`.
8+
- Rebuilt only `samples/phase-19/1902/sample.1902.workspace-all-tools.json`.
9+
- Did not modify any other sample folder.
10+
11+
## Schema Changes
12+
- Removed top-level required `palettes`.
13+
- Removed top-level `palettes` property from the workspace manifest schema.
14+
- Kept top-level `tools` required.
15+
- Added required singular `tools.palette`.
16+
- Added shape checks for `tools.palette` (`id`, `name`, `swatches`).
17+
18+
## Final 1902 JSON Structure
19+
- Top-level keys:
20+
- `documentKind`
21+
- `schema`
22+
- `version`
23+
- `id`
24+
- `name`
25+
- `tools`
26+
- Canonical palette location:
27+
- `tools.palette`
28+
- Tool payloads remain under `tools.<toolId>` for all active tools.
29+
30+
## Palette Contract Confirmation
31+
- `tools.palette` exists and is the canonical workspace palette payload.
32+
- Only one canonical palette object exists in the manifest (`tools.palette`).
33+
- Top-level `palettes` collection is removed.
34+
- `sample.1902.palette.json` sidecar is not present.
35+
- No `sample.1902.palette.json` references remain in the 1902 workspace manifest.
36+
37+
## Workspace Validation (More Than Palette)
38+
- Validation script result:
39+
- `PR_11_14_validation PASS`
40+
- `activeToolCount 17`
41+
- `sampleToolCount 18`
42+
- `sampleToolCount` includes all 17 active tool payload keys plus canonical `palette`.
43+
- Launch smoke run:
44+
- Command: `npm run test:launch-smoke -- --tools`
45+
- Result: `PASS=287 FAIL=0 TOTAL=287`
46+
- Includes `sample 1902` PASS and all tool entries PASS.
47+
48+
## Tools Shown/Resolved in 1902
49+
- `vector-map-editor`
50+
- `vector-asset-studio`
51+
- `tile-map-editor`
52+
- `parallax-editor`
53+
- `sprite-editor`
54+
- `skin-editor`
55+
- `asset-browser`
56+
- `palette-browser`
57+
- `state-inspector`
58+
- `replay-visualizer`
59+
- `performance-profiler`
60+
- `physics-sandbox`
61+
- `asset-pipeline-tool`
62+
- `tile-model-converter`
63+
- `3d-json-payload-normalizer`
64+
- `3d-asset-viewer`
65+
- `3d-camera-path-editor`
66+
- `palette` (canonical workspace palette payload)
67+
68+
## Change Boundary Confirmation
69+
- Sample changes were limited to `samples/phase-19/1902/`.
70+
- No `start_of_day` changes.
71+
- No fallback/default/hidden data was added.
72+
73+
## Files Changed for This PR
74+
- `tools/schemas/workspace.manifest.schema.json`
75+
- `samples/phase-19/1902/sample.1902.workspace-all-tools.json`
76+
- `docs/dev/reports/PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD_report.md`
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# REPORT_PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD
2+
3+
## Summary
4+
This PR updates the Workspace manifest contract so Palette is a singular tool payload under `tools.palette`, then rebuilds only sample 1902 against that schema.
5+
6+
## Target
7+
- No top-level palette collection.
8+
- No palette sidecar.
9+
- One palette under tools.palette.
10+
- Workspace shows all valid tools for sample 1902.

docs/dev/reports/launch_smoke_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Launch Smoke Report
22

3-
Generated: 2026-04-29T01:39:23.947Z
3+
Generated: 2026-04-29T01:57:36.705Z
44

55
Filters: games=true, samples=true, tools=true, sampleRange=all
66

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# BUILD_PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD
2+
3+
## Required Codex Work
4+
5+
### 1. Update Workspace manifest schema
6+
Update:
7+
`tools/schemas/workspace.manifest.schema.json`
8+
9+
Required model:
10+
- top-level `tools` remains required
11+
- top-level `palettes` must be removed unless retained only for migration with clear deprecation
12+
- Palette belongs under `tools.palette`
13+
- only one `tools.palette` entry is allowed
14+
- no multiple palette collection
15+
16+
Preferred manifest shape:
17+
```json
18+
{
19+
"tools": {
20+
"asset-browser": {},
21+
"sprite-editor": {},
22+
"vector-map-editor": {},
23+
"palette": {
24+
"id": "sample-1902-palette",
25+
"name": "Sample 1902 Palette",
26+
"swatches": []
27+
}
28+
}
29+
}
30+
```
31+
32+
### 2. Rebuild only sample 1902
33+
Update only:
34+
`samples/phase-19/1902/`
35+
36+
Rules:
37+
- delete/remove any `sample.1902.palette.json`
38+
- remove top-level `palettes`
39+
- remove duplicated palette/config/payload blocks
40+
- put palette data at `tools.palette`
41+
- put each tool payload under its matching `tools.<toolId>` key
42+
- no copied unrelated sample/game dump data
43+
- no fallback/default/hidden data
44+
45+
### 3. Workspace schema file
46+
Update the 1902 Workspace file so it uses the correct launcher/index schema and points to the updated manifest shape.
47+
48+
If 1902 uses a single combined file, it must still match the updated schema expected by the loader. Do not invent unsupported fields.
49+
50+
### 4. Validation
51+
Create:
52+
docs/dev/reports/PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD_report.md
53+
54+
Report must include:
55+
- schema changes
56+
- final 1902 JSON structure
57+
- confirmation palette is under `tools.palette`
58+
- confirmation only one palette exists
59+
- confirmation no palette sidecar remains
60+
- Workspace validation showing more than Palette is available
61+
- list of tools shown/resolved
62+
- confirmation only sample 1902 was changed
63+
- confirmation no start_of_day changes
64+
65+
## Constraints
66+
- One PR purpose only.
67+
- Do not modify other samples.
68+
- Do not modify standalone sample tool behavior.
69+
- No broad Workspace refactor unless required to read the updated schema.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# PLAN_PR_11_14_WORKSPACE_SCHEMA_PALETTE_TOOL_AND_1902_REBUILD
2+
3+
## Purpose
4+
Update the Workspace manifest schema so Palette is a singular tool payload under `tools.palette`, then rebuild only sample 1902 to match.
5+
6+
## Problem
7+
Workspace currently shows only Palette. The schema separates `palettes` from `tools`, but Palette is a tool and should be represented as a single allowed `tools.palette` payload. Sample 1902 must not use a separate palette sidecar or workspace-level palettes collection.
8+
9+
## Scope
10+
- Update Workspace manifest schema contract.
11+
- Palette becomes singular and tool-owned:
12+
- `tools.palette`
13+
- only one palette allowed
14+
- Rebuild only sample 1902 against the updated schema.
15+
- Do not modify other samples.
16+
- Do not modify standalone tool samples.
17+
- Do not modify start_of_day folders.
18+
19+
## Acceptance
20+
- `workspace.manifest.schema.json` no longer requires top-level `palettes`.
21+
- `tools.palette` is the single palette source for Workspace.
22+
- Only one palette payload is allowed in Workspace manifest.
23+
- Sample 1902 contains no `sample.1902.palette.json`.
24+
- Sample 1902 Workspace JSON validates against updated schema.
25+
- Workspace shows all valid tools, not only Palette.

0 commit comments

Comments
 (0)