Skip to content

Commit 6afcc00

Browse files
committed
Add project purpose roles capability demos and Game Design ready gate - PR_26155_061-067-project-workspace-purpose-roles
1 parent 54e0512 commit 6afcc00

12 files changed

Lines changed: 684 additions & 26 deletions
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Capability Demo Project Seeds
2+
3+
Stacked PR:
4+
- PR_26155_065-capability-demo-project-seeds
5+
6+
## Summary
7+
8+
Added mock seed definitions for Capability Demo projects.
9+
10+
Seeded projects:
11+
- Gravity Demo
12+
- Collision Demo
13+
- Camera Follow Demo
14+
15+
Each demo is a real mock project row with:
16+
- `purpose: "Capability Demo"`
17+
- Creator User membership
18+
- Admin User membership
19+
- Guest Preview User Viewer membership
20+
21+
No real game runtime files, sample JSON, or playable demo implementation was added.
22+
23+
## Validation
24+
25+
Covered by `npm run test:lane:project-workspace`.
26+
27+
The targeted lane verifies:
28+
- Capability Demo projects appear in the Project Workspace project list.
29+
- Capability Demo projects are seeded as projects, not as samples or runtime assets.
30+
- Reset/seed/clear mock data actions still work through the existing admin Project Data wireframe.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Game Design Ready Gate
2+
3+
Stacked PR:
4+
- PR_26155_067-game-design-ready-gate
5+
6+
## Ready Gate
7+
8+
Game Design can start after this Project Workspace bundle because Project Workspace now supports:
9+
- Project Purpose
10+
- Project Member Role
11+
- SQL-shaped mock repository tables
12+
- Capability Demo seed projects
13+
- Targeted MSJ coverage for the new Project Workspace model
14+
- Role-focused Toolbox filtering wireframe behavior
15+
16+
Project Workspace remains the active root for the next rebuild.
17+
18+
## Next Implementation PR
19+
20+
The next implementation PR should start Game Design.
21+
22+
Game Design should consume Project Workspace as the source for:
23+
- active project identity
24+
- project purpose
25+
- current user role
26+
- project status
27+
- project progress
28+
- publishing progress
29+
- recommended next tool
30+
31+
This bundle does not start Game Design implementation.
32+
33+
## Boundaries Preserved
34+
35+
Preserved:
36+
- Primary nav order: Games, Toolbox, Marketplace, Learn, Account, Admin.
37+
- Learn as top-level navigation.
38+
- Admin as one top-level navigation area only.
39+
- Arcade outside Toolbox.
40+
- The site/product ID remains `GameFoundryStudio`; creator-facing tool labels do not use the suffix.
41+
- No real DB/auth/cloud/persistence.
42+
- No page-local CSS, tool-local CSS, inline styles, or style blocks.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Project Member Role Model
2+
3+
Stacked PR:
4+
- PR_26155_062-project-member-role-model
5+
6+
## Summary
7+
8+
Added Project Member Role to the Project Workspace mock SQL-shaped contract.
9+
10+
Supported member roles:
11+
- Owner
12+
- Designer
13+
- World Builder
14+
- Artist
15+
- Audio Creator
16+
- Translator
17+
- Tester
18+
- Publisher
19+
- Viewer
20+
21+
Contract change:
22+
- `project_members` now includes `role`.
23+
- Existing `permission` is preserved for compatibility.
24+
- New project owner membership writes both `permission: "Owner"` and `role: "Owner"`.
25+
26+
Model notes:
27+
- Project Member Role describes what the user can work on.
28+
- Owner is documented as full access for the wireframe model.
29+
- Role-based tool visibility is Toolbox filtering only, not security enforcement.
30+
31+
## Validation
32+
33+
Covered by `npm run test:lane:project-workspace`.
34+
35+
The targeted lane verifies:
36+
- Current User Role appears in Project Workspace.
37+
- Role options include all supported values.
38+
- Demo Project shows Creator User as Owner.
39+
- Changing Current User Role updates the active Project Workspace display and member table.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Project Purpose Model
2+
3+
Stacked PR:
4+
- PR_26155_061-project-purpose-model
5+
6+
## Summary
7+
8+
Added Project Purpose to the Project Workspace mock SQL-shaped contract.
9+
10+
Supported purposes:
11+
- Game Project
12+
- Capability Demo
13+
- Learning Project
14+
- Template Project
15+
16+
Contract change:
17+
- `projects` now includes `purpose`.
18+
- Existing Demo Project uses `purpose: "Game Project"`.
19+
- New projects default to `Game Project` unless the UI or caller supplies another supported purpose.
20+
21+
Project Purpose describes what the project is. It does not add real database, auth, cloud, or persistence behavior.
22+
23+
## Validation
24+
25+
Covered by `npm run test:lane:project-workspace`.
26+
27+
The targeted lane verifies:
28+
- Project Purpose appears in Project Workspace.
29+
- Purpose options include all supported values.
30+
- Created projects can use `Capability Demo`.
31+
- Existing create/open/delete behavior remains intact.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Project Workspace Purpose Role UI
2+
3+
Stacked PR:
4+
- PR_26155_063-project-workspace-purpose-role-ui
5+
6+
## Summary
7+
8+
Updated Project Workspace to expose the new mock/wireframe fields:
9+
- Project Purpose
10+
- Current User Role
11+
12+
UI changes:
13+
- Added a Project Purpose select in Project Setup.
14+
- Added a Current User Role select in Project Setup.
15+
- Added Project Purpose and Current User Role to the active project summary.
16+
- Updated Project Members table to show Role and Permission.
17+
- Updated open project list metadata to include purpose.
18+
19+
Behavior boundaries:
20+
- Single-user behavior remains first.
21+
- Creator User is Owner of Demo Project.
22+
- Guest Preview User is Viewer in seeded memberships.
23+
- No real DB/auth/cloud/persistence was added.
24+
- No CSS was added.
25+
26+
## Validation
27+
28+
Covered by `npm run test:lane:project-workspace`.
29+
30+
Manual notes:
31+
- Project Purpose and Current User Role are editable wireframe/mock fields.
32+
- Editing these fields updates the in-memory mock repository only.
33+
- Create/open/delete behavior still works.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Project Workspace Targeted MSJ Coverage
2+
3+
Stacked PR:
4+
- PR_26155_066-project-workspace-targeted-msj-coverage
5+
6+
## Impacted Lane
7+
8+
Impacted lane:
9+
- `project-workspace`
10+
11+
Additional affected lane run because Toolbox role rendering changed:
12+
- `workspace-contract` through the legacy command name `npm run test:workspace-v2`
13+
14+
## Coverage Added
15+
16+
Extended `tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs` to cover:
17+
- Project Purpose options and active display.
18+
- Project Member Role options and active display.
19+
- Editing Project Purpose.
20+
- Editing Current User Role.
21+
- Capability Demo seed projects.
22+
- Project create/open/delete behavior after the model changes.
23+
- Reset/seed/clear mock data actions.
24+
- Role-focused Toolbox filtering for Owner, Designer, Audio Creator, Viewer, and Admin views.
25+
26+
## Skipped Lanes
27+
28+
Skipped:
29+
- Full suite
30+
- Samples lane
31+
- Archive/deprecated lanes
32+
33+
Rationale:
34+
- No samples, archived content, engine runtime, parser, or real persistence behavior changed.
35+
- Validation stayed on the directly affected Project Workspace and Toolbox contract lanes.
36+
37+
## Commands Run
38+
39+
- `node --check toolbox/project-workspace/project-workspace-mock-repository.js`
40+
- `node --check toolbox/project-workspace/project-workspace.js`
41+
- `node --check toolbox/tools-page-accordions.js`
42+
- `node --check tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs`
43+
- `node --check tests/playwright/tools/RootToolsFutureState.spec.mjs`
44+
- `npm run test:lane:project-workspace`
45+
- `npm run test:workspace-v2`
46+
- `git diff --check`
47+
48+
Results:
49+
- Project Workspace lane passed: 8 tests.
50+
- Workspace-contract lane passed: 4 tests.
51+
- `git diff --check` passed.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Toolbox Role Focused Filtering
2+
3+
Stacked PR:
4+
- PR_26155_064-toolbox-role-focused-filtering
5+
6+
## Summary
7+
8+
Added dev-mode Toolbox filtering by Project Member Role on top of the existing role simulation.
9+
10+
Existing role simulation remains:
11+
- `?role=guest`
12+
- `?role=user`
13+
- `?role=admin`
14+
15+
New optional member-role filter:
16+
- `?memberRole=Owner`
17+
- `?memberRole=Designer`
18+
- `?memberRole=World%20Builder`
19+
- `?memberRole=Artist`
20+
- `?memberRole=Audio%20Creator`
21+
- `?memberRole=Translator`
22+
- `?memberRole=Tester`
23+
- `?memberRole=Publisher`
24+
- `?memberRole=Viewer`
25+
26+
Default guest/user views remain Owner-style non-admin current-tool views for compatibility with the existing Toolbox surface. Focused member roles narrow visible tiles for review.
27+
28+
Role focus behavior:
29+
- Owner sees all current non-admin tools allowed by the current wireframe status model.
30+
- Designer focuses on Project Workspace, Game Design, Game Configuration, Objects, Worlds, Characters, Colors, and Assets.
31+
- World Builder focuses on Worlds, Objects, Assets, Colors, and Animations.
32+
- Artist focuses on Assets, Colors, Fonts, Sprites, Characters, Objects, and Animations.
33+
- Audio Creator focuses on Audio, Music, Voices, MIDI, Audio Effects, Voice Capture, Voice Output, and Assets.
34+
- Translator focuses on Languages, Voices, Voice Capture, and Voice Output.
35+
- Tester focuses on Game Testing, Controls, Hitboxes, Debug, Performance, and Events.
36+
- Publisher focuses on Publish, Marketplace, Community, Cloud, and Languages.
37+
- Viewer focuses on preview-safe read-only tiles.
38+
- Admin view still shows planned/admin-capable Toolbox entries.
39+
40+
Focused views include a callout explaining that unavailable tools are hidden by role focus, not by security enforcement.
41+
42+
## Validation
43+
44+
Covered by:
45+
- `npm run test:lane:project-workspace`
46+
- `npm run test:workspace-v2`
47+
48+
The targeted lane verifies:
49+
- Owner/user view still shows the current non-admin surface.
50+
- Designer view focuses expected tools.
51+
- Audio Creator view exposes expected media tools, including planned media capabilities.
52+
- Viewer view is reduced to preview-safe tiles.
53+
- Admin view still shows planned/admin-capable tools and Project Data controls.
54+
- No console errors.

0 commit comments

Comments
 (0)