Skip to content

Commit ed47760

Browse files
author
DavidQ
committed
feat(samples2tools): add Replay Visualizer + Vector Map Editor preset roundtrip support
- map samples to tools with canonical presets: - replay-visualizer: `0708`, `1315`, `1406` - vector-map-editor: `0901` - add `sample-xxxx-toolID.json` preset files and metadata `toolHints` - add query preload (`sampleId` + `samplePresetPath`) to Replay Visualizer and Vector Map Editor - standardize preload status to `Loaded preset from sample <id>.` - update Samples2Tools roadmap status + batch 8/9 reports
1 parent b592255 commit ed47760

15 files changed

Lines changed: 560 additions & 3 deletions
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Samples2Tools Batch 8 Summary
2+
Generated: 2026-04-24T14:48:18.574Z
3+
Scope: phase-01 through phase-19 Phase 2 coverage check for Replay Visualizer
4+
5+
Replay Visualizer mapped samples: 3
6+
- Phase 07 Sample 0708 | Replay System | preset: /samples/phase-07/0708/sample-0708-replay-visualizer.json
7+
- Phase 13 Sample 1315 | Rollback Replay Diagnostics | preset: /samples/phase-13/1315/sample-1315-replay-visualizer.json
8+
- Phase 14 Sample 1406 | Regression Playback Harness | preset: /samples/phase-14/1406/sample-1406-replay-visualizer.json
9+
10+
Overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 8 Validation
2+
Generated: 2026-04-24T14:48:18.574Z
3+
4+
[x] Replay Visualizer has exactly 3 mapped samples (phase-01 through phase-19)
5+
[x] Mapped Replay Visualizer preset files exist on disk
6+
[x] Samples index roundtrip logic contains mapped sample ids and tool branch
7+
[x] Replay Visualizer supports samplePresetPath preload and sets standardized loaded preset status
8+
9+
Execution evidence:
10+
- Replay Visualizer has exactly 3 mapped samples (phase-01 through phase-19): metadata sampleIds=0708,1315,1406
11+
- Mapped Replay Visualizer preset files exist on disk: /samples/phase-07/0708/sample-0708-replay-visualizer.json; /samples/phase-13/1315/sample-1315-replay-visualizer.json; /samples/phase-14/1406/sample-1406-replay-visualizer.json
12+
- Samples index roundtrip logic contains mapped sample ids and tool branch: samples/index.render.js:shouldUsePresetRoundtrip
13+
- Replay Visualizer supports samplePresetPath preload and sets standardized loaded preset status: tools/Replay Visualizer/main.js:tryLoadPresetFromQuery
14+
- overall: pass
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Samples2Tools Batch 9 Summary
2+
Generated: 2026-04-24T14:52:28.974Z
3+
Scope: phase-01 through phase-19 Phase 2 coverage check for Vector Map Editor
4+
5+
Vector Map Editor mapped samples: 1
6+
- Phase 09 Sample 0901 | Vector Rendering System | preset: /samples/phase-09/0901/sample-0901-vector-map-editor.json
7+
8+
Overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Samples2Tools Batch 9 Validation
2+
Generated: 2026-04-24T14:52:28.974Z
3+
4+
[x] Vector Map Editor has exactly 1 mapped sample (phase-01 through phase-19)
5+
[x] Mapped Vector Map Editor preset file exists on disk
6+
[x] Samples index roundtrip logic contains mapped sample id and tool branch
7+
[x] Vector Map Editor supports samplePresetPath preload and sets standardized loaded preset status
8+
9+
Execution evidence:
10+
- Vector Map Editor has exactly 1 mapped sample (phase-01 through phase-19): metadata sampleId=0901
11+
- Mapped Vector Map Editor preset file exists on disk: /samples/phase-09/0901/sample-0901-vector-map-editor.json
12+
- Samples index roundtrip logic contains mapped sample id and tool branch: samples/index.render.js:shouldUsePresetRoundtrip
13+
- Vector Map Editor supports samplePresetPath preload and sets standardized loaded preset status: tools/Vector Map Editor/editor/VectorMapEditorApp.js:tryLoadPresetFromQuery
14+
- overall: pass
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"generatedAt": "2026-04-24T14:48:18.574Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-8-replay-visualizer",
5+
"links": [
6+
{
7+
"toolId": "replay-visualizer",
8+
"sampleId": "0708",
9+
"phase": "07",
10+
"title": "Replay System",
11+
"href": "./phase-07/0708/index.html",
12+
"presetPath": "/samples/phase-07/0708/sample-0708-replay-visualizer.json"
13+
},
14+
{
15+
"toolId": "replay-visualizer",
16+
"sampleId": "1315",
17+
"phase": "13",
18+
"title": "Rollback Replay Diagnostics",
19+
"href": "./phase-13/1315/index.html",
20+
"presetPath": "/samples/phase-13/1315/sample-1315-replay-visualizer.json"
21+
},
22+
{
23+
"toolId": "replay-visualizer",
24+
"sampleId": "1406",
25+
"phase": "14",
26+
"title": "Regression Playback Harness",
27+
"href": "./phase-14/1406/index.html",
28+
"presetPath": "/samples/phase-14/1406/sample-1406-replay-visualizer.json"
29+
}
30+
]
31+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"generatedAt": "2026-04-24T14:52:28.974Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-9-vector-map-editor",
5+
"links": [
6+
{
7+
"toolId": "vector-map-editor",
8+
"sampleId": "0901",
9+
"phase": "09",
10+
"title": "Vector Rendering System",
11+
"href": "./phase-09/0901/index.html",
12+
"presetPath": "/samples/phase-09/0901/sample-0901-vector-map-editor.json"
13+
}
14+
]
15+
}

docs/dev/roadmaps/MASTER_ROADMAP_SAMPLES2TOOLS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@
9292
- [x] Parallax Scene Studio (4 candidate samples)
9393
- [x] Performance Profiler (2 candidate samples)
9494
- [x] Physics Sandbox (2 candidate samples)
95-
- [ ] Replay Visualizer (3 candidate samples)
95+
- [x] Replay Visualizer (3 candidate samples)
9696
- [x] Vector Asset Studio (1 candidate sample)
97-
- [ ] Vector Map Editor (1 candidate sample)
97+
- [x] Vector Map Editor (1 candidate sample)
9898
- [ ] For each:
9999
- create/link `sample-xxxx-toolID.json` in selected sample folders
100100
- add/open tool link with shared launch contract
@@ -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: `13` (phase-01 through phase-19)
157+
- [x] Current tagged samples across active tools: `17` (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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ function shouldUsePresetRoundtrip(sample, toolId) {
6666
return (sampleId === "0303" && samplePhase === "03")
6767
|| (sampleId === "1606" && samplePhase === "16");
6868
}
69+
if (toolId === "replay-visualizer") {
70+
return (sampleId === "0708" && samplePhase === "07")
71+
|| (sampleId === "1315" && samplePhase === "13")
72+
|| (sampleId === "1406" && samplePhase === "14");
73+
}
74+
if (toolId === "vector-map-editor") {
75+
return sampleId === "0901" && samplePhase === "09";
76+
}
6977
return false;
7078
}
7179

samples/metadata/samples.index.metadata.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4952,6 +4952,9 @@
49524952
"engine/scene/index/Scene",
49534953
"engine/theme/index/Theme",
49544954
"engine/theme/index/ThemeTokens"
4955+
],
4956+
"toolHints": [
4957+
"replay-visualizer"
49554958
]
49564959
},
49574960
{
@@ -5509,6 +5512,9 @@
55095512
"engine/scene/index/Scene",
55105513
"engine/theme/index/Theme",
55115514
"engine/theme/index/ThemeTokens"
5515+
],
5516+
"toolHints": [
5517+
"vector-map-editor"
55125518
]
55135519
},
55145520
{
@@ -7010,6 +7016,9 @@
70107016
"engine/scene/index/Scene",
70117017
"engine/theme/index/Theme",
70127018
"engine/theme/index/ThemeTokens"
7019+
],
7020+
"toolHints": [
7021+
"replay-visualizer"
70137022
]
70147023
},
70157024
{
@@ -7348,6 +7357,9 @@
73487357
"href": "./phase-14/1406/index.html",
73497358
"classValues": [
73507359
"engine/scene/index/Scene"
7360+
],
7361+
"toolHints": [
7362+
"replay-visualizer"
73517363
]
73527364
},
73537365
{
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"sampleId": "0708",
3+
"phase": "07",
4+
"title": "Replay System",
5+
"description": "Shared sample preset for Sample 0708 and Replay Visualizer preload.",
6+
"toolHints": [
7+
"replay-visualizer"
8+
],
9+
"payload": {
10+
"events": [
11+
{
12+
"id": "boot-0708",
13+
"timeMs": 0,
14+
"type": "boot",
15+
"label": "Replay Runtime Boot",
16+
"payload": { "scene": "replay-system" }
17+
},
18+
{
19+
"id": "record-start",
20+
"timeMs": 120,
21+
"type": "record",
22+
"label": "Start Recording",
23+
"payload": { "actor": "runner", "x": 120 }
24+
},
25+
{
26+
"id": "record-stop",
27+
"timeMs": 620,
28+
"type": "record",
29+
"label": "Stop Recording",
30+
"payload": { "frames": 30, "x": 760 }
31+
},
32+
{
33+
"id": "playback-start",
34+
"timeMs": 700,
35+
"type": "playback",
36+
"label": "Start Playback",
37+
"payload": { "mode": "deterministic" }
38+
},
39+
{
40+
"id": "playback-end",
41+
"timeMs": 1120,
42+
"type": "playback",
43+
"label": "Playback Complete",
44+
"payload": { "result": "match" }
45+
}
46+
]
47+
},
48+
"runtime": {
49+
"sampleEntryPoint": "/samples/phase-07/0708/index.html"
50+
},
51+
"toolState": {
52+
"preferredToolId": "replay-visualizer"
53+
},
54+
"provenance": {
55+
"path": "/samples/phase-07/0708/sample-0708-replay-visualizer.json",
56+
"createdAt": "2026-04-24T00:00:00.000Z",
57+
"version": 1
58+
}
59+
}

0 commit comments

Comments
 (0)