Skip to content

Commit 410f4e1

Browse files
author
DavidQ
committed
feat(samples2tools): add Performance Profiler sample-to-tool roundtrip presets
- add `sample-0512-performance-profiler.json` and `sample-1407-performance-profiler.json` - wire samples metadata/toolHints and samples index roundtrip routing for profiler - add `samplePresetPath` preload handling in Performance Profiler with loaded-preset status - update Samples2Tools roadmap + batch 5/6 validation reports
1 parent 32d3e33 commit 410f4e1

14 files changed

Lines changed: 316 additions & 6 deletions
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 4 Summary
2+
Generated: 2026-04-24T00:48:01.323Z
3+
Scope: phase-01 through phase-19 Phase 2 coverage check for Parallax Scene Studio + Vector Asset Studio
4+
5+
Parallax Scene Studio mapped samples: 4
6+
- Phase 03 Sample 0306 | Nes Style Zones Parallax | preset: /samples/phase-03/0306/sample-0306-parallax-editor.json
7+
- Phase 12 Sample 1204 | Tilemap Parallax Hero | preset: /samples/phase-12/1204/sample-1204-parallax-editor.json
8+
- Phase 12 Sample 1205 | Multi-System Demo | preset: /samples/phase-12/1205/sample-1205-parallax-editor.json
9+
- Phase 12 Sample 1208 | Tool Formatted Tiles Parallax | preset: /samples/phase-12/1208/sample-1208-parallax-editor.json
10+
11+
Vector Asset Studio mapped samples: 1
12+
- Phase 12 Sample 1208 | Tool Formatted Tiles Parallax | preset: /samples/phase-12/1208/sample-1208-vector-asset-studio.json
13+
14+
Overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 4 Validation
2+
Generated: 2026-04-24T00:48:01.323Z
3+
4+
[x] Parallax Scene Studio has exactly 4 mapped samples (phase-01 through phase-19)
5+
[x] Vector Asset Studio has exactly 1 mapped sample (phase-01 through phase-19)
6+
[x] Mapped Parallax/Vector preset files exist on disk
7+
[x] Samples index roundtrip logic contains mapped sample ids and tool branches
8+
9+
Execution evidence:
10+
- Parallax Scene Studio has exactly 4 mapped samples (phase-01 through phase-19): parallax-editor links=4
11+
- Vector Asset Studio has exactly 1 mapped sample (phase-01 through phase-19): vector-asset-studio links=1
12+
- Mapped Parallax/Vector preset files exist on disk: missing parallax=0, missing vector=0
13+
- Samples index roundtrip logic contains mapped sample ids and tool branches: samples/index.render.js:shouldUsePresetRoundtrip
14+
- overall: pass
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Samples2Tools Batch 5 Summary
2+
Generated: 2026-04-24T00:58:14.358Z
3+
Scope: phase-01 through phase-19 validation for metadata-driven Samples(x) links + tool preload status messaging
4+
5+
Mapped tools: 3
6+
Mapped links: 9
7+
parallax-editor: 4 sample(s)
8+
tile-map-editor: 4 sample(s)
9+
vector-asset-studio: 1 sample(s)
10+
11+
Overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 5 Validation
2+
Generated: 2026-04-24T00:58:14.358Z
3+
4+
[x] Tools index derives Samples (x) from metadata toolHints and links to samples filter
5+
[x] Mapped preset files exist for all metadata-mapped links
6+
[x] Mapped tools emit "Loaded preset from" status on query-based preload
7+
[x] Roundtrip sample pages pass sampleId + samplePresetPath to tools
8+
9+
Execution evidence:
10+
- Tools index derives Samples (x) from metadata toolHints and links to samples filter: tools/renderToolsIndex.js
11+
- Mapped preset files exist for all metadata-mapped links: 9 preset files present
12+
- Mapped tools emit "Loaded preset from" status on query-based preload: tools/Parallax Scene Studio/main.js; tools/Tilemap Studio/main.js; tools/Vector Asset Studio/main.js
13+
- Roundtrip sample pages pass sampleId + samplePresetPath to tools: samples/phase-12/1208|1209|1210|1211/index.html
14+
- overall: pass
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Samples2Tools Batch 6 Summary
2+
Generated: 2026-04-24T00:58:14.358Z
3+
Scope: phase-01 through phase-19 Phase 2 coverage check for Performance Profiler
4+
5+
Performance Profiler mapped samples: 2
6+
- Phase 05 Sample 0512 | Performance Metrics | preset: /samples/phase-05/0512/sample-0512-performance-profiler.json
7+
- Phase 14 Sample 1407 | Performance Benchmark Runner | preset: /samples/phase-14/1407/sample-1407-performance-profiler.json
8+
9+
Overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 6 Validation
2+
Generated: 2026-04-24T00:58:14.358Z
3+
4+
[x] Performance Profiler has exactly 2 mapped samples (phase-01 through phase-19)
5+
[x] Mapped Performance Profiler preset files exist on disk
6+
[x] Samples index roundtrip logic contains mapped sample ids and tool branch
7+
[x] Performance Profiler supports samplePresetPath preload and sets loaded preset status
8+
9+
Execution evidence:
10+
- Performance Profiler has exactly 2 mapped samples (phase-01 through phase-19): metadata sampleIds=0512,1407
11+
- Mapped Performance Profiler preset files exist on disk: /samples/phase-05/0512/sample-0512-performance-profiler.json; /samples/phase-14/1407/sample-1407-performance-profiler.json
12+
- Samples index roundtrip logic contains mapped sample ids and tool branch: samples/index.render.js:shouldUsePresetRoundtrip
13+
- Performance Profiler supports samplePresetPath preload and sets loaded preset status: tools/Performance Profiler/main.js:tryLoadPresetFromQuery
14+
- overall: pass
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{
2+
"generatedAt": "2026-04-24T00:51:08.490Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-5-validation-support",
5+
"links": [
6+
{
7+
"toolId": "parallax-editor",
8+
"sampleId": "0306",
9+
"phase": "03",
10+
"title": "Nes Style Zones Parallax",
11+
"href": "./phase-03/0306/index.html",
12+
"presetPath": "/samples/phase-03/0306/sample-0306-parallax-editor.json"
13+
},
14+
{
15+
"toolId": "parallax-editor",
16+
"sampleId": "1204",
17+
"phase": "12",
18+
"title": "Tilemap Parallax Hero",
19+
"href": "./phase-12/1204/index.html",
20+
"presetPath": "/samples/phase-12/1204/sample-1204-parallax-editor.json"
21+
},
22+
{
23+
"toolId": "parallax-editor",
24+
"sampleId": "1205",
25+
"phase": "12",
26+
"title": "Multi-System Demo",
27+
"href": "./phase-12/1205/index.html",
28+
"presetPath": "/samples/phase-12/1205/sample-1205-parallax-editor.json"
29+
},
30+
{
31+
"toolId": "parallax-editor",
32+
"sampleId": "1208",
33+
"phase": "12",
34+
"title": "Tool Formatted Tiles Parallax",
35+
"href": "./phase-12/1208/index.html",
36+
"presetPath": "/samples/phase-12/1208/sample-1208-parallax-editor.json"
37+
},
38+
{
39+
"toolId": "tile-map-editor",
40+
"sampleId": "1208",
41+
"phase": "12",
42+
"title": "Tool Formatted Tiles Parallax",
43+
"href": "./phase-12/1208/index.html",
44+
"presetPath": "/samples/phase-12/1208/sample-1208-tile-map-editor.json"
45+
},
46+
{
47+
"toolId": "tile-map-editor",
48+
"sampleId": "1209",
49+
"phase": "12",
50+
"title": "Tilemap Basic Layout Preset",
51+
"href": "./phase-12/1209/index.html",
52+
"presetPath": "/samples/phase-12/1209/sample-1209-tile-map-editor.json"
53+
},
54+
{
55+
"toolId": "tile-map-editor",
56+
"sampleId": "1210",
57+
"phase": "12",
58+
"title": "Tilemap Objective Layout Preset",
59+
"href": "./phase-12/1210/index.html",
60+
"presetPath": "/samples/phase-12/1210/sample-1210-tile-map-editor.json"
61+
},
62+
{
63+
"toolId": "tile-map-editor",
64+
"sampleId": "1211",
65+
"phase": "12",
66+
"title": "Tilemap Mario Learning Layout Preset",
67+
"href": "./phase-12/1211/index.html",
68+
"presetPath": "/samples/phase-12/1211/sample-1211-tile-map-editor.json"
69+
},
70+
{
71+
"toolId": "vector-asset-studio",
72+
"sampleId": "1208",
73+
"phase": "12",
74+
"title": "Tool Formatted Tiles Parallax",
75+
"href": "./phase-12/1208/index.html",
76+
"presetPath": "/samples/phase-12/1208/sample-1208-vector-asset-studio.json"
77+
}
78+
]
79+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"generatedAt": "2026-04-24T00:58:14.358Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-6-performance-profiler",
5+
"links": [
6+
{
7+
"toolId": "performance-profiler",
8+
"sampleId": "0512",
9+
"phase": "05",
10+
"title": "Performance Metrics",
11+
"href": "./phase-05/0512/index.html",
12+
"presetPath": "/samples/phase-05/0512/sample-0512-performance-profiler.json"
13+
},
14+
{
15+
"toolId": "performance-profiler",
16+
"sampleId": "1407",
17+
"phase": "14",
18+
"title": "Performance Benchmark Runner",
19+
"href": "./phase-14/1407/index.html",
20+
"presetPath": "/samples/phase-14/1407/sample-1407-performance-profiler.json"
21+
}
22+
]
23+
}

docs/dev/roadmaps/MASTER_ROADMAP_SAMPLES2TOOLS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
- [x] Validate that older payloads in active lanes are migrated and no active launcher depends on `imageDataUrl`.
3636

3737
## Canonical Data Contract
38-
- [.] File naming standard: `samples/phase-xx/xxxx/sample-xxxx-toolID.json`
38+
- [x] File naming standard: `samples/phase-xx/xxxx/sample-xxxx-toolID.json`
3939
- [ ] Required fields:
4040
- `sampleId` (string)
4141
- `phase` (string)
@@ -52,7 +52,7 @@
5252
- [x] Standard query parameters for tool launch:
5353
- `sampleId=<id>`
5454
- `samplePresetPath=/samples/phase-xx/xxxx/sample-xxxx-toolID.json`
55-
- [ ] Tool boot behavior:
55+
- [.] Tool boot behavior:
5656
- detect contract params
5757
- fetch JSON from `samplePresetPath`
5858
- validate minimal schema
@@ -89,11 +89,11 @@
8989
- no Phase 20 coupling
9090

9191
### Phase 2 - Highest Value Tools (from tools_used.txt)
92-
- [ ] Parallax Scene Studio (4 candidate samples)
93-
- [ ] Performance Profiler (2 candidate samples)
92+
- [x] Parallax Scene Studio (4 candidate samples)
93+
- [x] Performance Profiler (2 candidate samples)
9494
- [ ] Physics Sandbox (2 candidate samples)
9595
- [ ] Replay Visualizer (3 candidate samples)
96-
- [ ] Vector Asset Studio (1 candidate sample)
96+
- [x] Vector Asset Studio (1 candidate sample)
9797
- [ ] Vector Map Editor (1 candidate sample)
9898
- [ ] For each:
9999
- create/link `sample-xxxx-toolID.json` in selected sample folders
@@ -154,6 +154,6 @@
154154
- [x] `docs/dev/reports/samples2tools_link_map_<n>.json`
155155

156156
## Current Snapshot (from tools_used.txt)
157-
- [x] Current tagged samples across active tools: `9` (phase-01 through phase-19)
157+
- [x] Current tagged samples across active tools: `11` (phase-01 through phase-19)
158158
- [x] Candidate coverage inventory exists for all active tools
159159
- [.] Convert candidates into curated, validated sample-to-tool links

samples/index.render.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ function shouldUsePresetRoundtrip(sample, toolId) {
5858
|| (sampleId === "1210" && samplePhase === "12")
5959
|| (sampleId === "1211" && samplePhase === "12");
6060
}
61+
if (toolId === "performance-profiler") {
62+
return (sampleId === "0512" && samplePhase === "05")
63+
|| (sampleId === "1407" && samplePhase === "14");
64+
}
6165
return false;
6266
}
6367

0 commit comments

Comments
 (0)