Skip to content

Commit eb7201b

Browse files
author
DavidQ
committed
Samples2Tools batch 20: add preset-loading support and first sample mappings for 3D utilities, asset tools, palette browser, and state inspector
1 parent 928852a commit eb7201b

19 files changed

Lines changed: 1316 additions & 12 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
BUILD_PR_LEVEL_20_1_PHASE20_TOOL_PRESET_INTEGRATION - Samples2Tools Batch 20 Summary
2+
3+
Scope: phase-01 through phase-19 metadata-driven roundtrip mapping for priority toolset foundation
4+
5+
Added mappings in this batch:
6+
- 0201 -> 3d-camera-path-editor
7+
- 0205 -> state-inspector
8+
- 0213 -> palette-browser
9+
- 0221 -> 3d-json-payload-normalizer
10+
- 1208 -> 3d-asset-viewer
11+
- 1417 -> asset-pipeline-tool
12+
- 1505 -> asset-browser
13+
14+
Total metadata roundtrip mappings: 39
15+
- 3d-asset-viewer: 1 mapped samples
16+
- 3d-camera-path-editor: 1 mapped samples
17+
- 3d-json-payload-normalizer: 1 mapped samples
18+
- asset-browser: 1 mapped samples
19+
- asset-pipeline-tool: 1 mapped samples
20+
- palette-browser: 1 mapped samples
21+
- parallax-editor: 4 mapped samples
22+
- performance-profiler: 2 mapped samples
23+
- physics-sandbox: 2 mapped samples
24+
- replay-visualizer: 3 mapped samples
25+
- sprite-editor: 9 mapped samples
26+
- state-inspector: 1 mapped samples
27+
- tile-map-editor: 7 mapped samples
28+
- tile-model-converter: 3 mapped samples
29+
- vector-asset-studio: 1 mapped samples
30+
- vector-map-editor: 1 mapped samples
31+
32+
Legacy exclusion: sprite-editor-old-keep remains intentionally unmapped in this lane.
33+
Source of truth: samples/metadata/samples.index.metadata.json -> samples[].roundtripToolPresets
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
BUILD_PR_LEVEL_20_1_PHASE20_TOOL_PRESET_INTEGRATION - Samples2Tools Batch 20 Validation
2+
3+
[x] 0201 -> 3d-camera-path-editor mapping present (yes) at /samples/phase-02/0201/sample-0201-3d-camera-path-editor.json
4+
[x] 0205 -> state-inspector mapping present (yes) at /samples/phase-02/0205/sample-0205-state-inspector.json
5+
[x] 0213 -> palette-browser mapping present (yes) at /samples/phase-02/0213/sample-0213-palette-browser.json
6+
[x] 0221 -> 3d-json-payload-normalizer mapping present (yes) at /samples/phase-02/0221/sample-0221-3d-json-payload-normalizer.json
7+
[x] 1208 -> 3d-asset-viewer mapping present (yes) at /samples/phase-12/1208/sample-1208-3d-asset-viewer.json
8+
[x] 1417 -> asset-pipeline-tool mapping present (yes) at /samples/phase-14/1417/sample-1417-asset-pipeline-tool.json
9+
[x] 1505 -> asset-browser mapping present (yes) at /samples/phase-15/1505/sample-1505-asset-browser.json
10+
[x] Query-preset loading added for: 3d-asset-viewer, 3d-camera-path-editor, 3d-json-payload-normalizer, asset-browser, asset-pipeline-tool, palette-browser, state-inspector
11+
[x] Link map report regenerated from metadata mappings (samples2tools_link_map_20.json)
12+
13+
Validation checks performed
14+
- node --check for all updated tool entry scripts
15+
- JSON parse for all new sample preset files
16+
- metadata extraction confirms all new mappings
Lines changed: 319 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,319 @@
1+
{
2+
"generatedAt": "2026-04-24T20:45:36.287Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-20-priority-toolset-foundation",
5+
"links": [
6+
{
7+
"sampleId": "0201",
8+
"phase": "02",
9+
"title": "Camera Follow",
10+
"toolId": "3d-camera-path-editor",
11+
"href": "./phase-02/0201/index.html",
12+
"presetPath": "/samples/phase-02/0201/sample-0201-3d-camera-path-editor.json"
13+
},
14+
{
15+
"sampleId": "0205",
16+
"phase": "02",
17+
"title": "Save Load State",
18+
"toolId": "state-inspector",
19+
"href": "./phase-02/0205/index.html",
20+
"presetPath": "/samples/phase-02/0205/sample-0205-state-inspector.json"
21+
},
22+
{
23+
"sampleId": "0207",
24+
"phase": "02",
25+
"title": "Animation System",
26+
"toolId": "sprite-editor",
27+
"href": "./phase-02/0207/index.html",
28+
"presetPath": "/samples/phase-02/0207/sample-0207-sprite-editor.json"
29+
},
30+
{
31+
"sampleId": "0213",
32+
"phase": "02",
33+
"title": "Sprite Render Layer",
34+
"toolId": "palette-browser",
35+
"href": "./phase-02/0213/index.html",
36+
"presetPath": "/samples/phase-02/0213/sample-0213-palette-browser.json"
37+
},
38+
{
39+
"sampleId": "0213",
40+
"phase": "02",
41+
"title": "Sprite Render Layer",
42+
"toolId": "sprite-editor",
43+
"href": "./phase-02/0213/index.html",
44+
"presetPath": "/samples/phase-02/0213/sample-0213-sprite-editor.json"
45+
},
46+
{
47+
"sampleId": "0214",
48+
"phase": "02",
49+
"title": "Animation Sprite Binding",
50+
"toolId": "sprite-editor",
51+
"href": "./phase-02/0214/index.html",
52+
"presetPath": "/samples/phase-02/0214/sample-0214-sprite-editor.json"
53+
},
54+
{
55+
"sampleId": "0219",
56+
"phase": "02",
57+
"title": "Sprite Atlas Image Rendering",
58+
"toolId": "sprite-editor",
59+
"href": "./phase-02/0219/index.html",
60+
"presetPath": "/samples/phase-02/0219/sample-0219-sprite-editor.json"
61+
},
62+
{
63+
"sampleId": "0221",
64+
"phase": "02",
65+
"title": "Tilemap System",
66+
"toolId": "3d-json-payload-normalizer",
67+
"href": "./phase-02/0221/index.html",
68+
"presetPath": "/samples/phase-02/0221/sample-0221-3d-json-payload-normalizer.json"
69+
},
70+
{
71+
"sampleId": "0221",
72+
"phase": "02",
73+
"title": "Tilemap System",
74+
"toolId": "tile-map-editor",
75+
"href": "./phase-02/0221/index.html",
76+
"presetPath": "/samples/phase-02/0221/sample-0221-tile-map-editor.json"
77+
},
78+
{
79+
"sampleId": "0221",
80+
"phase": "02",
81+
"title": "Tilemap System",
82+
"toolId": "tile-model-converter",
83+
"href": "./phase-02/0221/index.html",
84+
"presetPath": "/samples/phase-02/0221/sample-0221-tile-model-converter.json"
85+
},
86+
{
87+
"sampleId": "0224",
88+
"phase": "02",
89+
"title": "Tile Camera Sprite Slice",
90+
"toolId": "sprite-editor",
91+
"href": "./phase-02/0224/index.html",
92+
"presetPath": "/samples/phase-02/0224/sample-0224-sprite-editor.json"
93+
},
94+
{
95+
"sampleId": "0224",
96+
"phase": "02",
97+
"title": "Tile Camera Sprite Slice",
98+
"toolId": "tile-map-editor",
99+
"href": "./phase-02/0224/index.html",
100+
"presetPath": "/samples/phase-02/0224/sample-0224-tile-map-editor.json"
101+
},
102+
{
103+
"sampleId": "0301",
104+
"phase": "03",
105+
"title": "Real Sprite Rendering",
106+
"toolId": "sprite-editor",
107+
"href": "./phase-03/0301/index.html",
108+
"presetPath": "/samples/phase-03/0301/sample-0301-sprite-editor.json"
109+
},
110+
{
111+
"sampleId": "0302",
112+
"phase": "03",
113+
"title": "Animation System",
114+
"toolId": "sprite-editor",
115+
"href": "./phase-03/0302/index.html",
116+
"presetPath": "/samples/phase-03/0302/sample-0302-sprite-editor.json"
117+
},
118+
{
119+
"sampleId": "0303",
120+
"phase": "03",
121+
"title": "Physics System",
122+
"toolId": "physics-sandbox",
123+
"href": "./phase-03/0303/index.html",
124+
"presetPath": "/samples/phase-03/0303/sample-0303-physics-sandbox.json"
125+
},
126+
{
127+
"sampleId": "0305",
128+
"phase": "03",
129+
"title": "Tile Metadata",
130+
"toolId": "tile-map-editor",
131+
"href": "./phase-03/0305/index.html",
132+
"presetPath": "/samples/phase-03/0305/sample-0305-tile-map-editor.json"
133+
},
134+
{
135+
"sampleId": "0305",
136+
"phase": "03",
137+
"title": "Tile Metadata",
138+
"toolId": "tile-model-converter",
139+
"href": "./phase-03/0305/index.html",
140+
"presetPath": "/samples/phase-03/0305/sample-0305-tile-model-converter.json"
141+
},
142+
{
143+
"sampleId": "0306",
144+
"phase": "03",
145+
"title": "Nes Style Zones Parallax",
146+
"toolId": "parallax-editor",
147+
"href": "./phase-03/0306/index.html",
148+
"presetPath": "/samples/phase-03/0306/sample-0306-parallax-editor.json"
149+
},
150+
{
151+
"sampleId": "0512",
152+
"phase": "05",
153+
"title": "Performance Metrics",
154+
"toolId": "performance-profiler",
155+
"href": "./phase-05/0512/index.html",
156+
"presetPath": "/samples/phase-05/0512/sample-0512-performance-profiler.json"
157+
},
158+
{
159+
"sampleId": "0708",
160+
"phase": "07",
161+
"title": "Replay System",
162+
"toolId": "replay-visualizer",
163+
"href": "./phase-07/0708/index.html",
164+
"presetPath": "/samples/phase-07/0708/sample-0708-replay-visualizer.json"
165+
},
166+
{
167+
"sampleId": "0901",
168+
"phase": "09",
169+
"title": "Vector Rendering System",
170+
"toolId": "vector-map-editor",
171+
"href": "./phase-09/0901/index.html",
172+
"presetPath": "/samples/phase-09/0901/sample-0901-vector-map-editor.json"
173+
},
174+
{
175+
"sampleId": "0905",
176+
"phase": "09",
177+
"title": "Pixel Perfect Collision",
178+
"toolId": "sprite-editor",
179+
"href": "./phase-09/0905/index.html",
180+
"presetPath": "/samples/phase-09/0905/sample-0905-sprite-editor.json"
181+
},
182+
{
183+
"sampleId": "1204",
184+
"phase": "12",
185+
"title": "Tilemap Parallax Hero",
186+
"toolId": "parallax-editor",
187+
"href": "./phase-12/1204/index.html",
188+
"presetPath": "/samples/phase-12/1204/sample-1204-parallax-editor.json"
189+
},
190+
{
191+
"sampleId": "1205",
192+
"phase": "12",
193+
"title": "Multi-System Demo",
194+
"toolId": "parallax-editor",
195+
"href": "./phase-12/1205/index.html",
196+
"presetPath": "/samples/phase-12/1205/sample-1205-parallax-editor.json"
197+
},
198+
{
199+
"sampleId": "1208",
200+
"phase": "12",
201+
"title": "Tool Formatted Tiles Parallax",
202+
"toolId": "3d-asset-viewer",
203+
"href": "./phase-12/1208/index.html",
204+
"presetPath": "/samples/phase-12/1208/sample-1208-3d-asset-viewer.json"
205+
},
206+
{
207+
"sampleId": "1208",
208+
"phase": "12",
209+
"title": "Tool Formatted Tiles Parallax",
210+
"toolId": "parallax-editor",
211+
"href": "./phase-12/1208/index.html",
212+
"presetPath": "/samples/phase-12/1208/sample-1208-parallax-editor.json"
213+
},
214+
{
215+
"sampleId": "1208",
216+
"phase": "12",
217+
"title": "Tool Formatted Tiles Parallax",
218+
"toolId": "tile-map-editor",
219+
"href": "./phase-12/1208/index.html",
220+
"presetPath": "/samples/phase-12/1208/sample-1208-tile-map-editor.json"
221+
},
222+
{
223+
"sampleId": "1208",
224+
"phase": "12",
225+
"title": "Tool Formatted Tiles Parallax",
226+
"toolId": "vector-asset-studio",
227+
"href": "./phase-12/1208/index.html",
228+
"presetPath": "/samples/phase-12/1208/sample-1208-vector-asset-studio.json"
229+
},
230+
{
231+
"sampleId": "1209",
232+
"phase": "12",
233+
"title": "Tilemap Basic Layout Preset",
234+
"toolId": "tile-map-editor",
235+
"href": "./phase-12/1209/index.html",
236+
"presetPath": "/samples/phase-12/1209/sample-1209-tile-map-editor.json"
237+
},
238+
{
239+
"sampleId": "1209",
240+
"phase": "12",
241+
"title": "Tilemap Basic Layout Preset",
242+
"toolId": "tile-model-converter",
243+
"href": "./phase-12/1209/index.html",
244+
"presetPath": "/samples/phase-12/1209/sample-1209-tile-model-converter.json"
245+
},
246+
{
247+
"sampleId": "1210",
248+
"phase": "12",
249+
"title": "Tilemap Objective Layout Preset",
250+
"toolId": "tile-map-editor",
251+
"href": "./phase-12/1210/index.html",
252+
"presetPath": "/samples/phase-12/1210/sample-1210-tile-map-editor.json"
253+
},
254+
{
255+
"sampleId": "1211",
256+
"phase": "12",
257+
"title": "Tilemap Mario Learning Layout Preset",
258+
"toolId": "tile-map-editor",
259+
"href": "./phase-12/1211/index.html",
260+
"presetPath": "/samples/phase-12/1211/sample-1211-tile-map-editor.json"
261+
},
262+
{
263+
"sampleId": "1315",
264+
"phase": "13",
265+
"title": "Rollback Replay Diagnostics",
266+
"toolId": "replay-visualizer",
267+
"href": "./phase-13/1315/index.html",
268+
"presetPath": "/samples/phase-13/1315/sample-1315-replay-visualizer.json"
269+
},
270+
{
271+
"sampleId": "1406",
272+
"phase": "14",
273+
"title": "Regression Playback Harness",
274+
"toolId": "replay-visualizer",
275+
"href": "./phase-14/1406/index.html",
276+
"presetPath": "/samples/phase-14/1406/sample-1406-replay-visualizer.json"
277+
},
278+
{
279+
"sampleId": "1407",
280+
"phase": "14",
281+
"title": "Performance Benchmark Runner",
282+
"toolId": "performance-profiler",
283+
"href": "./phase-14/1407/index.html",
284+
"presetPath": "/samples/phase-14/1407/sample-1407-performance-profiler.json"
285+
},
286+
{
287+
"sampleId": "1414",
288+
"phase": "14",
289+
"title": "Texture Sprite Preprocess Pipeline",
290+
"toolId": "sprite-editor",
291+
"href": "./phase-14/1414/index.html",
292+
"presetPath": "/samples/phase-14/1414/sample-1414-sprite-editor.json"
293+
},
294+
{
295+
"sampleId": "1417",
296+
"phase": "14",
297+
"title": "Build Asset Manifest System",
298+
"toolId": "asset-pipeline-tool",
299+
"href": "./phase-14/1417/index.html",
300+
"presetPath": "/samples/phase-14/1417/sample-1417-asset-pipeline-tool.json"
301+
},
302+
{
303+
"sampleId": "1505",
304+
"phase": "15",
305+
"title": "Asset Browser",
306+
"toolId": "asset-browser",
307+
"href": "./phase-15/1505/index.html",
308+
"presetPath": "/samples/phase-15/1505/sample-1505-asset-browser.json"
309+
},
310+
{
311+
"sampleId": "1606",
312+
"phase": "16",
313+
"title": "Sample 1606 - 3D Physics Playground",
314+
"toolId": "physics-sandbox",
315+
"href": "./phase-16/1606/index.html",
316+
"presetPath": "/samples/phase-16/1606/sample-1606-physics-sandbox.json"
317+
}
318+
]
319+
}

0 commit comments

Comments
 (0)