Skip to content

Commit f841105

Browse files
committed
Rebuild Game Configuration with design handoff and validation - PR_26155_080-087-game-configuration-rebuild
1 parent fb05eab commit f841105

18 files changed

Lines changed: 1043 additions & 62 deletions
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Assets Ready Gate
2+
3+
PR: PR_26155_087-assets-ready-gate
4+
5+
## Summary
6+
- Assets can start after Game Configuration now provides:
7+
- SQL-shaped mock repository contract.
8+
- Valid Game Design handoff requirement.
9+
- Editable creator-facing configuration sections.
10+
- Visible actionable validation.
11+
- User-facing output with no raw JSON.
12+
- Targeted Game Configuration MSJ coverage.
13+
- Toolbox Progress/Build Path handoff copy that recommends Assets when configuration is ready.
14+
15+
## Gate Status
16+
- Status: READY FOR NEXT PR.
17+
- Next implementation target: Assets.
18+
- Assets implementation was not started in this bundle.
19+
20+
## Validation Notes
21+
- Impacted lane: `game-configuration`.
22+
- Manual notes: after completing all configuration sections, the page reports Ready and recommends Assets.
23+
- Skipped lanes were safe to skip because no shared runtime, DB, auth, cloud, engine, or navigation contract behavior changed.
24+
- Theme V2 gap findings: none.

docs_build/dev/reports/coverage_changed_js_guardrail.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ Missing changed runtime JS files are WARN, not FAIL.
66
Source: Playwright/Chromium built-in V8 coverage from the active Playwright run.
77

88
Changed runtime JS files considered:
9-
(89%) toolbox/tools-page-accordions.js - executed lines 1690/1690; executed functions 51/57
10-
(92%) toolbox/game-design/game-design-mock-repository.js - executed lines 310/310; executed functions 34/37
9+
(89%) toolbox/tools-page-accordions.js - executed lines 1692/1692; executed functions 51/57
10+
(94%) toolbox/game-configuration/game-configuration-mock-repository.js - executed lines 283/283; executed functions 31/33
11+
(100%) toolbox/game-configuration/game-configuration.js - executed lines 168/168; executed functions 18/18
1112
(100%) toolbox/game-design/game-design.js - executed lines 224/224; executed functions 21/21
1213

1314
Guardrail warnings:
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Game Configuration Output No JSON
2+
3+
PR: PR_26155_084-game-configuration-output-no-json
4+
5+
## Summary
6+
- Removed raw JSON/code output from the Game Configuration page.
7+
- Output now uses creator-facing summary fields only.
8+
- Internal repository/table payload is hidden from normal user-facing output.
9+
10+
## User-Facing Output Sections
11+
- Configuration Summary
12+
- Readiness Status
13+
- Missing Items
14+
- Next Step
15+
- Capability Demo
16+
17+
## Validation Notes
18+
- Targeted tests assert the Output panel contains no `pre` or `code` blocks.
19+
- Targeted tests assert raw payload strings such as `"gameBasics"` and `"updatedAt"` are not visible.
20+
- Impacted lane: `game-configuration`.
21+
- Skipped-lane rationale: output formatting changed only on Game Configuration.
22+
- Theme V2 gap findings: none.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Game Configuration Repository Contract
2+
3+
PR: PR_26155_080-game-configuration-repository-contract
4+
5+
## Summary
6+
- Added `toolbox/game-configuration/game-configuration-mock-repository.js`.
7+
- The repository is SQL-shaped and table-style, with `game_configuration_documents` and `game_configuration_validation_items` tables.
8+
- The UI consumes the repository abstraction through create/get/update/validate/reset methods by `projectId`.
9+
- No real database, auth, cloud, browser storage, or persistence behavior was added.
10+
11+
## Contract Methods
12+
- `createConfiguration(projectId, input)`
13+
- `getConfiguration(projectId)`
14+
- `updateConfiguration(projectId, input)`
15+
- `validateConfiguration(projectId, input)`
16+
- `resetConfiguration(projectId)`
17+
- `resetAll()`
18+
- `getGameDesignHandoff()`
19+
- `getProjectProgressHandoff()`
20+
- `getSnapshot()`
21+
- `getTables()`
22+
23+
## Validation Notes
24+
- Impacted lane: `game-configuration`.
25+
- Targeted Game Design handoff check: `GameDesignMockRepository.spec.mjs --grep "saves and updates design fields"`.
26+
- Skipped lanes: `workspace-contract`, `project-workspace`, `tool-runtime`, `game-runtime`, `integration`, `engine-src`, `samples`.
27+
- Skipped-lane rationale: this PR changes one Toolbox tool runtime, its repository abstraction, its targeted tests, and Game Configuration copy in the existing Toolbox renderer. Shared launch, parser, DB, engine, and sample behavior did not change.
28+
- Theme V2 gap findings: none.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Game Configuration Targeted MSJ Tests
2+
3+
PR: PR_26155_086-game-configuration-targeted-msj-tests
4+
5+
## Summary
6+
- Added `tests/playwright/tools/GameConfigurationMockRepository.spec.mjs`.
7+
- Added `test:lane:game-configuration` to `package.json`.
8+
- Added the `game-configuration` lane to `scripts/run-targeted-test-lanes.mjs`.
9+
10+
## Coverage
11+
- Valid Game Design handoff renders editable configuration.
12+
- Missing/invalid Game Design handoff shows overlay and blocks editable configuration.
13+
- Configuration fields save and update.
14+
- Required-section validation is visible and actionable.
15+
- Output shows no raw JSON.
16+
- Toolbox Progress and Build Path include Game Configuration handoff/readiness copy.
17+
18+
## Validation Notes
19+
- Targeted Game Design handoff check passed: 1 test.
20+
- Targeted Game Configuration lane passed: 4 tests.
21+
- `git diff --check` passed.
22+
- Static checks found no page-local CSS, inline handlers, browser storage, `imageDataUrl`, or manifest/schema wording on the Game Configuration page.
23+
- Skipped lanes: broad Project Workspace, workspace-contract, tool-runtime, games, samples, engine, and archive lanes.
24+
- Skipped-lane rationale: this is a scoped Game Configuration tool/page/test change.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Game Configuration Validation
2+
3+
PR: PR_26155_083-game-configuration-validation
4+
5+
## Summary
6+
- Added visible actionable validation for Game Configuration.
7+
- Validation depends on Project Purpose and Game Design handoff data.
8+
- Missing required sections block Build Game readiness.
9+
- Capability Demo projects do not require Audio Setup in the repository rules.
10+
11+
## Required Sections For Standard Game Projects
12+
- Game Basics
13+
- Game Rules
14+
- Player Setup
15+
- World Setup
16+
- Object Setup
17+
- Audio Setup
18+
- Test Readiness
19+
20+
## Validation Notes
21+
- Targeted Playwright verified partial configuration produces six missing items after only Game Basics is saved.
22+
- Output remains readable and recommends staying in Game Configuration until all required sections are complete.
23+
- Impacted lane: `game-configuration`.
24+
- Skipped lanes: non-dependent Toolbox, games, samples, engine, archive lanes.
25+
- Skipped-lane rationale: validation logic is local to Game Configuration repository/UI.
26+
- Theme V2 gap findings: none.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Game Configuration Wireframe To Runtime
2+
3+
PR: PR_26155_082-game-configuration-wireframe-to-runtime
4+
5+
## Summary
6+
- Converted `toolbox/game-configuration/index.html` from static wireframe content to external mock-runtime wiring.
7+
- Added `toolbox/game-configuration/game-configuration.js`.
8+
- Preserved Theme V2 template structure, including header, footer, ToolDisplayMode host, tool workspace, and left/center/right panels.
9+
- No page-local CSS, tool-local CSS, inline styles, style blocks, or inline event handlers were added.
10+
11+
## Creator-Facing Sections
12+
- Game Basics
13+
- Game Rules
14+
- Player Setup
15+
- World Setup
16+
- Object Setup
17+
- Audio Setup
18+
- Test Readiness
19+
20+
## Notes
21+
- Manifest/schema wording was not exposed in the user-facing Game Configuration page.
22+
- Mock runtime uses in-memory repository state only.
23+
24+
## Validation Notes
25+
- Syntax checks passed for Game Configuration JS and repository files.
26+
- Targeted lane passed: `game-configuration`.
27+
- Manual test notes: filled and saved all Game Configuration sections; verified output and status updates.
28+
- Theme V2 gap findings: none.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Game Design To Game Configuration Handoff
2+
3+
PR: PR_26155_081-game-design-to-configuration-handoff
4+
5+
## Summary
6+
- Game Configuration now requires a valid active Game Design handoff before editable configuration renders.
7+
- Missing project context or invalid Game Design data shows a missing-requirements overlay.
8+
- Invalid handoff state hides the editable configuration form so there is no partial editable render.
9+
10+
## Runtime Behavior
11+
- Default Game Configuration route seeds a valid demo Game Design handoff for the mock runtime.
12+
- `?handoff=missing` simulates missing Project Workspace context.
13+
- `?handoff=invalid` simulates an incomplete Game Design.
14+
- Blocked output recommends returning to Game Design.
15+
16+
## Validation Notes
17+
- Targeted checks covered valid, missing, and invalid handoff states.
18+
- Manual test notes: opened `toolbox/game-configuration/index.html`, `?handoff=missing`, and `?handoff=invalid`; verified overlay/form visibility and no console errors through Playwright.
19+
- Impacted lane: `game-configuration`.
20+
- Skipped lanes: unrelated active Toolbox, engine, games, samples, and archive lanes.
21+
- Skipped-lane rationale: only Game Configuration and its Game Design dependency handoff changed.
22+
- Theme V2 gap findings: none.

docs_build/dev/reports/playwright_structure_audit.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Playwright Structure Audit
22

3-
Generated: 2026-06-04T23:26:02.777Z
3+
Generated: 2026-06-04T23:49:07.652Z
44
Status: PASS
55

66
## Lane Directories
@@ -35,7 +35,7 @@ No blocking structural findings.
3535

3636
| File | Status | Missing Relative Imports |
3737
| --- | --- | --- |
38-
| tests/playwright/tools/GameDesignMockRepository.spec.mjs | PASS | none |
38+
| tests/playwright/tools/GameConfigurationMockRepository.spec.mjs | PASS | none |
3939
| tests/helpers/playwrightRepoServer.mjs | PASS | none |
4040
| tests/helpers/playwrightStorageIsolation.mjs | PASS | none |
4141
| tests/helpers/playwrightV8CoverageReporter.mjs | PASS | none |

docs_build/dev/reports/playwright_v8_coverage_report.txt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,34 @@ Note: entry percentages use function coverage when available, otherwise line cov
1212
Note: coverage entries are aggregated across every page/tool where coverageReporter.start(page) and coverageReporter.stop(page) ran.
1313

1414
Exercised tool entry points detected:
15-
(89%) Toolbox Index - exercised 4 runtime JS files
15+
(90%) Toolbox Index - exercised 6 runtime JS files
1616
(0%) Tool Template V2 - not exercised by this Playwright run
1717
(71%) Theme V2 Shared JS - exercised 2 runtime JS files
1818

1919
Changed runtime JS files covered:
20-
(89%) toolbox/tools-page-accordions.js - executed lines 1690/1690; executed functions 51/57
21-
(92%) toolbox/game-design/game-design-mock-repository.js - executed lines 310/310; executed functions 34/37
20+
(89%) toolbox/tools-page-accordions.js - executed lines 1692/1692; executed functions 51/57
21+
(94%) toolbox/game-configuration/game-configuration-mock-repository.js - executed lines 283/283; executed functions 31/33
22+
(100%) toolbox/game-configuration/game-configuration.js - executed lines 168/168; executed functions 18/18
2223
(100%) toolbox/game-design/game-design.js - executed lines 224/224; executed functions 21/21
2324

2425
Files with executed line/function counts where available:
2526
(55%) assets/theme-v2/js/tool-display-mode.js - executed lines 113/113; executed functions 6/11
26-
(79%) toolbox/project-workspace/project-workspace-mock-repository.js - executed lines 384/384; executed functions 26/33
27+
(76%) toolbox/project-workspace/project-workspace-mock-repository.js - executed lines 384/384; executed functions 25/33
2728
(80%) assets/theme-v2/js/gamefoundry-partials.js - executed lines 204/204; executed functions 16/20
28-
(89%) toolbox/tools-page-accordions.js - executed lines 1690/1690; executed functions 51/57
29+
(89%) toolbox/tools-page-accordions.js - executed lines 1692/1692; executed functions 51/57
2930
(92%) toolbox/game-design/game-design-mock-repository.js - executed lines 310/310; executed functions 34/37
31+
(94%) toolbox/game-configuration/game-configuration-mock-repository.js - executed lines 283/283; executed functions 31/33
32+
(100%) toolbox/game-configuration/game-configuration.js - executed lines 168/168; executed functions 18/18
3033
(100%) toolbox/game-design/game-design.js - executed lines 224/224; executed functions 21/21
3134

3235
Uncovered or low-coverage changed JS files:
3336
(100%) none - no low-coverage changed runtime JS files
3437

3538
Changed JS files considered:
3639
(0%) scripts/run-targeted-test-lanes.mjs - changed JS file not collected as browser runtime coverage
40+
(0%) tests/playwright/tools/GameConfigurationMockRepository.spec.mjs - changed JS file not collected as browser runtime coverage
3741
(0%) tests/playwright/tools/GameDesignMockRepository.spec.mjs - changed JS file not collected as browser runtime coverage
3842
(89%) toolbox/tools-page-accordions.js - changed JS file with browser V8 coverage
39-
(92%) toolbox/game-design/game-design-mock-repository.js - changed JS file with browser V8 coverage
43+
(94%) toolbox/game-configuration/game-configuration-mock-repository.js - changed JS file with browser V8 coverage
44+
(100%) toolbox/game-configuration/game-configuration.js - changed JS file with browser V8 coverage
4045
(100%) toolbox/game-design/game-design.js - changed JS file with browser V8 coverage

0 commit comments

Comments
 (0)