|
| 1 | +# BUILD_PR_VECTOR_PLATFORM_SURFACE_POLISH |
| 2 | + |
| 3 | +## Purpose |
| 4 | +Polish the `tools/` product surface with one shared shell layer and a registry-driven active tools landing experience for the approved first-class tool set only. |
| 5 | + |
| 6 | +## Scope |
| 7 | +In scope: |
| 8 | +- shared platform shell for active tools |
| 9 | +- registry-driven active tool landing and navigation |
| 10 | +- consistent first-class labels for the active tools surface |
| 11 | +- active path cleanup and validation |
| 12 | + |
| 13 | +Out of scope: |
| 14 | +- gameplay or engine runtime changes |
| 15 | +- destructive folder deletes |
| 16 | +- framework migration |
| 17 | +- broad refactors outside tool-surface polish |
| 18 | +- reviving legacy Sprite Editor as a first-class tool |
| 19 | + |
| 20 | +## First-Class Active Tools |
| 21 | +- Vector Map Editor |
| 22 | +- Vector Asset Studio |
| 23 | +- Tile Map Editor |
| 24 | +- Parallax Editor |
| 25 | + |
| 26 | +## Preserved Sprite Paths |
| 27 | +- `tools/Sprite Editor/` remains on disk but is intentionally excluded from the first-class active tools surface for this PR |
| 28 | +- `tools/SpriteEditor_old_keep/` remains preserved on disk as legacy content |
| 29 | +- no preserved sprite path is rendered in the active landing page or shared shell navigation |
| 30 | + |
| 31 | +## Modules Created Or Changed |
| 32 | +- `tools/toolRegistry.js` |
| 33 | +- `tools/renderToolsIndex.js` |
| 34 | +- `tools/index.html` |
| 35 | +- `tools/shared/platformShell.css` |
| 36 | +- `tools/shared/platformShell.js` |
| 37 | +- `tools/Vector Asset Studio/index.html` |
| 38 | +- `tools/Tilemap Studio/index.html` |
| 39 | +- `tools/Parallax Scene Studio/index.html` |
| 40 | +- `tools/Vector Map Editor/index.html` |
| 41 | +- `scripts/validate-active-tools-surface.mjs` |
| 42 | +- `docs/pr/BUILD_PR_VECTOR_PLATFORM_SURFACE_POLISH.md` |
| 43 | +- `docs/dev/commit_comment.txt` |
| 44 | + |
| 45 | +## Public Surface Boundaries |
| 46 | +- `tools/toolRegistry.js` is the single source of truth for active-tool metadata |
| 47 | +- `tools/renderToolsIndex.js` renders the landing-page cards from the registry |
| 48 | +- `tools/shared/platformShell.js` renders shared header, nav, and status chrome from the registry |
| 49 | +- `tools/shared/platformShell.css` provides shared shell framing without replacing tool-specific workspace CSS |
| 50 | +- existing tool workspaces remain mounted inside each tool's current editor shell |
| 51 | + |
| 52 | +## Implementation Summary |
| 53 | +- narrowed the first-class tools surface to the four requested tools only |
| 54 | +- added a shared platform shell with a consistent header, nav, and status band |
| 55 | +- applied the shared shell to the landing page and all four active tool pages |
| 56 | +- normalized the visible first-class labels to `Tile Map Editor` and `Parallax Editor` through the shared registry surface |
| 57 | +- excluded preserved sprite tooling from the active landing page and shared nav |
| 58 | +- kept the underlying tool folders and editor workspaces intact |
| 59 | + |
| 60 | +## Validation Performed |
| 61 | +- `node --check tools/toolRegistry.js` |
| 62 | +- `node --check tools/renderToolsIndex.js` |
| 63 | +- `node --check tools/shared/platformShell.js` |
| 64 | +- `node --check scripts/validate-active-tools-surface.mjs` |
| 65 | +- `node --check tools/Vector Asset Studio/main.js` |
| 66 | +- `node --check tools/Tilemap Studio/main.js` |
| 67 | +- `node --check tools/Parallax Scene Studio/main.js` |
| 68 | +- `node --check tools/Vector Map Editor/main.js` |
| 69 | +- `node scripts/validate-active-tools-surface.mjs` |
| 70 | + |
| 71 | +## Validation Summary |
| 72 | +- the landing page active tools list is registry-driven |
| 73 | +- only the approved four tools appear in the first-class active surface |
| 74 | +- preserved sprite tooling does not appear in active navigation |
| 75 | +- shared shell chrome is available on the landing page and each active tool page |
| 76 | +- active tool folders and entrypoints resolve cleanly |
| 77 | +- stale deprecated sprite-rename references are rejected by the validation script |
| 78 | +- disallowed active naming suffixes remain blocked for first-class tools |
| 79 | + |
| 80 | +## Follow-Up Recommendations |
| 81 | +- keep future landing-page or active-nav changes routed through the registry instead of hardcoded page lists |
| 82 | +- if canonical folder names change later, update the registry and validator in the same PR |
| 83 | +- keep future surface polish additive through the shared shell layer |
0 commit comments