Skip to content

Commit d920035

Browse files
committed
Add navigation list sorting rule and Project Workspace contract - PR_26155_034-037-toolbox-ready-for-project-workspace
1 parent cb60cce commit d920035

12 files changed

Lines changed: 558 additions & 159 deletions

assets/theme-v2/partials/footer.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
<section class="footer__group" aria-labelledby="footer-product">
66
<h2 id="footer-product">Product</h2>
77
<div class="footer__links">
8-
<a data-route="toolbox" href="toolbox/index.html">Toolbox</a>
98
<a data-route="games" href="games/index.html">Games</a>
10-
<a data-route="marketplace" href="marketplace/index.html">Marketplace</a>
119
<a data-route="learn" href="learn/index.html">Learn</a>
10+
<a data-route="marketplace" href="marketplace/index.html">Marketplace</a>
11+
<a data-route="toolbox" href="toolbox/index.html">Toolbox</a>
1212
</div>
1313
</section>
1414
<section class="footer__group" aria-labelledby="footer-community">
@@ -22,8 +22,8 @@ <h2 id="footer-docs-help">Docs &amp; Help</h2>
2222
<div class="footer__links">
2323
<a data-route="docs" href="docs/index.html">Docs</a>
2424
<a data-route="faq" href="docs/faq.html">FAQ</a>
25-
<a data-route="support" href="docs/support.html">Support</a>
2625
<a data-route="reference" href="docs/reference.html">Reference</a>
26+
<a data-route="support" href="docs/support.html">Support</a>
2727
</div>
2828
</section>
2929
<section class="footer__group" aria-labelledby="footer-account">
@@ -39,21 +39,21 @@ <h2 id="footer-account">Account</h2>
3939
<section class="footer__group footer__legal" aria-labelledby="footer-legal">
4040
<h2 id="footer-legal">Legal</h2>
4141
<div class="footer__links">
42-
<a data-route="privacy-policy" href="legal/privacy-policy.html">Privacy Policy</a>
43-
<a data-route="terms-legal" href="legal/terms.html">Terms &amp; Legal</a>
4442
<a data-route="cookie-policy" href="legal/cookie-policy.html">Cookie Policy</a>
4543
<a data-route="disclaimer" href="legal/disclaimer.html">Disclaimer</a>
44+
<a data-route="privacy-policy" href="legal/privacy-policy.html">Privacy Policy</a>
45+
<a data-route="terms-legal" href="legal/terms.html">Terms &amp; Legal</a>
4646
</div>
4747
</section>
4848
<section class="footer__group" aria-labelledby="footer-company">
4949
<h2 id="footer-company">Company</h2>
5050
<div class="footer__links">
5151
<a data-route="about" href="company/about.html">About</a>
52-
<a data-route="vision" href="company/vision.html">Vision</a>
52+
<a data-route="contact" href="company/contact.html">Contact</a>
5353
<a data-route="mission" href="company/mission.html">Mission</a>
54-
<a data-route="roadmap" href="company/roadmap.html">Roadmap</a>
5554
<a data-route="release-notes" href="company/release-notes.html">Release Notes</a>
56-
<a data-route="contact" href="company/contact.html">Contact</a>
55+
<a data-route="roadmap" href="company/roadmap.html">Roadmap</a>
56+
<a data-route="vision" href="company/vision.html">Vision</a>
5757
</div>
5858
</section>
5959
</nav>

assets/theme-v2/partials/header-nav.html

Lines changed: 76 additions & 76 deletions
Large diffs are not rendered by default.

docs_build/dev/PROJECT_INSTRUCTIONS.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,45 @@ Future guidance:
132132
- implementation, runtime, and tool work should now take priority over additional governance expansion unless a real gap is discovered
133133
- governance additions should solve demonstrated operational problems rather than hypothetical future issues
134134

135+
## NAVIGATION, LIST, AND TOOLBOX MODEL GOVERNANCE
136+
137+
Navigation menus, submenus, nested submenus, and user-facing lists must be alphabetically sorted when they are presented as browseable choices.
138+
139+
Allowed intentional-order exceptions:
140+
- workflow paths
141+
- Build Path
142+
- dependency paths
143+
- Project Progress
144+
- Publishing Progress
145+
- guided creator steps
146+
147+
Every intentional-order exception must be documented in the PR report that introduces or preserves it.
148+
149+
Toolbox status values are:
150+
- Ready
151+
- Wireframe
152+
- Under Construction
153+
- Planned
154+
- Hidden
155+
- Deprecated
156+
157+
Toolbox progress foundation fields are:
158+
- `requiredForTestable`
159+
- `requiredForPublish`
160+
- `requires`
161+
- `status`
162+
- `progressChecklist`
163+
164+
Progress and Build Path views remain wireframe-only until a later implementation PR explicitly introduces a declared registry/data source and runtime behavior.
165+
166+
Project Workspace is the next first real Toolbox rebuild target. Its contract owns:
167+
- Project Identity
168+
- Project Status
169+
- Project Progress
170+
- Publishing Progress
171+
172+
Do not implement Project Workspace runtime behavior, persistence, database behavior, authentication, or save/load flows before the rebuild PR explicitly scopes those capabilities.
173+
135174
## ARCHIVED V1/V2 REFERENCE MATERIAL
136175

137176
Deprecated V1/V2 reference material lives under:
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# PR_26155_034 Navigation And List Sorting Rule
2+
3+
## Summary
4+
5+
Added governance requiring navigation menus, submenus, nested submenus, and browseable user-facing lists to sort alphabetically.
6+
7+
Normalized safe active surfaces:
8+
- Header top-level navigation.
9+
- Header Games submenu.
10+
- Header Toolbox group order.
11+
- Header Toolbox nested tool submenus.
12+
- Footer link lists inside each footer group.
13+
- Toolbox grouped view rendering.
14+
- Learn hub cards.
15+
- Learn hub tool links.
16+
17+
## Sorting Exceptions
18+
19+
Documented intentional-order exceptions:
20+
- Build Path remains dependency ordered: Project Workspace, Game Design, Game Configuration, Required Tool Path, Build Game, Game Testing, Publish.
21+
- Project Progress and Publishing Progress remain progress/workflow ordered.
22+
- Individual Learn tool page section order remains a guided documentation sequence: Overview, Quick Start, Common Tasks, Related Documentation, Related Videos, Examples.
23+
- Header action buttons remain CTA ordered, not treated as navigation menus.
24+
25+
Footer group columns keep the existing product information architecture grouping, while each footer link list inside a group is alphabetically sorted.
26+
27+
## Manual Test Notes
28+
29+
- Toolbox renders with Order, Group, Progress, and Build Path controls visible.
30+
- Group mode shows groups alphabetically: Account, Build, Content, Create, Media, Share, Test.
31+
- Toolbox nested submenu items sort alphabetically inside each group.
32+
- Account, Admin, and Games menus sort alphabetically.
33+
- Learn hub browse cards and tool links sort alphabetically.
34+
- Arcade remains absent from Toolbox.
35+
- No duplicate Admin group appears under Toolbox.
36+
37+
## Validation Notes
38+
39+
- `node -c toolbox/tools-page-accordions.js` passed.
40+
- `node -c toolbox/toolRegistry.js` passed.
41+
- `node -c scripts/validate-active-tools-surface.mjs` passed.
42+
- `node -c tests/playwright/tools/RootToolsFutureState.spec.mjs` passed.
43+
- `node scripts/validate-active-tools-surface.mjs` passed.
44+
- `node scripts/validate-tool-registry.mjs` passed.
45+
- `npm run test:workspace-v2` passed: 3 Playwright tests.
46+
- `git diff --check` passed.
47+
48+
## Theme V2 Gap Findings
49+
50+
None. No CSS was added or modified.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# PR_26155_037 Project Workspace Contract
2+
3+
## Summary
4+
5+
Defined Project Workspace as the next first real Toolbox rebuild target. This PR is contract and wireframe alignment only.
6+
7+
Project Workspace owns:
8+
- Project Identity
9+
- Project Status
10+
- Project Progress
11+
- Publishing Progress
12+
13+
## Contract Notes
14+
15+
Project Workspace should become the single project-level coordination surface for:
16+
- current project identity and metadata
17+
- project readiness status
18+
- progress toward testable/playable state
19+
- progress toward publishable state
20+
- current focus
21+
- recommended next tool
22+
23+
The runtime rebuild must use a declared registry/data source before adding DB behavior, persistence, save/load, auth, or project state mutation.
24+
25+
## Out Of Scope
26+
27+
- No Project Workspace implementation was added.
28+
- No database implementation was added.
29+
- No persistence implementation was added.
30+
- No auth/login implementation was added.
31+
- No real save/load behavior was added.
32+
- No CSS was added or modified.
33+
34+
## Validation Notes
35+
36+
- `npm run test:workspace-v2` passed: 3 Playwright tests.
37+
- The command name is retained as a legacy script name; user-facing language remains Project Workspace.
38+
- `git diff --check` passed.
39+
40+
## Manual Test Notes
41+
42+
- Toolbox still renders.
43+
- Project Workspace remains a Toolbox tile and Build Path starting point.
44+
- Project Progress and Publishing Progress remain static wireframe text.
45+
46+
## Theme V2 Gap Findings
47+
48+
None. No CSS was added or modified.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# PR_26155_036 Toolbox Progress Foundation
2+
3+
## Summary
4+
5+
Added the static progress foundation fields used by Toolbox wireframe views:
6+
- `requiredForTestable`
7+
- `requiredForPublish`
8+
- `requires`
9+
- `status`
10+
- `progressChecklist`
11+
12+
Progress and Build Path remain wireframe-only.
13+
14+
## Implementation Notes
15+
16+
- Added `requires` support to Toolbox Progress view cards.
17+
- Added static dependency requirements for the core flow:
18+
- Game Design requires Project Workspace.
19+
- Game Configuration requires Game Design.
20+
- Build Game requires Game Configuration.
21+
- Game Testing requires Build Game.
22+
- Publish requires Game Testing.
23+
- Marketplace, Community, Languages, and Cloud require Publish.
24+
- Added `requires` fields to `toolbox/toolRegistry.js`.
25+
- Kept the existing `tools-page-accordions.js` renderer in place.
26+
- Did not add DB, auth, persistence, or runtime save/load behavior.
27+
28+
## Intentional Ordering
29+
30+
Build Path is intentionally dependency ordered rather than alphabetically sorted. This is allowed by the navigation/list governance exception for workflow paths, Build Path, and dependency paths.
31+
32+
Project Progress and Publishing Progress are intentionally progress ordered rather than alphabetically sorted.
33+
34+
## Manual Test Notes
35+
36+
- Progress view cards show `requiredForTestable`, `requiredForPublish`, and `requires`.
37+
- Build Path still uses existing tool tiles and existing grouped path sections.
38+
- Progress and Build Path are not represented as tool cards or extra accordion/card sections.
39+
40+
## Validation Notes
41+
42+
- `node scripts/validate-active-tools-surface.mjs` passed.
43+
- `npm run test:workspace-v2` passed: 3 Playwright tests.
44+
- `git diff --check` passed.
45+
46+
## Theme V2 Gap Findings
47+
48+
None. No CSS was added or modified.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# PR_26155_035 Toolbox Status System
2+
3+
## Summary
4+
5+
Added the Toolbox status model:
6+
- Ready
7+
- Wireframe
8+
- Under Construction
9+
- Planned
10+
- Hidden
11+
- Deprecated
12+
13+
The active Toolbox renderer keeps the existing wireframe data source and normalizes older static labels into the new status vocabulary at render time.
14+
15+
## Implementation Notes
16+
17+
- Added `toolboxStatusModel` in `toolbox/tools-page-accordions.js`.
18+
- Added `TOOLBOX_STATUS_MODEL` in `toolbox/toolRegistry.js`.
19+
- Updated progress view rendering to show the new status labels on existing tool tiles.
20+
- Preserved role filtering:
21+
- Guest and creator views hide planned/hidden tools.
22+
- Admin view shows hidden planned tools with Hidden status.
23+
- No DB, auth, persistence, save/load, or Project Workspace rebuild behavior was added.
24+
25+
## Manual Test Notes
26+
27+
- Progress view shows Ready, Wireframe, Under Construction, and Planned statuses in guest view where applicable.
28+
- Admin view shows Hidden status for planned hidden tools.
29+
- Deprecated is part of the declared model but no active Toolbox tool is currently marked Deprecated.
30+
- Toolbox still renders without console errors.
31+
32+
## Validation Notes
33+
34+
- `node scripts/validate-active-tools-surface.mjs` passed.
35+
- `node scripts/validate-tool-registry.mjs` passed.
36+
- `npm run test:workspace-v2` passed: 3 Playwright tests.
37+
- `git diff --check` passed.
38+
39+
## Theme V2 Gap Findings
40+
41+
None. No CSS was added or modified.

learn/index.html

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,38 +25,38 @@ <h1>Learn</h1>
2525
<div class="card-grid">
2626
<article class="control-card">
2727
<div class="card-body">
28-
<h2>Search documentation</h2>
29-
<p>Static placeholder for future documentation search.</p>
28+
<h2>Browse by tool</h2>
29+
<p>Open tool-specific Learn pages for the current creator workflow.</p>
3030
</div>
3131
</article>
3232
<article class="control-card">
3333
<div class="card-body">
34-
<h2>Browse by tool</h2>
35-
<p>Open tool-specific Learn pages for the current creator workflow.</p>
34+
<h2>Examples</h2>
35+
<p>Planned example projects and task-focused reference flows.</p>
3636
</div>
3737
</article>
3838
<article class="control-card">
3939
<div class="card-body">
40-
<h2>Tutorials</h2>
41-
<p>Planned guided walkthroughs for Build, Content, Media, Test, and Share tasks.</p>
40+
<h2>FAQ</h2>
41+
<p>Common questions and support topics for creators.</p>
4242
</div>
4343
</article>
4444
<article class="control-card">
4545
<div class="card-body">
46-
<h2>Videos</h2>
47-
<p>Future video lessons and walkthrough references; no embeds are active yet.</p>
46+
<h2>Search documentation</h2>
47+
<p>Static placeholder for future documentation search.</p>
4848
</div>
4949
</article>
5050
<article class="control-card">
5151
<div class="card-body">
52-
<h2>Examples</h2>
53-
<p>Planned example projects and task-focused reference flows.</p>
52+
<h2>Tutorials</h2>
53+
<p>Planned guided walkthroughs for Build, Content, Media, Test, and Share tasks.</p>
5454
</div>
5555
</article>
5656
<article class="control-card">
5757
<div class="card-body">
58-
<h2>FAQ</h2>
59-
<p>Common questions and support topics for creators.</p>
58+
<h2>Videos</h2>
59+
<p>Future video lessons and walkthrough references; no embeds are active yet.</p>
6060
</div>
6161
</article>
6262
</div>
@@ -68,15 +68,15 @@ <h2>FAQ</h2>
6868
<h2>Tool learning paths</h2>
6969
<p>Static wireframe links for the first Learn tool pages.</p>
7070
<div class="content-cluster">
71-
<a class="btn" href="project-workspace/index.html">Project Workspace</a>
72-
<a class="btn" href="game-design/index.html">Game Design</a>
73-
<a class="btn" href="game-configuration/index.html">Game Configuration</a>
7471
<a class="btn" href="assets/index.html">Assets</a>
72+
<a class="btn" href="audio/index.html">Audio</a>
7573
<a class="btn" href="colors/index.html">Colors</a>
74+
<a class="btn" href="game-configuration/index.html">Game Configuration</a>
75+
<a class="btn" href="game-design/index.html">Game Design</a>
7676
<a class="btn" href="objects/index.html">Objects</a>
77-
<a class="btn" href="worlds/index.html">Worlds</a>
78-
<a class="btn" href="audio/index.html">Audio</a>
77+
<a class="btn" href="project-workspace/index.html">Project Workspace</a>
7978
<a class="btn" href="publish/index.html">Publish</a>
79+
<a class="btn" href="worlds/index.html">Worlds</a>
8080
</div>
8181
</div>
8282
</section>

scripts/validate-active-tools-surface.mjs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,14 @@ async function main() {
185185
if (/title:\s*["'](?:Progress|Build Path)["']|data-tools-accordion=['"](?:Progress|Build Path)['"]/i.test(toolsAccordions)) {
186186
issues.push("Progress and Build Path must remain view modes, not active toolbox tools or accordion groups.");
187187
}
188-
for (const readiness of ["locked", "ready", "in-progress", "complete"]) {
188+
for (const readiness of ["Ready", "Wireframe", "Under Construction", "Planned", "Hidden", "Deprecated"]) {
189189
if (!toolsAccordions.includes(`"${readiness}"`)) {
190-
issues.push(`Progress view is missing static readiness label: ${readiness}.`);
190+
issues.push(`Progress view is missing Toolbox status model label: ${readiness}.`);
191191
}
192192
}
193+
if (!/progressRequirements/.test(toolsAccordions) || !/requires:/.test(toolsAccordions)) {
194+
issues.push("Progress view must expose the static requires foundation field for visible tool tiles.");
195+
}
193196
if (!/dataset\.toolboxReadiness/.test(toolsAccordions)) {
194197
issues.push("Progress view must render readiness labels on the existing tool tiles.");
195198
}

0 commit comments

Comments
 (0)