Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Commit 16011d8

Browse files
committed
Clean up Game Workspace rename and fix visible Game Control mappings - PR_26162_038-game-workspace-controls-cleanup
1 parent 929df2f commit 16011d8

12 files changed

Lines changed: 1047 additions & 107810 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# PR_26162_038-game-workspace-controls-cleanup
2+
3+
## Branch Validation
4+
- PASS: Current branch is `main`.
5+
- Expected branch: `main`.
6+
- Evidence: `git status --short --branch` returned `## main...origin/main` before edits.
7+
8+
## Requirement Checklist
9+
- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md` before implementation.
10+
- PASS: Stacked on the PR_26162_037 Game Workspace/Game Journey rename state already present in the repo.
11+
- PASS: Removed duplicate leftover `toolbox/project-workspace` JavaScript artifacts.
12+
- PASS: Kept `toolbox/project-workspace/index.html` only as an explicitly deprecated old-link shim to Game Workspace.
13+
- PASS: Audited remaining Project terminology and removed active PR_037 cleanup leftovers in Controls.
14+
- PASS: Renamed Controls game mapping persistence from dropped `projectId` writes to schema-backed `gameId` writes.
15+
- PASS: Preserved `projectId` only as a compatibility read fallback for existing legacy in-memory rows before normalization.
16+
- PASS: Reverted unrelated generated lane-report churn from `npm run test:workspace-v2`; retained only requested V8 coverage output.
17+
- PASS: Regenerated final search evidence from the actual repo tree.
18+
- PASS: Add Game Control visibly adds the full normalized game control set.
19+
- PASS: Mapping count updates to the visible row count.
20+
- PASS: Missing Game Control Mapping disappears after rows exist.
21+
- PASS: Common rows are enabled and alternate rows are disabled.
22+
- PASS: Rows display the requested columns: Enabled, Normalized Action Type, Usage Label, Input Family, D, H, U, DC, Drag, Axis, Object, State, Actions.
23+
- PASS: Devices list renders seven accessible device/input capability rows with `title` and `aria-label` help text from shared engine input capability descriptors.
24+
- PASS: Generic keyboard rows can be added and configured without binding to a physical user device.
25+
- PASS: Generic mouse rows can be added and configured without binding to a physical user device.
26+
- PASS: Account User Controls remains the physical user-specific mapping surface.
27+
- PASS: Controls continues to use `src/engine/input` contracts and does not implement local keyboard/mouse/gamepad polling.
28+
- PASS: No sample JSON, auth, production DB, or unrelated runtime changes were added.
29+
- PASS: Required Playwright coverage was added/updated.
30+
- PASS: Required V8 coverage report was produced at `docs_build/dev/reports/playwright_v8_coverage_report.txt`.
31+
32+
## Final Search Evidence
33+
- PASS: `rg -n "Project Workspace|Project Journey|Project Progress|Project Status|Project Identity|Project Build Path" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:55`, a negative assertion that the deprecated page does not display Project Workspace.
34+
- PASS: `rg -n "project-workspace|project-journey" toolbox src/dev-runtime assets/theme-v2 tests/playwright package.json scripts -g "!docs_build/dev/reports/**"` returns only `tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs:50`, the intentional deprecated route validation.
35+
- PASS: `Get-ChildItem -Recurse toolbox/project-workspace -File` returns only `toolbox/project-workspace/index.html`.
36+
- PASS: `Get-ChildItem -Recurse toolbox/project-journey -File` returns no files.
37+
- PASS: `rg -n "project-owned|Project" toolbox/controls toolbox/game-workspace toolbox/game-journey src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js tests/playwright/tools/InputMappingV2Tool.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs -g "!docs_build/dev/reports/**"` returns only the test negative assertion for Project Workspace.
38+
- PASS with documented compatibility: `rg -n "projectId" src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` returns compatibility fallback reads only. New Controls game input and custom action rows persist with `gameId`.
39+
- DOCUMENTED: Broader `Project` hits remain in unrelated palette/assets compatibility surfaces such as Project Swatches, Project Assets, and `ownerProjectId`. They were not renamed in this Controls cleanup PR because they are outside the PR_037 old/new workflow mappings and would require a separate palette/assets rename PR.
40+
41+
## Changed Files
42+
-`docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md`
43+
-`docs_build/dev/reports/codex_changed_files.txt`
44+
-`docs_build/dev/reports/codex_review.diff`
45+
-`docs_build/dev/reports/playwright_v8_coverage_report.txt`
46+
-`src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
47+
-`tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
48+
-`tests/playwright/tools/InputMappingV2Tool.spec.mjs`
49+
-`toolbox/controls/controls.js`
50+
-`toolbox/controls/index.html`
51+
-`toolbox/project-workspace/index.html`
52+
-`toolbox/project-workspace/project-workspace-api-client.js` deleted
53+
-`toolbox/project-workspace/project-workspace.js` deleted
54+
55+
## Impacted Lanes
56+
- Controls tool runtime lane.
57+
- Controls shared DB/mock adapter lane.
58+
- Game Workspace/Game Journey route cleanup lane.
59+
- Workspace contract lane through required `npm run test:workspace-v2`.
60+
- Playwright impacted: Yes.
61+
62+
## Skipped Lanes
63+
- Engine input lane: SKIPPED because no `src/engine/input` files changed. Existing shared input service usage was validated by Playwright source checks and runtime coverage.
64+
- Samples lane: SKIPPED because no samples or sample JSON were changed, and the request explicitly scoped cleanup to Game Workspace route cleanup and Controls behavior.
65+
- Full samples smoke: SKIPPED for the same reason.
66+
67+
## Samples Validation Decision
68+
- SKIP: No sample JSON alignment, sample launch behavior, or samples smoke was in scope.
69+
70+
## Validation Performed
71+
- PASS: `node --check toolbox/controls/controls.js`
72+
- PASS: `node --check src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js`
73+
- PASS: `node --check tests/playwright/tools/InputMappingV2Tool.spec.mjs`
74+
- PASS: `node --check tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs`
75+
- PASS: `npx playwright test tests/playwright/tools/InputMappingV2Tool.spec.mjs --reporter=line` - 7 passed.
76+
- PASS: `npx playwright test tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs --reporter=line` - 21 passed.
77+
- PASS: `npm run test:workspace-v2` - workspace-contract lane passed, 5 passed.
78+
- PASS: Final targeted Controls Playwright run regenerated V8 coverage after workspace-v2.
79+
80+
## Playwright Result
81+
- PASS: Controls/Input Mapping Playwright coverage validates visible Add Game Control rows, mapping counts, missing-state removal, common/alternate enabled state, device help text, generic Keyboard/Mouse row creation and editing, persistence, and shared engine input ownership.
82+
- PASS: Game Workspace/Game Journey Playwright coverage validates active Game Workspace and Game Journey routes, deprecated project-workspace old-link guidance, route registration, and route handoff.
83+
84+
## V8 Coverage
85+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced from Playwright V8 coverage.
86+
- PASS: `toolbox/controls/controls.js` collected at 83 percent advisory coverage in the final targeted Controls run.
87+
- WARN: `src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js` is server/dev-runtime code and is not collected by browser V8 coverage. It is covered by the Controls Playwright behavior that writes and reads the shared mock DB adapter.
88+
89+
## Manual Validation Steps
90+
1. Open `/toolbox/controls/index.html`.
91+
2. Confirm the Controls lede and Devices guidance use game-owned wording.
92+
3. Click `Add Game Control`.
93+
4. Confirm 24 normalized rows are visible, `Mappings` shows 24, and `Missing Game Control Mapping` is gone.
94+
5. Confirm common rows such as `action.primary` are enabled and Active, while alternate rows such as `aim.x+` are disabled.
95+
6. Hover or inspect the Devices list and confirm seven device/input capability rows expose `title` and `aria-label` help text.
96+
7. Click `Add Keyboard Control`, edit a row, save, and confirm the row persists through the shared mock DB.
97+
8. Click `Add Mouse Control` and confirm Mouse rows are visible and persist.
98+
9. Open `/toolbox/project-workspace/index.html` and confirm it displays Game Workspace old-link guidance without Project Workspace user-facing copy.
99+
10. Open `/toolbox/game-workspace/index.html` and `/toolbox/game-journey/index.html` from active navigation and confirm both routes resolve.
100+
101+
## Notes
102+
-`npm run test:workspace-v2` is a legacy command name retained by repo scripts. It was required by the request and passed.
103+
- No package/script behavior changes were made.
104+
- No active navigation points to old project-workspace or project-journey paths.
105+
- No old project mock repositories are active.
106+
- No broken imports from deleted project-workspace JavaScript artifacts remain.
Lines changed: 12 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
M assets/theme-v2/css/colors.css
2-
M assets/theme-v2/css/gamefoundrystudio.css
3-
M assets/theme-v2/js/account-achievements.js
4-
M assets/theme-v2/js/gamefoundry-partials.js
5-
M assets/theme-v2/partials/header-nav.html
6-
M docs_build/dev/reports/codex_changed_files.txt
7-
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
8-
M docs_build/dev/reports/dependency_gating_report.md
9-
M docs_build/dev/reports/dependency_hydration_reuse_report.md
10-
M docs_build/dev/reports/execution_graph_reuse_report.md
11-
M docs_build/dev/reports/failure_fingerprint_report.md
12-
M docs_build/dev/reports/filesystem_scan_reduction_report.md
13-
M docs_build/dev/reports/incremental_validation_report.md
14-
M docs_build/dev/reports/lane_compilation_report.md
15-
M docs_build/dev/reports/lane_deduplication_report.md
16-
M docs_build/dev/reports/lane_input_validation_report.md
17-
M docs_build/dev/reports/lane_manifests/workspace-contract.json
18-
M docs_build/dev/reports/lane_runtime_optimization_report.md
19-
M docs_build/dev/reports/lane_snapshot_report.md
20-
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
21-
M docs_build/dev/reports/lane_warm_start_report.md
22-
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
23-
M docs_build/dev/reports/monolith_trigger_removal_report.md
24-
M docs_build/dev/reports/persistent_lane_manifest_report.md
25-
M docs_build/dev/reports/playwright_discovery_ownership_report.md
26-
M docs_build/dev/reports/playwright_discovery_scope_report.md
27-
M docs_build/dev/reports/playwright_structure_audit.md
28-
M docs_build/dev/reports/playwright_v8_coverage_report.txt
29-
M docs_build/dev/reports/retry_suppression_report.md
30-
M docs_build/dev/reports/slow_path_pruning_report.md
31-
M docs_build/dev/reports/static_validation_report.md
32-
M docs_build/dev/reports/targeted_file_manifest_report.md
33-
M docs_build/dev/reports/test_cleanup_performance_report.md
34-
M docs_build/dev/reports/test_cleanup_routing_report.md
35-
M docs_build/dev/reports/testing_lane_execution_report.md
36-
M docs_build/dev/reports/validation_cache_report.md
37-
M docs_build/dev/reports/zero_browser_preflight_report.md
38-
R074 learn/project-workspace/index.html learn/game-workspace/index.html
39-
M learn/getting-started/index.html
40-
M learn/index.html
41-
M package.json
42-
M scripts/run-targeted-test-lanes.mjs
43-
M scripts/validate-active-tools-surface.mjs
44-
M src/dev-runtime/admin/header-nav.local.html
45-
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
46-
M src/dev-runtime/guest-seeds/tool-state-samples.js
47-
M src/dev-runtime/persistence/mock-db-store.js
48-
M src/dev-runtime/persistence/tool-repositories/assets-mock-repository.js
49-
M src/dev-runtime/persistence/tool-repositories/game-configuration-mock-repository.js
50-
M src/dev-runtime/persistence/tool-repositories/game-design-mock-repository.js
51-
R064 src/dev-runtime/persistence/tool-repositories/project-journey-mock-repository.js src/dev-runtime/persistence/tool-repositories/game-journey-mock-repository.js
52-
A src/dev-runtime/persistence/tool-repositories/game-workspace-mock-repository.js
53-
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
54-
M src/dev-runtime/persistence/tool-repositories/objects-mock-repository.js
55-
M src/dev-runtime/persistence/tool-repositories/palette-workspace-repository.js
56-
D src/dev-runtime/persistence/tool-repositories/project-workspace-mock-repository.js
57-
M src/dev-runtime/server/mock-api-router.mjs
58-
M tests/dev-runtime/DevRuntimeBoundary.test.mjs
59-
M tests/playwright/account/AchievementsPage.spec.mjs
60-
M tests/playwright/tools/AdminDbViewer.spec.mjs
61-
M tests/playwright/tools/AssetToolMockRepository.spec.mjs
62-
M tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
63-
M tests/playwright/tools/GameConfigurationMockRepository.spec.mjs
64-
M tests/playwright/tools/GameDesignMockRepository.spec.mjs
65-
R087 tests/playwright/tools/ProjectJourneyTool.spec.mjs tests/playwright/tools/GameJourneyTool.spec.mjs
66-
R077 tests/playwright/tools/ProjectWorkspaceMockRepository.spec.mjs tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
67-
M tests/playwright/tools/LoginSessionMode.spec.mjs
68-
M tests/playwright/tools/PaletteToolMockRepository.spec.mjs
69-
M tests/playwright/tools/RootToolsFutureState.spec.mjs
70-
M tests/playwright/tools/ToolDisplayModeNavigation.spec.mjs
71-
M tests/playwright/tools/ToolImageRegistry.spec.mjs
72-
M tests/playwright/tools/ToolNavigationPrevNext.spec.mjs
73-
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
74-
M tests/playwright/tools/ToolboxRoutePages.spec.mjs
75-
M toolbox/ai-assistant/index.html
76-
M toolbox/code/index.html
77-
M toolbox/colors/colors.js
78-
M toolbox/colors/index.html
79-
M toolbox/colors/palette-api-client.js
80-
M toolbox/controls/controls.js
81-
M toolbox/game-configuration/game-configuration.js
82-
M toolbox/game-configuration/index.html
83-
M toolbox/game-design/game-design.js
84-
M toolbox/game-design/index.html
85-
A toolbox/game-journey/game-journey-api-client.js
86-
R090 toolbox/project-journey/project-journey.js toolbox/game-journey/game-journey.js
87-
R092 toolbox/project-journey/index.html toolbox/game-journey/index.html
88-
M toolbox/game-workspace/game-workspace-api-client.js
89-
M toolbox/game-workspace/game-workspace.js
90-
M toolbox/game-workspace/index.html
91-
M toolbox/midi/index.html
92-
M toolbox/particles/index.html
93-
D toolbox/project-journey/project-journey-api-client.js
94-
M toolbox/project-workspace/project-workspace-api-client.js
95-
M toolbox/publish/index.html
96-
M toolbox/saved-data/index.html
97-
M toolbox/toolRegistry.js
98-
M toolbox/tools-page-accordions.js
99-
A assets/theme-v2/images/badges/game-workspace-1024.png
100-
A assets/theme-v2/images/badges/game-workspace.png
101-
A assets/theme-v2/images/tools/game-workspace-1024.png
102-
A assets/theme-v2/images/tools/game-workspace.png
103-
A docs_build/dev/reports/PR_26162_037-game-workspace-journey-deep-rename.md
104-
A docs_build/dev/reports/codex_review.diff
105-
A docs_build/dev/reports/codex_changed_files.txt
1+
M docs_build/dev/reports/codex_changed_files.txt
2+
M docs_build/dev/reports/codex_review.diff
3+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
4+
M src/dev-runtime/persistence/tool-repositories/input-mapping-mock-repository.js
5+
M tests/playwright/tools/GameWorkspaceMockRepository.spec.mjs
6+
M tests/playwright/tools/InputMappingV2Tool.spec.mjs
7+
M toolbox/controls/controls.js
8+
M toolbox/controls/index.html
9+
M toolbox/project-workspace/index.html
10+
D toolbox/project-workspace/project-workspace-api-client.js
11+
D toolbox/project-workspace/project-workspace.js
12+
?? docs_build/dev/reports/PR_26162_038-game-workspace-controls-cleanup.md

0 commit comments

Comments
 (0)