|
| 1 | +# Root Tools Original Parity Recovery Validation |
| 2 | + |
| 3 | +PR: PR_26152_051-root-tools-original-parity-recovery |
| 4 | + |
| 5 | +## Scope |
| 6 | + |
| 7 | +Restored only these already-migrated root Tools pages: |
| 8 | + |
| 9 | +- tools/index.html |
| 10 | +- tools/ai-assistant.html |
| 11 | +- tools/animation-studio.html |
| 12 | +- tools/asset-studio.html |
| 13 | +- tools/code-studio.html |
| 14 | +- tools/input-studio.html |
| 15 | +- tools/midi-studio.html |
| 16 | +- tools/object-vector-studio.html |
| 17 | +- tools/palette-manager.html |
| 18 | +- tools/particle-studio.html |
| 19 | +- tools/sound-studio.html |
| 20 | +- tools/storage-inspector.html |
| 21 | + |
| 22 | +No Admin, Account, Company, Games, Samples, root index, CSS, Theme V2 CSS, or additional tool pages were changed. |
| 23 | + |
| 24 | +Continuation note: this work started from the approved PR_26152_050 delta_2 state. A leftover prior report artifact was normalized back to the committed delta_2 content before this Tools work began. |
| 25 | + |
| 26 | +Historical source of truth used: `870cc75d97ac787664e2cb4d8b960194c0b82772:GameFoundryStudio/tools/*.html`, the parent of `8f326e43b` (`PR_26152_038-root-tools-index-migration`), which is the first root/Theme V2 Tools migration commit. |
| 27 | + |
| 28 | +## Source Match Validation |
| 29 | + |
| 30 | +Result: PASS |
| 31 | + |
| 32 | +Each restored root page was compared against its matching historical `GameFoundryStudio/tools` source after only these root-path transforms: |
| 33 | + |
| 34 | +- Insert `<base href="../GameFoundryStudio/">` so root `/tools/*.html` pages can load the approved GameFoundryStudio assets and partials. |
| 35 | +- Convert source `../assets/*` references to `assets/*` under the base path. |
| 36 | +- Convert the missing center image filename `assets/images/forge-bot.png` to existing `assets/images/forge-bot-single.png`; the old filename is absent from both the current and historical image tree. |
| 37 | +- Add `data-asset-root`, `data-tool-slug`, and `data-tool-icon-src` to each standalone page's `data-tool-display-mode` slot so external `tool-display-mode.js` loads badges and character images correctly from root pages. |
| 38 | + |
| 39 | +## Static Affected Tools Validation |
| 40 | + |
| 41 | +Result: PASS |
| 42 | + |
| 43 | +Validated: |
| 44 | + |
| 45 | +- 12 restored root Tools pages match transformed historical source content. |
| 46 | +- 193 path and metadata references resolve, including CSS, JS, partials, center images, badge images, character images, generated tool tile images, generated badge object paths, and root migrated tool links. |
| 47 | +- `/tools/index.html` includes sorting and grouping controls, accordion list slot, and legacy accordion stack/tile layout marker. |
| 48 | +- Existing `GameFoundryStudio/assets/js/tools-page-accordions.js` contains the expected grouping, sorting, group label, badge, tile, and card-grid behavior markers. |
| 49 | +- All affected pages include header/footer partial slots. |
| 50 | +- No affected page contains inline `style` attributes, `<style>` blocks, inline script blocks, inline event handlers, or `imageDataUrl`. |
| 51 | +- `git diff --check` passed for the affected root Tools pages. |
| 52 | + |
| 53 | +## Targeted Browser Validation |
| 54 | + |
| 55 | +Result: PASS |
| 56 | + |
| 57 | +A temporary local HTTP server was started inside the validation script and closed after validation. Only affected root Tools pages were opened. |
| 58 | + |
| 59 | +Validated in browser: |
| 60 | + |
| 61 | +- `/tools/index.html` loads header and footer partials. |
| 62 | +- `/tools/index.html` renders 18 tool cards from the existing tool metadata. |
| 63 | +- Tool tile images load successfully. |
| 64 | +- Badge object paths are present for rendered cards. |
| 65 | +- Sorting/grouping controls exist. |
| 66 | +- Grouped mode renders 9 grouped accordions. |
| 67 | +- A migrated root tool link resolves to `/tools/ai-assistant.html`. |
| 68 | +- Each of the 11 standalone root tool pages loads header and footer partials. |
| 69 | +- Each standalone page loads display badge, display character, center ForgeBot image, left/right tool columns, vertical accordions, and horizontal accordion toggles. |
| 70 | +- No browser console errors were reported during the targeted affected-page pass. |
| 71 | + |
| 72 | +## CSS Validation |
| 73 | + |
| 74 | +Result: PASS |
| 75 | + |
| 76 | +No CSS files changed. Theme V2 CSS was not modified. No CSS was added. |
| 77 | + |
| 78 | +## Unrelated Page Validation |
| 79 | + |
| 80 | +Result: PASS |
| 81 | + |
| 82 | +Before report generation, `git diff --name-only` listed only the 12 affected root Tools HTML pages. No Admin, Account, Company, Games, Samples, root index, or unrelated tool directories were changed. |
| 83 | + |
| 84 | +## Commands Run |
| 85 | + |
| 86 | +- Read: `docs/dev/PROJECT_INSTRUCTIONS.md` |
| 87 | +- Source discovery: `git log --all -- GameFoundryStudio/tools/*.html tools/*.html` |
| 88 | +- Source read/restore: `git show 870cc75d97ac787664e2cb4d8b960194c0b82772:GameFoundryStudio/tools/<page>.html` |
| 89 | +- Static affected Tools validation with Node. |
| 90 | +- Targeted browser validation with an in-script local HTTP server and Playwright Chromium for the affected root Tools pages only. |
| 91 | +- Targeted whitespace validation: `git diff --check -- tools/index.html tools/ai-assistant.html tools/animation-studio.html tools/asset-studio.html tools/code-studio.html tools/input-studio.html tools/midi-studio.html tools/object-vector-studio.html tools/palette-manager.html tools/particle-studio.html tools/sound-studio.html tools/storage-inspector.html` |
| 92 | + |
| 93 | +## Tests Not Run |
| 94 | + |
| 95 | +Repo-wide tests were not run, per BUILD instruction. `npm run test:workspace-v2` was not run because this PR does not change Workspace V2, toolState, engine, capture, or runtime handoff behavior and the BUILD requested only affected root Tools validation. Full samples smoke test: SKIP because no sample files or sample runtime were changed. |
| 96 | + |
| 97 | +## Manual Validation |
| 98 | + |
| 99 | +1. Open `/tools/index.html`. |
| 100 | +2. Confirm the approved legacy title, sorting controls, generated tool cards, images, badges, group labels, tile outlines, header, and footer render. |
| 101 | +3. Use `Grouped` and `Order A-Z` controls and confirm grouping/sorting behavior updates the rendered tool list. |
| 102 | +4. Open each restored root tool page listed in Scope. |
| 103 | +5. Confirm each page shows the approved legacy source content, header/footer partials, left/right tool columns, accordions, display badge/character, and center ForgeBot image. |
0 commit comments