Skip to content

Commit cd04cbe

Browse files
author
DavidQ
committed
Add persistent Sprite Editor source indicator for sample/workspace/tool context
1 parent 127a0c3 commit cd04cbe

28 files changed

Lines changed: 6088 additions & 169 deletions
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Samples2Tools Batch 11 Summary
2+
Generated: 2026-04-24T15:33:38.158Z
3+
Scope: phase-01 through phase-19 Phase 3 Sprite Editor expansion
4+
5+
Sprite Editor mapped samples: 8
6+
- Phase 02 Sample 0213 | Sprite Render Layer | preset: /samples/phase-02/0213/sample-0213-sprite-editor.json
7+
- Phase 02 Sample 0214 | Animation Sprite Binding | preset: /samples/phase-02/0214/sample-0214-sprite-editor.json
8+
- Phase 02 Sample 0219 | Sprite Atlas Image Rendering | preset: /samples/phase-02/0219/sample-0219-sprite-editor.json
9+
- Phase 02 Sample 0224 | Tile + Camera + Sprite Slice | preset: /samples/phase-02/0224/sample-0224-sprite-editor.json
10+
- Phase 03 Sample 0301 | Real Sprite Rendering | preset: /samples/phase-03/0301/sample-0301-sprite-editor.json
11+
- Phase 03 Sample 0302 | Animation System | preset: /samples/phase-03/0302/sample-0302-sprite-editor.json
12+
- Phase 09 Sample 0905 | Pixel Perfect Collision | preset: /samples/phase-09/0905/sample-0905-sprite-editor.json
13+
- Phase 14 Sample 1414 | Texture Sprite Preprocess Pipeline | preset: /samples/phase-14/1414/sample-1414-sprite-editor.json
14+
15+
Overall: pass
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Samples2Tools Batch 11 Validation
2+
Generated: 2026-04-24T15:33:38.158Z
3+
4+
[x] Sprite Editor has 8 mapped samples (phase-01 through phase-19)
5+
[x] All mapped Sprite Editor preset files exist on disk
6+
[x] Samples index roundtrip logic contains mapped sample ids and sprite-editor branch
7+
[x] Sprite linked samples load visual sprite data from the same sample-xxxx-sprite-editor.json source used by Sprite Editor preload
8+
[x] Metadata toolHints include sprite-editor for expanded mapped sample ids
9+
10+
Execution evidence:
11+
- Added/validated sample ids: 0224, 0301, 0302, 0905, 1414
12+
- Existing sample ids retained: 0213, 0214, 0219
13+
- Roundtrip mapping branch: samples/index.render.js:shouldUsePresetRoundtrip
14+
- Shared sample runtime helper: samples/shared/spritePresetRuntime.js
15+
- overall: pass
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
BUILD_PR_LEVEL_20_1_PHASE20_TOOL_PRESET_INTEGRATION - Samples2Tools Batch 12 Summary
2+
3+
Scope: phase-01 through phase-19 Phase 3 Sprite Editor candidate completion
4+
5+
Sprite Editor mapped samples: 9
6+
- Phase 02 Sample 0207 | Animation System | preset: /samples/phase-02/0207/sample-0207-sprite-editor.json
7+
- Phase 02 Sample 0213 | Sprite Render Layer | preset: /samples/phase-02/0213/sample-0213-sprite-editor.json
8+
- Phase 02 Sample 0214 | Animation Sprite Binding | preset: /samples/phase-02/0214/sample-0214-sprite-editor.json
9+
- Phase 02 Sample 0219 | Sprite Atlas Image Rendering | preset: /samples/phase-02/0219/sample-0219-sprite-editor.json
10+
- Phase 02 Sample 0224 | Tile Camera Sprite Slice | preset: /samples/phase-02/0224/sample-0224-sprite-editor.json
11+
- Phase 03 Sample 0301 | Real Sprite Rendering | preset: /samples/phase-03/0301/sample-0301-sprite-editor.json
12+
- Phase 03 Sample 0302 | Animation System | preset: /samples/phase-03/0302/sample-0302-sprite-editor.json
13+
- Phase 09 Sample 0905 | Pixel Perfect Collision | preset: /samples/phase-09/0905/sample-0905-sprite-editor.json
14+
- Phase 14 Sample 1414 | Texture Sprite Preprocess Pipeline | preset: /samples/phase-14/1414/sample-1414-sprite-editor.json
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
BUILD_PR_LEVEL_20_1_PHASE20_TOOL_PRESET_INTEGRATION - Samples2Tools Batch 12 Validation
2+
3+
[x] Sprite Editor has 9 mapped samples (phase-01 through phase-19)
4+
[x] All 9 mapped Sprite Editor preset files exist on disk
5+
[x] Samples index roundtrip logic contains mapped sample ids and sprite-editor branch (includes 0207)
6+
[x] Sample 0207 renders from sample-0207-sprite-editor.json and Sprite Editor preloads from the same file
7+
[x] Metadata toolHints include sprite-editor for all 9 mapped sample ids
8+
9+
Validation details
10+
- Added/validated sample id: 0207
11+
- Existing mapped sample ids retained: 0213, 0214, 0219, 0224, 0301, 0302, 0905, 1414
12+
- Shared preset runtime: samples/shared/spritePresetRuntime.js
13+
- Sprite preload handler: tools/Sprite Editor/modules/spriteEditorApp.js:tryLoadPresetFromQuery
14+
- Roundtrip launcher path: samples/index.render.js
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
{
2+
"generatedAt": "2026-04-24T15:33:38.158Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-11-sprite-editor-expansion",
5+
"links": [
6+
{
7+
"sampleId": "0213",
8+
"phase": "02",
9+
"title": "Sprite Render Layer",
10+
"toolId": "sprite-editor",
11+
"href": "./phase-02/0213/index.html",
12+
"presetPath": "/samples/phase-02/0213/sample-0213-sprite-editor.json"
13+
},
14+
{
15+
"sampleId": "0214",
16+
"phase": "02",
17+
"title": "Animation Sprite Binding",
18+
"toolId": "sprite-editor",
19+
"href": "./phase-02/0214/index.html",
20+
"presetPath": "/samples/phase-02/0214/sample-0214-sprite-editor.json"
21+
},
22+
{
23+
"sampleId": "0219",
24+
"phase": "02",
25+
"title": "Sprite Atlas Image Rendering",
26+
"toolId": "sprite-editor",
27+
"href": "./phase-02/0219/index.html",
28+
"presetPath": "/samples/phase-02/0219/sample-0219-sprite-editor.json"
29+
},
30+
{
31+
"sampleId": "0224",
32+
"phase": "02",
33+
"title": "Tile + Camera + Sprite Slice",
34+
"toolId": "sprite-editor",
35+
"href": "./phase-02/0224/index.html",
36+
"presetPath": "/samples/phase-02/0224/sample-0224-sprite-editor.json"
37+
},
38+
{
39+
"sampleId": "0301",
40+
"phase": "03",
41+
"title": "Real Sprite Rendering",
42+
"toolId": "sprite-editor",
43+
"href": "./phase-03/0301/index.html",
44+
"presetPath": "/samples/phase-03/0301/sample-0301-sprite-editor.json"
45+
},
46+
{
47+
"sampleId": "0302",
48+
"phase": "03",
49+
"title": "Animation System",
50+
"toolId": "sprite-editor",
51+
"href": "./phase-03/0302/index.html",
52+
"presetPath": "/samples/phase-03/0302/sample-0302-sprite-editor.json"
53+
},
54+
{
55+
"sampleId": "0905",
56+
"phase": "09",
57+
"title": "Pixel Perfect Collision",
58+
"toolId": "sprite-editor",
59+
"href": "./phase-09/0905/index.html",
60+
"presetPath": "/samples/phase-09/0905/sample-0905-sprite-editor.json"
61+
},
62+
{
63+
"sampleId": "1414",
64+
"phase": "14",
65+
"title": "Texture Sprite Preprocess Pipeline",
66+
"toolId": "sprite-editor",
67+
"href": "./phase-14/1414/index.html",
68+
"presetPath": "/samples/phase-14/1414/sample-1414-sprite-editor.json"
69+
}
70+
]
71+
}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
{
2+
"generatedAt": "2026-04-24T15:44:15.444Z",
3+
"scope": "phase-01-phase-19",
4+
"purpose": "batch-12-sprite-editor-complete-candidate-lane",
5+
"links": [
6+
{
7+
"sampleId": "0207",
8+
"phase": "02",
9+
"title": "Animation System",
10+
"toolId": "sprite-editor",
11+
"href": "./phase-02/0207/index.html",
12+
"presetPath": "/samples/phase-02/0207/sample-0207-sprite-editor.json"
13+
},
14+
{
15+
"sampleId": "0213",
16+
"phase": "02",
17+
"title": "Sprite Render Layer",
18+
"toolId": "sprite-editor",
19+
"href": "./phase-02/0213/index.html",
20+
"presetPath": "/samples/phase-02/0213/sample-0213-sprite-editor.json"
21+
},
22+
{
23+
"sampleId": "0214",
24+
"phase": "02",
25+
"title": "Animation Sprite Binding",
26+
"toolId": "sprite-editor",
27+
"href": "./phase-02/0214/index.html",
28+
"presetPath": "/samples/phase-02/0214/sample-0214-sprite-editor.json"
29+
},
30+
{
31+
"sampleId": "0219",
32+
"phase": "02",
33+
"title": "Sprite Atlas Image Rendering",
34+
"toolId": "sprite-editor",
35+
"href": "./phase-02/0219/index.html",
36+
"presetPath": "/samples/phase-02/0219/sample-0219-sprite-editor.json"
37+
},
38+
{
39+
"sampleId": "0224",
40+
"phase": "02",
41+
"title": "Tile Camera Sprite Slice",
42+
"toolId": "sprite-editor",
43+
"href": "./phase-02/0224/index.html",
44+
"presetPath": "/samples/phase-02/0224/sample-0224-sprite-editor.json"
45+
},
46+
{
47+
"sampleId": "0301",
48+
"phase": "03",
49+
"title": "Real Sprite Rendering",
50+
"toolId": "sprite-editor",
51+
"href": "./phase-03/0301/index.html",
52+
"presetPath": "/samples/phase-03/0301/sample-0301-sprite-editor.json"
53+
},
54+
{
55+
"sampleId": "0302",
56+
"phase": "03",
57+
"title": "Animation System",
58+
"toolId": "sprite-editor",
59+
"href": "./phase-03/0302/index.html",
60+
"presetPath": "/samples/phase-03/0302/sample-0302-sprite-editor.json"
61+
},
62+
{
63+
"sampleId": "0905",
64+
"phase": "09",
65+
"title": "Pixel Perfect Collision",
66+
"toolId": "sprite-editor",
67+
"href": "./phase-09/0905/index.html",
68+
"presetPath": "/samples/phase-09/0905/sample-0905-sprite-editor.json"
69+
},
70+
{
71+
"sampleId": "1414",
72+
"phase": "14",
73+
"title": "Texture Sprite Preprocess Pipeline",
74+
"toolId": "sprite-editor",
75+
"href": "./phase-14/1414/index.html",
76+
"presetPath": "/samples/phase-14/1414/sample-1414-sprite-editor.json"
77+
}
78+
]
79+
}

docs/dev/roadmaps/MASTER_ROADMAP_SAMPLES2TOOLS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
- verify tool state visibly matches sample payload intent
102102

103103
### Phase 3 - Core Editor/Workflow Tools
104-
- [.] Sprite Editor (9 candidates)
104+
- [x] Sprite Editor (9 candidates)
105105
- [ ] Tilemap Studio (15 candidates)
106106
- [ ] Tile Model Converter (18 candidates)
107107
- [ ] Asset Browser / Import Hub (8 candidates)
@@ -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: `20` (phase-01 through phase-19)
157+
- [x] Current tagged samples across active tools: `26` (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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,15 @@ function shouldUsePresetRoundtrip(sample, toolId) {
7575
return sampleId === "0901" && samplePhase === "09";
7676
}
7777
if (toolId === "sprite-editor") {
78-
return (sampleId === "0213" && samplePhase === "02")
78+
return (sampleId === "0207" && samplePhase === "02")
79+
|| (sampleId === "0213" && samplePhase === "02")
7980
|| (sampleId === "0214" && samplePhase === "02")
80-
|| (sampleId === "0219" && samplePhase === "02");
81+
|| (sampleId === "0219" && samplePhase === "02")
82+
|| (sampleId === "0224" && samplePhase === "02")
83+
|| (sampleId === "0301" && samplePhase === "03")
84+
|| (sampleId === "0302" && samplePhase === "03")
85+
|| (sampleId === "0905" && samplePhase === "09")
86+
|| (sampleId === "1414" && samplePhase === "14");
8187
}
8288
return false;
8389
}

samples/metadata/samples.index.metadata.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,6 +1253,9 @@
12531253
"engine/theme/index/Theme",
12541254
"engine/theme/index/ThemeTokens",
12551255
"engine/utils/index/clamp"
1256+
],
1257+
"toolHints": [
1258+
"sprite-editor"
12561259
]
12571260
},
12581261
{
@@ -1982,6 +1985,9 @@
19821985
"engine/tilemap/index/renderTilemap",
19831986
"engine/tilemap/index/resolveRectVsTilemap",
19841987
"engine/tilemap/index/Tilemap"
1988+
],
1989+
"toolHints": [
1990+
"sprite-editor"
19851991
]
19861992
},
19871993
{
@@ -2076,6 +2082,9 @@
20762082
"engine/theme/index/ThemeTokens",
20772083
"engine/tilemap/index/renderTilemap",
20782084
"engine/tilemap/index/Tilemap"
2085+
],
2086+
"toolHints": [
2087+
"sprite-editor"
20792088
]
20802089
},
20812090
{
@@ -2133,6 +2142,9 @@
21332142
"engine/theme/index/ThemeTokens",
21342143
"engine/tilemap/index/renderTilemap",
21352144
"engine/tilemap/index/Tilemap"
2145+
],
2146+
"toolHints": [
2147+
"sprite-editor"
21362148
]
21372149
},
21382150
{
@@ -5680,6 +5692,9 @@
56805692
"engine/scene/index/Scene",
56815693
"engine/theme/index/Theme",
56825694
"engine/theme/index/ThemeTokens"
5695+
],
5696+
"toolHints": [
5697+
"sprite-editor"
56835698
]
56845699
},
56855700
{
@@ -7556,6 +7571,9 @@
75567571
"href": "./phase-14/1414/index.html",
75577572
"classValues": [
75587573
"engine/scene/index/Scene"
7574+
],
7575+
"toolHints": [
7576+
"sprite-editor"
75597577
]
75607578
},
75617579
{

0 commit comments

Comments
 (0)