Skip to content

Commit 3948507

Browse files
committed
Rebuild Objects as the next MVP-path beta tool - PR_26161_001-objects-beta-rebuild
1 parent 4106bbe commit 3948507

11 files changed

Lines changed: 855 additions & 58 deletions
Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
1-
docs_build/dev/PROJECT_INSTRUCTIONS.md
2-
docs_build/dev/reports/codex_changed_files.txt
3-
docs_build/dev/reports/codex_review.diff
4-
docs_build/dev/reports/coverage_changed_js_guardrail.txt
5-
docs_build/dev/reports/mvp-path-validation-and-status-alignment-report.md
6-
docs_build/dev/reports/playwright_v8_coverage_report.txt
7-
src/dev-runtime/guest-seeds/tool-metadata-inventory.js
8-
src/dev-runtime/server/mock-api-router.mjs
9-
tests/playwright/tools/BuildPathProgressSimplification.spec.mjs
10-
tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
11-
tests/playwright/tools/ToolboxRoutePages.spec.mjs
12-
toolbox/toolRegistry.js
13-
toolbox/tools-page-accordions.js
1+
# git status --short
2+
M docs_build/dev/reports/codex_changed_files.txt
3+
M docs_build/dev/reports/codex_review.diff
4+
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
5+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
6+
M src/dev-runtime/guest-seeds/tool-metadata-inventory.js
7+
M tests/playwright/tools/RootToolsFutureState.spec.mjs
8+
M tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs
9+
M toolbox/objects/index.html
10+
?? docs_build/dev/reports/objects-beta-rebuild-report.md
11+
?? tests/playwright/tools/ObjectsTool.spec.mjs
12+
?? toolbox/objects/objects.js
13+
14+
# git ls-files --others --exclude-standard
15+
docs_build/dev/reports/objects-beta-rebuild-report.md
16+
tests/playwright/tools/ObjectsTool.spec.mjs
17+
toolbox/objects/objects.js
18+
19+
# git diff --stat
20+
docs_build/dev/reports/codex_changed_files.txt | 35 +++--
21+
docs_build/dev/reports/codex_review.diff | Bin 101630 -> 49857 bytes
22+
.../dev/reports/coverage_changed_js_guardrail.txt | 6 +-
23+
.../dev/reports/playwright_v8_coverage_report.txt | 19 +--
24+
.../guest-seeds/tool-metadata-inventory.js | 24 +--
25+
.../playwright/tools/RootToolsFutureState.spec.mjs | 14 +-
26+
.../tools/ToolboxAdminMetadataSsot.spec.mjs | 10 +-
27+
toolbox/objects/index.html | 174 ++++++++++++++++++++-
28+
8 files changed, 224 insertions(+), 58 deletions(-)
-43.7 KB
Binary file not shown.

docs_build/dev/reports/coverage_changed_js_guardrail.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@ Source: Playwright/Chromium built-in V8 coverage from the active Playwright run.
77

88
Changed runtime JS files considered:
99
(0%) src/dev-runtime/guest-seeds/tool-metadata-inventory.js - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
10-
(0%) src/dev-runtime/server/mock-api-router.mjs - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
11-
(0%) toolbox/toolRegistry.js - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
12-
(84%) toolbox/tools-page-accordions.js - executed lines 965/965; executed functions 92/109
10+
(95%) toolbox/objects/objects.js - executed lines 365/365; executed functions 38/40
1311

1412
Guardrail warnings:
1513
(0%) src/dev-runtime/guest-seeds/tool-metadata-inventory.js - WARNING: changed runtime JS file missing from coverage; advisory only
16-
(0%) src/dev-runtime/server/mock-api-router.mjs - WARNING: changed runtime JS file missing from coverage; advisory only
17-
(0%) toolbox/toolRegistry.js - WARNING: changed runtime JS file missing from coverage; advisory only
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Objects Beta Rebuild Report
2+
3+
PR: PR_26161_001-objects-beta-rebuild
4+
5+
## Branch Guard
6+
7+
- Current branch: `main`
8+
- Expected branch: `main`
9+
- Local branches found: `main`
10+
- Branch validation: PASS
11+
12+
## Source Of Truth
13+
14+
- `docs_build/dev/PROJECT_INSTRUCTIONS.md` was read before execution.
15+
- Named BUILD folder/file `docs_build/pr/PR_26161_001-objects-beta-rebuild/BUILD_PR.md` was not present.
16+
- `docs_build/pr/BUILD_PR.md` was stale and unrelated (`BUILD_PR_LEVEL_18_1_OVERLAY_RUNTIME_HARDENING`).
17+
- Execution used the user-provided structured PR block as the active BUILD source of truth.
18+
19+
## Scope
20+
21+
Impacted lane: tool-runtime plus Toolbox/Admin metadata.
22+
23+
Files changed:
24+
25+
- `toolbox/objects/index.html`
26+
- `toolbox/objects/objects.js`
27+
- `src/dev-runtime/guest-seeds/tool-metadata-inventory.js`
28+
- `tests/playwright/tools/ObjectsTool.spec.mjs`
29+
- `tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs`
30+
- `tests/playwright/tools/RootToolsFutureState.spec.mjs`
31+
- `docs_build/dev/reports/playwright_v8_coverage_report.txt`
32+
- `docs_build/dev/reports/coverage_changed_js_guardrail.txt`
33+
- `docs_build/dev/reports/codex_review.diff`
34+
- `docs_build/dev/reports/codex_changed_files.txt`
35+
- `docs_build/dev/reports/objects-beta-rebuild-report.md`
36+
37+
## Requirement Checklist
38+
39+
- PASS: Rebuilt `toolbox/objects` as a Tool Template V2-style first-class surface with header, Tool Display Mode host, left setup panel, center workspace, right output/validation/status panels, and working accordions.
40+
- PASS: Used Theme V2 only. No inline CSS, no inline JS, no `<style>` blocks, no inline event handlers.
41+
- PASS: Added an external Objects module with in-memory-only object setup behavior.
42+
- PASS: Kept the tool focused on the paddle + ball MVP path with a seeded Dynamic paddle, Dynamic ball, and Static boundary.
43+
- PASS: Added object type basics for Static, Dynamic, Collectible, Hazard, and Goal.
44+
- PASS: Added visible output, status logging, MVP requirement rows, and actionable validation diagnostics.
45+
- PASS: Added no persistence, save/load, auth, sample JSON alignment, or engine runtime behavior.
46+
- PASS: Updated DB-backed tool metadata only after targeted Objects Playwright passed.
47+
- PASS: Marked Objects beta after execution evidence and targeted validation passed.
48+
49+
## Validation
50+
51+
Changed-file syntax checks:
52+
53+
- PASS: `node --check toolbox/objects/objects.js`
54+
- PASS: `node --check src/dev-runtime/guest-seeds/tool-metadata-inventory.js`
55+
- PASS: `node --check tests/playwright/tools/ObjectsTool.spec.mjs`
56+
- PASS: `node --check tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs`
57+
- PASS: `node --check tests/playwright/tools/RootToolsFutureState.spec.mjs`
58+
- PASS: no inline style/script/event-handler matches in `toolbox/objects/index.html`
59+
- PASS: `git diff --check`
60+
61+
Targeted Playwright:
62+
63+
- PASS: `node node_modules/@playwright/test/cli.js test tests/playwright/tools/ObjectsTool.spec.mjs tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs --project=playwright --workers=1 --reporter=list`
64+
- Result: 6 passed
65+
66+
Coverage:
67+
68+
- PASS: `docs_build/dev/reports/playwright_v8_coverage_report.txt` produced by Playwright V8 coverage.
69+
- Objects runtime coverage: `(95%) toolbox/objects/objects.js - executed lines 365/365; executed functions 38/40`
70+
- WARN: `src/dev-runtime/guest-seeds/tool-metadata-inventory.js` is changed runtime-classified JS but is server/dev-runtime metadata, so browser V8 did not collect it. This is advisory per project instructions.
71+
72+
## Skipped Lanes
73+
74+
- SKIP: full samples validation. Safe to skip because no sample JSON, sample loader, shared sample framework, or engine runtime behavior changed.
75+
- SKIP: engine lane. Safe to skip because no `src/engine` behavior or engine runtime contract changed.
76+
- SKIP: broad toolbox route sweep. Safe to skip because targeted Objects coverage plus Toolbox/Admin metadata coverage exercised the changed tool surface and metadata contract.
77+
- SKIP: `toolbox/workspace-manager-v2` registration. Safe to skip because that folder does not exist in this checkout; Objects was already registered through current header navigation and DB-backed toolbox metadata route contracts.
78+
79+
## Manual Notes
80+
81+
- Objects page launches from `toolbox/objects/index.html`.
82+
- Seed Paddle + Ball creates three in-memory rows and validates the MVP path.
83+
- Add Object blocks missing fields and invalid Paddle/Ball/Boundary type combinations with actionable diagnostics.
84+
- Reset/remove actions affect only the in-memory page draft.

docs_build/dev/reports/playwright_v8_coverage_report.txt

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

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

1919
Changed runtime JS files covered:
2020
(0%) src/dev-runtime/guest-seeds/tool-metadata-inventory.js - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
21-
(0%) src/dev-runtime/server/mock-api-router.mjs - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
22-
(0%) toolbox/toolRegistry.js - WARNING: changed runtime JS file was not collected by Playwright V8 coverage; advisory only
23-
(84%) toolbox/tools-page-accordions.js - executed lines 965/965; executed functions 92/109
21+
(95%) toolbox/objects/objects.js - executed lines 365/365; executed functions 38/40
2422

2523
Files with executed line/function counts where available:
2624
(38%) src/engine/api/session-api-client.js - executed lines 34/34; executed functions 3/8
2725
(50%) src/engine/api/toolbox-votes-api-client.js - executed lines 46/46; executed functions 3/6
2826
(53%) src/engine/api/server-api-client.js - executed lines 159/159; executed functions 10/19
2927
(64%) assets/theme-v2/js/tool-display-mode.js - executed lines 209/209; executed functions 9/14
30-
(64%) toolbox/tool-registry-api-client.js - executed lines 152/152; executed functions 16/25
3128
(77%) assets/theme-v2/js/gamefoundry-partials.js - executed lines 603/603; executed functions 43/56
3229
(78%) admin/tool-votes.js - executed lines 406/406; executed functions 43/55
3330
(84%) toolbox/tools-page-accordions.js - executed lines 965/965; executed functions 92/109
31+
(89%) toolbox/tool-registry-api-client.js - executed lines 152/152; executed functions 25/28
32+
(95%) toolbox/objects/objects.js - executed lines 365/365; executed functions 38/40
3433
(100%) toolbox/project-workspace/project-workspace-api-client.js - executed lines 12/12; executed functions 2/2
3534

3635
Uncovered or low-coverage changed JS files:
3736
(0%) src/dev-runtime/guest-seeds/tool-metadata-inventory.js - WARNING: uncovered changed runtime JS file; advisory only
38-
(0%) src/dev-runtime/server/mock-api-router.mjs - WARNING: uncovered changed runtime JS file; advisory only
39-
(0%) toolbox/toolRegistry.js - WARNING: uncovered changed runtime JS file; advisory only
4037

4138
Changed JS files considered:
4239
(0%) src/dev-runtime/guest-seeds/tool-metadata-inventory.js - changed JS file not collected as browser runtime coverage
43-
(0%) src/dev-runtime/server/mock-api-router.mjs - changed JS file not collected as browser runtime coverage
44-
(0%) tests/playwright/tools/BuildPathProgressSimplification.spec.mjs - changed JS file not collected as browser runtime coverage
40+
(0%) tests/playwright/tools/ObjectsTool.spec.mjs - changed JS file not collected as browser runtime coverage
41+
(0%) tests/playwright/tools/RootToolsFutureState.spec.mjs - changed JS file not collected as browser runtime coverage
4542
(0%) tests/playwright/tools/ToolboxAdminMetadataSsot.spec.mjs - changed JS file not collected as browser runtime coverage
46-
(0%) tests/playwright/tools/ToolboxRoutePages.spec.mjs - changed JS file not collected as browser runtime coverage
47-
(0%) toolbox/toolRegistry.js - changed JS file not collected as browser runtime coverage
48-
(84%) toolbox/tools-page-accordions.js - changed JS file with browser V8 coverage
43+
(95%) toolbox/objects/objects.js - changed JS file with browser V8 coverage

src/dev-runtime/guest-seeds/tool-metadata-inventory.js

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -410,14 +410,14 @@ export const TOOL_REGISTRY = Object.freeze([
410410
"id": "objects",
411411
"name": "Objects",
412412
"displayName": "Objects",
413-
"shortDescription": "Design reusable game objects and object-ready assets.",
413+
"shortDescription": "Define static and dynamic game object setup for the paddle and ball MVP path.",
414414
"shortLabel": "Objects",
415415
"path": "objects",
416416
"folderName": "objects",
417417
"entryPoint": "objects/index.html",
418418
"badge": "/assets/theme-v2/images/badges/objects.png",
419419
"tool": "/assets/theme-v2/images/tools/objects.png",
420-
"description": "Design reusable game objects and object-ready assets.",
420+
"description": "Define static and dynamic game object setup for the paddle and ball MVP path.",
421421
"category": "Design",
422422
"colorGroup": "tool-group-design",
423423
"active": true,
@@ -426,23 +426,25 @@ export const TOOL_REGISTRY = Object.freeze([
426426
"requiredForTestable": true,
427427
"requiredForPublish": true,
428428
"requires": [],
429-
"status": "Wireframe",
429+
"status": "Ready",
430+
"releaseChannel": "beta",
430431
"progressChecklist": [
431-
"Review readiness",
432-
"Static planned text only"
432+
"Tool Template V2 shell adapted",
433+
"Paddle + ball MVP seed validates",
434+
"Actionable validation diagnostics available"
433435
],
434436
"deferred": false,
435437
"hidden": false,
436438
"adminOnly": false,
437439
"visibleInToolsList": true,
438440
"toolboxGroup": "Create",
439-
"capabilityLabel": "Planned object types",
441+
"capabilityLabel": "MVP object types",
440442
"childCapabilities": [
441-
"Vector",
442-
"Sprite",
443-
"Character",
444-
"Enemy",
445-
"Interactive"
443+
"Static",
444+
"Dynamic",
445+
"Collectible",
446+
"Hazard",
447+
"Goal"
446448
]
447449
},
448450
{

0 commit comments

Comments
 (0)