Skip to content

Commit 77aa206

Browse files
committed
Link Tools Progress and add tool previous next navigation - PR_26155_096-099-tool-navigation
1 parent 6cb2de4 commit 77aa206

8 files changed

Lines changed: 231 additions & 1 deletion
1.23 MB
Binary file not shown.
4.5 KB
Binary file not shown.

docs_build/dev/codex_commands.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,37 @@ Required reports:
8080
- `docs_build/dev/reports/theme_css_entrypoint_closeout_report.md`
8181
- `docs_build/dev/reports/migration_final_status_report.md`
8282

83+
## PR_26155_096-099
84+
85+
Changes:
86+
- Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
87+
- Added registry route/navigation helpers in `toolbox/toolRegistry.js`.
88+
- Made Admin Tools Progress tool names link through shared registry route data.
89+
- Added disabled planned rendering for route-less tools.
90+
- Added Previous Tool and Next Tool controls to shared Tool Display Mode.
91+
- Added registry-driven multi-path fallback from Game Configuration to Toolbox Group view.
92+
- Added Toolbox URL state support for `view=group&group=<slug>`.
93+
- Added the targeted `tool-navigation` Playwright lane.
94+
95+
Validation:
96+
- `node --check toolbox/toolRegistry.js`
97+
- `node --check admin/tools-progress.js`
98+
- `node --check assets/theme-v2/js/tool-display-mode.js`
99+
- `node --check toolbox/tools-page-accordions.js`
100+
- `node --check tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
101+
- `npm run test:lane:tools-progress`
102+
- `npm run test:lane:tool-navigation`
103+
- `npm run test:workspace-v2`
104+
- `git diff --check`
105+
106+
Required reports:
107+
- `docs_build/dev/reports/tools-progress-tool-links.md`
108+
- `docs_build/dev/reports/tool-display-mode-prev-next.md`
109+
- `docs_build/dev/reports/tool-display-mode-multi-path-fallback.md`
110+
- `docs_build/dev/reports/tool-navigation-targeted-msj-tests.md`
111+
- `docs_build/dev/reports/codex_review.diff`
112+
- `docs_build/dev/reports/codex_changed_files.txt`
113+
83114
## PR_26154_053
84115

85116
Changes:

docs_build/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Hydrate Admin Tools Progress and restore Toolbox group colors - PR_26155_092-095-tools-progress-group-colors
1+
Add registry-driven tool navigation links and Tool Display previous/next controls - PR_26155_096-099-tool-navigation
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Tool Display Mode Multi Path Fallback
2+
3+
PR: PR_26155_098-tool-display-mode-multi-path-fallback
4+
5+
## Summary
6+
7+
- Game Configuration now has registry navigation metadata for multiple valid next choices.
8+
- Multiple next choices route to Toolbox Group view instead of inventing a per-page target.
9+
- The fallback route is registry-driven:
10+
- `toolbox/index.html?view=group&group=design`
11+
- The current `role` query parameter is preserved when the Tool Display Mode link is created.
12+
- `toolbox/tools-page-accordions.js` now reads `view=group&group=<slug>` on initial load.
13+
- When a group slug is provided, only the requested group accordion opens.
14+
15+
## Files
16+
17+
- `toolbox/toolRegistry.js`
18+
- `assets/theme-v2/js/tool-display-mode.js`
19+
- `toolbox/tools-page-accordions.js`
20+
- `tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
21+
22+
## Validation
23+
24+
- PASS: `node --check toolbox/toolRegistry.js`
25+
- PASS: `node --check toolbox/tools-page-accordions.js`
26+
- PASS: `npm run test:lane:tool-navigation`
27+
- PASS: `git diff --check`
28+
29+
## Manual Test Notes
30+
31+
1. Open `toolbox/game-configuration/index.html?role=admin`.
32+
2. Confirm Next Tool reads `Next Tool: Design Tools`.
33+
3. Confirm the link target is `toolbox/index.html?view=group&group=design&role=admin`.
34+
4. Click the link.
35+
5. Confirm Toolbox opens in Group view.
36+
6. Confirm only the Design group accordion is expanded.
37+
38+
## Validation Scope
39+
40+
Impacted lane:
41+
- `tool-navigation`
42+
43+
Skipped lanes:
44+
- Build Path lane was skipped because the workflow table and project-specific Build Path behavior were not changed.
45+
- Game Configuration runtime lane was skipped because no configuration repository, handoff, validation, or output behavior changed.
46+
- Full samples smoke test was skipped because samples are out of scope.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Tool Display Mode Previous Next
2+
3+
PR: PR_26155_097-tool-display-mode-prev-next
4+
5+
## Summary
6+
7+
- `assets/theme-v2/js/tool-display-mode.js` now adds Previous Tool and Next Tool controls inside the shared Tool Display Mode body.
8+
- Controls are generated from `getToolNavigationTargets(toolSlug)` in `toolbox/toolRegistry.js`.
9+
- Controls follow the registry build order used by Admin Tools Progress.
10+
- Disabled controls render as disabled buttons when no previous or next target exists.
11+
- Role query parameters are preserved on generated navigation links.
12+
13+
## Examples Verified
14+
15+
- Game Design:
16+
- Previous Tool: Project Workspace
17+
- Next Tool: Game Configuration
18+
- Project Workspace:
19+
- Previous Tool: AI Assistant
20+
- Next Tool: Game Design
21+
22+
## Files
23+
24+
- `assets/theme-v2/js/tool-display-mode.js`
25+
- `toolbox/toolRegistry.js`
26+
- `tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
27+
28+
## Validation
29+
30+
- PASS: `node --check assets/theme-v2/js/tool-display-mode.js`
31+
- PASS: `npm run test:lane:tool-navigation`
32+
- PASS: `npm run test:workspace-v2`
33+
- PASS: `git diff --check`
34+
35+
`npm run test:workspace-v2` is a legacy command name. User-facing naming remains Project Workspace.
36+
37+
## Manual Test Notes
38+
39+
1. Open `toolbox/game-design/index.html?role=user`.
40+
2. Confirm Tool Display Mode shows Previous Tool: Project Workspace.
41+
3. Confirm Tool Display Mode shows Next Tool: Game Configuration.
42+
4. Confirm both links preserve `role=user`.
43+
5. Open `toolbox/project-workspace/index.html?role=user`.
44+
6. Confirm Previous Tool and Next Tool render from registry build order.
45+
46+
## Validation Scope
47+
48+
Impacted lane:
49+
- `tool-navigation`
50+
51+
Additional shared navigation gate:
52+
- `workspace-contract` through the legacy `npm run test:workspace-v2` command.
53+
54+
Skipped lanes:
55+
- Game Design, Game Configuration, and Project Workspace runtime lanes were skipped because page-specific runtime behavior was not changed.
56+
- Full samples smoke test was skipped because no sample JSON or sample loader behavior changed.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Tool Navigation Targeted MSJ Tests
2+
3+
PR: PR_26155_099-tool-navigation-targeted-msj-tests
4+
5+
## Summary
6+
7+
- Added `npm run test:lane:tool-navigation`.
8+
- Registered the `tool-navigation` lane in `scripts/run-targeted-test-lanes.mjs`.
9+
- Added `tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`.
10+
- The lane covers Admin Tools Progress links, route-less planned rendering, Tool Display Mode previous/next controls, Game Design previous/next, multi-path fallback, role preservation, direct Group view routing, and console/page errors.
11+
12+
## Validation Results
13+
14+
- PASS: `node --check tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
15+
- PASS: `npm run test:lane:tools-progress`
16+
- PASS: `npm run test:lane:tool-navigation`
17+
- 5 tests passed.
18+
- PASS: `npm run test:workspace-v2`
19+
- Legacy command name; user-facing naming remains Project Workspace.
20+
- PASS: `git diff --check`
21+
22+
## Concurrent Run Note
23+
24+
The first attempt ran `tools-progress` and `tool-navigation` concurrently. Tools Progress passed, but Tool Navigation hit a Playwright artifact race:
25+
26+
`ENOENT: no such file or directory ... .playwright-artifacts-0/...zip`
27+
28+
The same `tool-navigation` lane was rerun by itself and passed cleanly with 5/5 tests.
29+
30+
## Targeted Checks Covered
31+
32+
- `admin/tools-progress.html`
33+
- `toolbox/project-workspace/index.html`
34+
- `toolbox/game-design/index.html`
35+
- `toolbox/game-configuration/index.html`
36+
- `toolbox/index.html?view=group&group=design`
37+
38+
## Skipped Lanes
39+
40+
- `game-design`: skipped because Game Design save/update/validation behavior was unchanged.
41+
- `game-configuration`: skipped because configuration repository, handoff, validation, and output behavior were unchanged.
42+
- `project-workspace`: skipped because project repository and project lifecycle behavior were unchanged.
43+
- `build-path`: skipped because Project Build Path table behavior was not changed.
44+
- `engine-src`: skipped because no engine or shared `src/` runtime code changed.
45+
- `samples`: skipped because samples are out of scope and no sample assets or manifests changed.
46+
47+
Full suite is required only when shared runtime, shared parser, shared DB, shared Theme V2, or cross-tool integration behavior changes beyond the targeted navigation surfaces.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Tools Progress Tool Links
2+
3+
PR: PR_26155_096-tools-progress-tool-links
4+
5+
## Summary
6+
7+
- `admin/tools-progress.html` remains hydrated by `admin/tools-progress.js`.
8+
- Tool names now render as links when shared registry route data provides an `entryPoint`.
9+
- Route generation is centralized in `toolbox/toolRegistry.js` through `getToolRoute(tool)`.
10+
- Route-less tools render as text with a `Planned - Route pending` pill instead of a broken link.
11+
- No routes were hardcoded in `admin/tools-progress.js`.
12+
13+
## Files
14+
15+
- `toolbox/toolRegistry.js`
16+
- `admin/tools-progress.js`
17+
- `tests/playwright/tools/ToolNavigationPrevNext.spec.mjs`
18+
19+
## Evidence
20+
21+
- Admin Tools Progress rows still hydrate from `getActiveToolRegistry()`.
22+
- The new test verifies every active registry tool with route data renders a matching link.
23+
- The route-less rendering path is covered with a route-less fixture through the exported row renderer.
24+
25+
## Validation
26+
27+
- PASS: `npm run test:lane:tools-progress`
28+
- PASS: `npm run test:lane:tool-navigation`
29+
- PASS: `npm run test:workspace-v2`
30+
- PASS: `git diff --check`
31+
32+
`npm run test:workspace-v2` is a legacy command name. User-facing naming remains Project Workspace.
33+
34+
## Manual Test Notes
35+
36+
1. Open `admin/tools-progress.html`.
37+
2. Confirm each routed tool name is clickable.
38+
3. Confirm the links use `toolbox/<tool>/index.html` routes from the registry.
39+
4. Confirm route-less tools would show text with `Planned - Route pending` rather than a broken link.
40+
41+
## Validation Scope
42+
43+
Impacted lanes:
44+
- `tools-progress`
45+
- `tool-navigation`
46+
- `workspace-contract` through the legacy `npm run test:workspace-v2` command because shared route/navigation wiring changed.
47+
48+
Skipped lanes:
49+
- `game-design`, `game-configuration`, and `project-workspace` runtime lanes were skipped because no mock repository, save/update, validation, or project data behavior changed.
50+
- `engine-src`, `samples`, and archive lanes were skipped because this PR does not touch engine runtime, sample JSON, or archived reference material.

0 commit comments

Comments
 (0)