Skip to content

Commit c6cb8f5

Browse files
author
DavidQ
committed
Add no-imageDataUrl policy and queue Samples2Tools cleanup steps
- AGENTS: forbid `imageDataUrl` in persisted project/runtime/workspace JSON; require path-based image refs. - Roadmap: add next-execution `imageDataUrl` elimination plan (remove dependency, remove fallback, migrate legacy + remove legacy dependency).
1 parent feb4200 commit c6cb8f5

13 files changed

Lines changed: 209 additions & 225 deletions

samples/metadata/samples.index.metadata.json

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6398,6 +6398,81 @@
63986398
"vector-asset-studio"
63996399
]
64006400
},
6401+
{
6402+
"id": "1209",
6403+
"phase": "12",
6404+
"title": "Tilemap Basic Layout Preset",
6405+
"description": "Launches Tilemap Studio with the legacy basic layout preset preloaded.",
6406+
"href": "./phase-12/1209/index.html",
6407+
"tags": [
6408+
"tilemap",
6409+
"preset",
6410+
"layout",
6411+
"editor",
6412+
"basic",
6413+
"tool"
6414+
],
6415+
"engineClassesUsed": [
6416+
"engine/tilemap/index/Tilemap"
6417+
],
6418+
"classValues": [
6419+
"engine/tilemap/index/Tilemap",
6420+
"tools/tile-map-editor"
6421+
],
6422+
"toolHints": [
6423+
"tile-map-editor"
6424+
]
6425+
},
6426+
{
6427+
"id": "1210",
6428+
"phase": "12",
6429+
"title": "Tilemap Objective Layout Preset",
6430+
"description": "Launches Tilemap Studio with the legacy objective/data layout preset preloaded.",
6431+
"href": "./phase-12/1210/index.html",
6432+
"tags": [
6433+
"tilemap",
6434+
"preset",
6435+
"layout",
6436+
"editor",
6437+
"objective",
6438+
"tool"
6439+
],
6440+
"engineClassesUsed": [
6441+
"engine/tilemap/index/Tilemap"
6442+
],
6443+
"classValues": [
6444+
"engine/tilemap/index/Tilemap",
6445+
"tools/tile-map-editor"
6446+
],
6447+
"toolHints": [
6448+
"tile-map-editor"
6449+
]
6450+
},
6451+
{
6452+
"id": "1211",
6453+
"phase": "12",
6454+
"title": "Tilemap Mario Learning Layout Preset",
6455+
"description": "Launches Tilemap Studio with the legacy mario-style learning layout preset preloaded.",
6456+
"href": "./phase-12/1211/index.html",
6457+
"tags": [
6458+
"tilemap",
6459+
"preset",
6460+
"layout",
6461+
"editor",
6462+
"mario",
6463+
"tool"
6464+
],
6465+
"engineClassesUsed": [
6466+
"engine/tilemap/index/Tilemap"
6467+
],
6468+
"classValues": [
6469+
"engine/tilemap/index/Tilemap",
6470+
"tools/tile-map-editor"
6471+
],
6472+
"toolHints": [
6473+
"tile-map-editor"
6474+
]
6475+
},
64016476
{
64026477
"id": "1301",
64036478
"phase": "13",

samples/phase-12/1208/assets/data/tileset/demo1208-terrain-tileset.sprite-editor.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@
177177
"order": []
178178
},
179179
"referenceImage": {
180-
"src": "./demo1208-terrain-tileset.png",
180+
"src": "./demo1208-terrain-tileset-orig.png",
181181
"visible": false,
182182
"opacity": 0.45,
183183
"xCells": 0,

samples/phase-12/1208/data/toolFormattedTileMap.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export default {
5555
"tilesetAtlas": {
5656
"schema": "toolbox.tileset-atlas/1",
5757
"imageDataUrl": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAAAwCAYAAAD+WvNWAAAB60lEQVR4AeyWMU7DMBiFrUychYlDcAJ2DoCEQIIrMCKkIiFugdhYWGFm4gJcgq0oQ6KmNnbbyPn97K+SVcV2/L//vS9pu6fV/XpzfPzcTa6HNZX5Qa/K9+vb51p5dI4PDsxwYALQydmv+3o58o5TmfeEM5HdgQlA2atRoDoHRoBU3jL/6awuGZGGRoBCP119DyrzvVbG8g6MAC1fmoo1OHAwQDU0Tw/zHQCg+R42fYI8QA+Pz0553F6eO+UhD1DTj38BzXfKT2+vvQAPm5bAG6jp+Oc3Lw/Q6vTYKY/5EdqesDxAtv1KVr+5unDbo5RGAMg4iW0wQtchiaF9FnMAFEqHuZ0dAKCdrWJjyAEPoM0/pKEbrNdDmpizc8ADyE4KlRUdACDF1ArS7AF0/f7thhHSOaz138uuh6oxZ+2AB5C1IOprOQBAWnkVpxaAiotESxAAaeVVnFoAKi4SLUEApJVXcWpbAKg402sSBEA1pWnQCwAZmF5TSQCqKU2DXgDIwPSaSgJQTWka9AJABqbXVBKAImmylHYAgNIesSPiAABFzGEp7QAApT1iR8QBAIqYw1LaAQBKe8SOiAMAFDGHpbQDAJT2aP8dDd0BQA2FnaNVAMrhakNnAlBDYedoFYByuNrQmQDUUNg5Wv0DAAD//6PRWCUAAAAGSURBVAMAfqRVji4/TksAAAAASUVORK5CYII=",
58-
"imageName": "./assets/images/tileset/demo1208-terrain-tileset.png",
58+
"imageName": "./assets/images/tileset/demo1208-terrain-tileset-orig.png",
5959
"imageWidth": 144,
6060
"imageHeight": 48,
6161
"tileWidth": 48,

samples/phase-12/1209/index.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!--
2+
Toolbox Aid
3+
David Quesenberry
4+
04/23/2026
5+
index.html
6+
-->
7+
<!DOCTYPE html>
8+
<html lang="en">
9+
<head>
10+
<meta charset="UTF-8" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12+
<title>Sample 1209 - Tilemap Basic Layout Preset</title>
13+
<link rel="stylesheet" href="../../../src/engine/ui/baseLayout.css" />
14+
<link rel="stylesheet" href="../../../src/engine/theme/main.css" />
15+
</head>
16+
<body class="hub-page-samples">
17+
<div id="shared-theme-header"></div>
18+
<main>
19+
<h1>Sample 1209 - Tilemap Basic Layout Preset</h1>
20+
<p>Launches Tilemap Studio with the legacy basic layout preset preloaded.</p>
21+
<p>If redirect does not trigger, use the launch link below.</p>
22+
<p><a id="launchLink" href="/tools/Tilemap%20Studio/index.html?sampleId=1209&samplePresetPath=%2Fsamples%2Fphase-12%2F1209%2Ftile-map-editor-sample-1209-basic-layout.json">Open Tilemap Studio</a></p>
23+
24+
<section class="sample-tool-roundtrip">
25+
<h3>Tool Roundtrip Links</h3>
26+
<p>Use this to validate sample-to-tool preset loading.</p>
27+
<ul>
28+
<li><a href="/tools/Tilemap%20Studio/index.html?sampleId=1209&samplePresetPath=%2Fsamples%2Fphase-12%2F1209%2Ftile-map-editor-sample-1209-basic-layout.json">Open Tilemap Studio</a></li>
29+
</ul>
30+
</section>
31+
</main>
32+
33+
<script>
34+
window.location.replace("/tools/Tilemap%20Studio/index.html?sampleId=1209&samplePresetPath=%2Fsamples%2Fphase-12%2F1209%2Ftile-map-editor-sample-1209-basic-layout.json");
35+
</script>
36+
<script type="module" src="/samples/shared/sampleDetailPageEnhancement.js"></script>
37+
<script type="module" src="../../../src/engine/theme/mount-shared-header.js"></script>
38+
</body>
39+
</html>

tools/Tilemap Studio/samples/tile_editor_sample_basic.json renamed to samples/phase-12/1209/tile-map-editor-sample-1209-basic-layout.json

File renamed without changes.

samples/phase-12/1210/index.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!--
2+
Toolbox Aid
3+
David Quesenberry
4+
04/23/2026
5+
index.html
6+
-->
7+
<!DOCTYPE html>
8+
<html lang="en">
9+
<head>
10+
<meta charset="UTF-8" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12+
<title>Sample 1210 - Tilemap Objective Layout Preset</title>
13+
<link rel="stylesheet" href="../../../src/engine/ui/baseLayout.css" />
14+
<link rel="stylesheet" href="../../../src/engine/theme/main.css" />
15+
</head>
16+
<body class="hub-page-samples">
17+
<div id="shared-theme-header"></div>
18+
<main>
19+
<h1>Sample 1210 - Tilemap Objective Layout Preset</h1>
20+
<p>Launches Tilemap Studio with the legacy objective/data layout preset preloaded.</p>
21+
<p>If redirect does not trigger, use the launch link below.</p>
22+
<p><a id="launchLink" href="/tools/Tilemap%20Studio/index.html?sampleId=1210&samplePresetPath=%2Fsamples%2Fphase-12%2F1210%2Ftile-map-editor-sample-1210-objective-layout.json">Open Tilemap Studio</a></p>
23+
24+
<section class="sample-tool-roundtrip">
25+
<h3>Tool Roundtrip Links</h3>
26+
<p>Use this to validate sample-to-tool preset loading.</p>
27+
<ul>
28+
<li><a href="/tools/Tilemap%20Studio/index.html?sampleId=1210&samplePresetPath=%2Fsamples%2Fphase-12%2F1210%2Ftile-map-editor-sample-1210-objective-layout.json">Open Tilemap Studio</a></li>
29+
</ul>
30+
</section>
31+
</main>
32+
33+
<script>
34+
window.location.replace("/tools/Tilemap%20Studio/index.html?sampleId=1210&samplePresetPath=%2Fsamples%2Fphase-12%2F1210%2Ftile-map-editor-sample-1210-objective-layout.json");
35+
</script>
36+
<script type="module" src="/samples/shared/sampleDetailPageEnhancement.js"></script>
37+
<script type="module" src="../../../src/engine/theme/mount-shared-header.js"></script>
38+
</body>
39+
</html>

tools/Tilemap Studio/samples/tile_editor_sample_objective.json renamed to samples/phase-12/1210/tile-map-editor-sample-1210-objective-layout.json

File renamed without changes.

samples/phase-12/1211/index.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!--
2+
Toolbox Aid
3+
David Quesenberry
4+
04/23/2026
5+
index.html
6+
-->
7+
<!DOCTYPE html>
8+
<html lang="en">
9+
<head>
10+
<meta charset="UTF-8" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12+
<title>Sample 1211 - Tilemap Mario Learning Layout Preset</title>
13+
<link rel="stylesheet" href="../../../src/engine/ui/baseLayout.css" />
14+
<link rel="stylesheet" href="../../../src/engine/theme/main.css" />
15+
</head>
16+
<body class="hub-page-samples">
17+
<div id="shared-theme-header"></div>
18+
<main>
19+
<h1>Sample 1211 - Tilemap Mario Learning Layout Preset</h1>
20+
<p>Launches Tilemap Studio with the legacy mario-style learning layout preset preloaded.</p>
21+
<p>If redirect does not trigger, use the launch link below.</p>
22+
<p><a id="launchLink" href="/tools/Tilemap%20Studio/index.html?sampleId=1211&samplePresetPath=%2Fsamples%2Fphase-12%2F1211%2Ftile-map-editor-sample-1211-mario-learning-layout.json">Open Tilemap Studio</a></p>
23+
24+
<section class="sample-tool-roundtrip">
25+
<h3>Tool Roundtrip Links</h3>
26+
<p>Use this to validate sample-to-tool preset loading.</p>
27+
<ul>
28+
<li><a href="/tools/Tilemap%20Studio/index.html?sampleId=1211&samplePresetPath=%2Fsamples%2Fphase-12%2F1211%2Ftile-map-editor-sample-1211-mario-learning-layout.json">Open Tilemap Studio</a></li>
29+
</ul>
30+
</section>
31+
</main>
32+
33+
<script>
34+
window.location.replace("/tools/Tilemap%20Studio/index.html?sampleId=1211&samplePresetPath=%2Fsamples%2Fphase-12%2F1211%2Ftile-map-editor-sample-1211-mario-learning-layout.json");
35+
</script>
36+
<script type="module" src="/samples/shared/sampleDetailPageEnhancement.js"></script>
37+
<script type="module" src="../../../src/engine/theme/mount-shared-header.js"></script>
38+
</body>
39+
</html>

tools/Tilemap Studio/samples/mario_style_learning_level_tilemap.json renamed to samples/phase-12/1211/tile-map-editor-sample-1211-mario-learning-layout.json

File renamed without changes.

tools/Tilemap Studio/index.html

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,6 @@
2626
<div class="app-shell" id="appShell">
2727
<header class="toolbar">
2828
<div class="toolbar-group tools-platform-control-cluster tools-platform-control-cluster--primary">
29-
<label>
30-
Samples
31-
<select id="sampleSelect">
32-
<option value="">No samples loaded</option>
33-
</select>
34-
</label>
35-
<button id="loadSampleButton" type="button" disabled>Load Sample</button>
3629
<button id="loadAssetRegistryButton" type="button">Load Assets Registry</button>
3730
<input id="loadAssetRegistryInput" class="hidden-file-input" type="file" accept=".json,application/json" />
3831
<button id="saveAssetRegistryButton" type="button">Save Assets Registry</button>

0 commit comments

Comments
 (0)