Skip to content

Commit cb60cce

Browse files
committed
Add Worlds Objects child capabilities and normalize Toolbox group colors - PR_26155_032-033-toolbox-final-nav-cleanup
1 parent 464aa69 commit cb60cce

13 files changed

Lines changed: 184 additions & 64 deletions

assets/theme-v2/css/colors.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,19 @@
148148
--accent: var(--pink)
149149
}
150150

151+
.tool-group-create,
151152
.tool-group-build-create {
152153
--tool-group-color: var(--pink);
153154
--tool-group-accent: var(--pink)
154155
}
155156

157+
.tool-group-content,
156158
.tool-group-content-assets {
157159
--tool-group-color: var(--orange);
158160
--tool-group-accent: var(--orange)
159161
}
160162

163+
.tool-group-media,
161164
.tool-group-media-audio {
162165
--tool-group-color: var(--red);
163166
--tool-group-accent: var(--red)
@@ -168,16 +171,20 @@
168171
--tool-group-accent: var(--purple)
169172
}
170173

174+
.tool-group-test,
175+
.tool-group-account,
171176
.tool-group-platform-cloud {
172177
--tool-group-color: var(--electric-blue);
173178
--tool-group-accent: var(--electric-blue)
174179
}
175180

181+
.tool-group-build,
176182
.tool-group-development-system {
177183
--tool-group-color: var(--steel-gray);
178184
--tool-group-accent: var(--steel-gray)
179185
}
180186

187+
.tool-group-share,
181188
.tool-group-community-marketplace {
182189
--tool-group-color: var(--gold);
183190
--tool-group-accent: var(--gold)

assets/theme-v2/css/tools/grouping/build-create.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.tool-group-create,
12
.tool-group-build-create {
23
--tool-group-color: var(--pink);
34
--tool-group-accent: var(--pink)

assets/theme-v2/css/tools/grouping/community-marketplace.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.tool-group-share,
12
.tool-group-community-marketplace {
23
--tool-group-color: var(--gold);
34
--tool-group-accent: var(--gold)

assets/theme-v2/css/tools/grouping/content-assets.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.tool-group-content,
12
.tool-group-content-assets {
23
--tool-group-color: var(--orange);
34
--tool-group-accent: var(--orange)

assets/theme-v2/css/tools/grouping/development-system.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.tool-group-build,
12
.tool-group-development-system {
23
--tool-group-color: var(--steel-gray);
34
--tool-group-accent: var(--steel-gray)

assets/theme-v2/css/tools/grouping/media-audio.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.tool-group-media,
12
.tool-group-media-audio {
23
--tool-group-color: var(--red);
34
--tool-group-accent: var(--red)

assets/theme-v2/css/tools/grouping/platform-cloud.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.tool-group-test,
2+
.tool-group-account,
13
.tool-group-platform-cloud {
24
--tool-group-color: var(--electric-blue);
35
--tool-group-accent: var(--electric-blue)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# PR_26155_033 Toolbox Group Color Name Normalization
2+
3+
## Summary
4+
5+
- Normalized dynamic Toolbox group color identifiers to creator-facing group names:
6+
- `tool-group-create`
7+
- `tool-group-build`
8+
- `tool-group-content`
9+
- `tool-group-media`
10+
- `tool-group-test`
11+
- `tool-group-share`
12+
- `tool-group-account`
13+
- Updated `toolbox/tools-page-accordions.js` and `toolbox/toolRegistry.js` to use the normalized names.
14+
- Kept tile outlines visible with the same group color treatment.
15+
16+
## Theme V2 Gap Findings
17+
18+
- Existing Theme V2 color classes used older names such as `tool-group-build-create`, `tool-group-content-assets`, and `tool-group-development-system`.
19+
- A reusable Theme V2 alias gap existed for the new creator-facing group names.
20+
- Added shared Theme V2 alias selectors in:
21+
- `assets/theme-v2/css/colors.css`
22+
- `assets/theme-v2/css/tools/grouping/build-create.css`
23+
- `assets/theme-v2/css/tools/grouping/content-assets.css`
24+
- `assets/theme-v2/css/tools/grouping/development-system.css`
25+
- `assets/theme-v2/css/tools/grouping/media-audio.css`
26+
- `assets/theme-v2/css/tools/grouping/platform-cloud.css`
27+
- `assets/theme-v2/css/tools/grouping/community-marketplace.css`
28+
- Older class names remain styled for compatibility with existing tool shells.
29+
- No page-local CSS, tool-local CSS, inline styles, or style blocks were added.
30+
31+
## Validation Notes
32+
33+
- Playwright verifies Assets uses `tool-group-content`.
34+
- Playwright verifies Worlds uses `tool-group-create`.
35+
- Playwright verifies every rendered Toolbox tile still has a `tool-group-*` class and a non-transparent border color.
36+
- `npm run test:workspace-v2`: PASS, 3 Playwright tests.
37+
- `git diff --check`: PASS.
38+
39+
## Manual Test Notes
40+
41+
- Verified Create, Build, Content, Media, Test, Share, and Account groups still render.
42+
- Verified group-color outlines remain visible on Toolbox tiles.
43+
- Verified Learn, Admin, and Arcade boundaries remain unchanged.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# PR_26155_032 Toolbox Worlds Objects Submenus
2+
3+
## Summary
4+
5+
- Added visible child capability lists under the existing Worlds and Objects Toolbox tiles.
6+
- Kept child capabilities beneath their parent tools only.
7+
- Did not add Vector, Tilemap, Isometric, Hex, Sprite, Character, Enemy, or Interactive as top-level Toolbox groups.
8+
- Preserved Create, Build, Content, Media, Test, Share, and Account grouping.
9+
10+
## Child Capabilities
11+
12+
- Worlds:
13+
- Vector
14+
- Tilemap
15+
- Isometric
16+
- Hex
17+
- Objects:
18+
- Vector
19+
- Sprite
20+
- Character
21+
- Enemy
22+
- Interactive
23+
24+
## Implementation Notes
25+
26+
- `toolbox/tools-page-accordions.js` now renders child capabilities as a nested `ul` under the parent tile.
27+
- Child capabilities remain wireframe/planned labels only.
28+
- No DB, auth, persistence, or Project Workspace rebuild behavior was added.
29+
- Learn remains top-level navigation only.
30+
- Admin remains one top-level navigation area only.
31+
- Arcade remains absent from Toolbox.
32+
33+
## Validation Notes
34+
35+
- `node scripts/validate-active-tools-surface.mjs`: PASS.
36+
- `node scripts/validate-tool-registry.mjs`: PASS.
37+
- `npm run test:workspace-v2`: PASS, 3 Playwright tests.
38+
- `git diff --check`: PASS.
39+
40+
## Manual Test Notes
41+
42+
- Verified Worlds shows Vector, Tilemap, Isometric, and Hex beneath Worlds.
43+
- Verified Objects shows Vector, Sprite, Character, Enemy, and Interactive beneath Objects.
44+
- Verified child capability labels are not top-level Toolbox groups.
45+
- Verified no console errors in the targeted Playwright run.

scripts/validate-active-tools-surface.mjs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,11 @@ async function main() {
158158
if (!/Planned world types/.test(toolsAccordions) || !/Vector/.test(toolsAccordions) || !/Tilemap/.test(toolsAccordions) || !/Isometric/.test(toolsAccordions) || !/Hex/.test(toolsAccordions)) {
159159
issues.push("Worlds must preserve planned world-type child capabilities: Vector, Tilemap, Isometric, and Hex.");
160160
}
161-
if (!/Planned object types/.test(toolsAccordions) || !/Character/.test(toolsAccordions) || !/Enemy/.test(toolsAccordions) || !/Decoration/.test(toolsAccordions) || !/Interactive/.test(toolsAccordions) || !/Vector Object/.test(toolsAccordions) || !/Sprite Object/.test(toolsAccordions)) {
162-
issues.push("Objects must preserve planned object-type child capabilities.");
161+
if (!/Planned object types/.test(toolsAccordions) || !/Vector/.test(toolsAccordions) || !/Sprite/.test(toolsAccordions) || !/Character/.test(toolsAccordions) || !/Enemy/.test(toolsAccordions) || !/Interactive/.test(toolsAccordions)) {
162+
issues.push("Objects must preserve planned object-type child capabilities: Vector, Sprite, Character, Enemy, and Interactive.");
163+
}
164+
if (!/dataset\.childCapabilities/.test(toolsAccordions) || !/createElement\("ul"\)/.test(toolsAccordions)) {
165+
issues.push("Toolbox child capabilities must render as visible child lists under their parent tool tiles.");
163166
}
164167
if (!/container callout/.test(toolboxIndex)) {
165168
issues.push("Toolbox role banner container must use an existing Theme V2 background panel class.");

0 commit comments

Comments
 (0)