|
| 1 | +# BUILD_PR_ASSET_BROWSER_IMPORT_HUB_AND_PALETTE_BROWSER_MANAGER |
| 2 | + |
| 3 | +## Objective |
| 4 | +Implement two new first-class tools under `tools/`: |
| 5 | + |
| 6 | +1. `Asset Browser / Import Hub` |
| 7 | +2. `Palette Browser / Manager` |
| 8 | + |
| 9 | +The build stays surgical: both tools use the shared engine theme and platform shell, are surfaced through the registry-driven tools landing page, keep `Sprite Editor` first-class, and keep `SpriteEditor_old_keep` preserved but hidden. |
| 10 | + |
| 11 | +## Files Added |
| 12 | +- `tools/Asset Browser/index.html` |
| 13 | +- `tools/Asset Browser/main.js` |
| 14 | +- `tools/Asset Browser/assetBrowser.css` |
| 15 | +- `tools/Asset Browser/README.md` |
| 16 | +- `tools/Palette Browser/index.html` |
| 17 | +- `tools/Palette Browser/main.js` |
| 18 | +- `tools/Palette Browser/paletteBrowser.css` |
| 19 | +- `tools/Palette Browser/README.md` |
| 20 | + |
| 21 | +## Files Updated |
| 22 | +- `tools/toolRegistry.js` |
| 23 | +- `tools/index.html` |
| 24 | +- `scripts/validate-tool-registry.mjs` |
| 25 | +- `scripts/validate-active-tools-surface.mjs` |
| 26 | +- `docs/dev/COMMIT_COMMENT.txt` |
| 27 | +- `docs/dev/reports/change_summary.txt` |
| 28 | +- `docs/dev/reports/validation_checklist.txt` |
| 29 | + |
| 30 | +## Implementation Summary |
| 31 | + |
| 32 | +### Asset Browser / Import Hub |
| 33 | +- Added a launchable first-class tool at `tools/Asset Browser/`. |
| 34 | +- Uses shared shell and engine theme. |
| 35 | +- Browses approved asset locations only. |
| 36 | +- Previews real repo-backed vector, sprite, tilemap, parallax, palette, and workflow JSON assets. |
| 37 | +- Provides a non-destructive import-plan flow with: |
| 38 | + - category selection |
| 39 | + - approved destination selection |
| 40 | + - lowercase naming validation |
| 41 | + - duplicate conflict warning |
| 42 | + - downloadable import-plan JSON |
| 43 | + |
| 44 | +### Palette Browser / Manager |
| 45 | +- Added a launchable first-class tool at `tools/Palette Browser/`. |
| 46 | +- Uses shared shell and engine theme. |
| 47 | +- Loads built-in palettes from `engine/paletteList.js`. |
| 48 | +- Supports local custom palette workflows through browser storage: |
| 49 | + - create |
| 50 | + - duplicate |
| 51 | + - rename |
| 52 | + - add swatch |
| 53 | + - delete swatch |
| 54 | + - copy/export JSON |
| 55 | +- Publishes a lightweight palette handoff record for active art tools. |
| 56 | + |
| 57 | +### Registry and Landing Surface |
| 58 | +- Registered both tools as active first-class entries in `tools/toolRegistry.js`. |
| 59 | +- The tools landing page continues to render from the shared registry-driven grid. |
| 60 | +- Removed the now-obsolete planned placeholder cards for the two live tools. |
| 61 | +- Kept samples off the tools landing page. |
| 62 | +- Kept `Sprite Editor` visible and first-class. |
| 63 | +- Kept `SpriteEditor_old_keep` hidden legacy. |
| 64 | + |
| 65 | +## Validation Changes |
| 66 | +- Extended `scripts/validate-tool-registry.mjs` to require both new tools in the registry and on disk. |
| 67 | +- Extended `scripts/validate-active-tools-surface.mjs` to validate both new tool pages. |
| 68 | +- Added checks that fail if the static landing page still contains placeholder text for live tools. |
| 69 | + |
| 70 | +## Validation Performed |
| 71 | +- `node --check tools/Asset Browser/main.js` |
| 72 | +- `node --check tools/Palette Browser/main.js` |
| 73 | +- `node scripts/validate-tool-registry.mjs` |
| 74 | +- `node scripts/validate-active-tools-surface.mjs` |
| 75 | + |
| 76 | +## Acceptance Summary |
| 77 | +- Both tools exist under `tools/`. |
| 78 | +- Both tools are active in the shared registry. |
| 79 | +- Both tools load through the shared engine/platform shell. |
| 80 | +- The tools landing page surfaces them through the existing registry-driven launcher. |
| 81 | +- Legacy sprite tooling remains excluded from the active surface. |
0 commit comments