Skip to content

Commit 490469e

Browse files
committed
Complete root Tools parity against approved GameFoundryStudio sources - PR_26152_058-root-tools-parity-completion
1 parent aa55070 commit 490469e

11 files changed

Lines changed: 1426 additions & 1 deletion
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# PR_26152_058 Root Tools Parity Completion Validation
2+
3+
## Scope
4+
- Read docs/dev/PROJECT_INSTRUCTIONS.md before implementation.
5+
- Limited implementation to root /tools/** and /tools/index.html.
6+
- Did not change CSS or Theme V2 CSS.
7+
- Did not migrate Admin, Account, Company, Games, or Samples.
8+
- Did not change GameFoundryStudio source files.
9+
- No inline style/script/event handlers were added.
10+
11+
## Root parity work completed
12+
Created root copies for the current approved GameFoundryStudio/tools source pages:
13+
- tools/builder.html from GameFoundryStudio/tools/builder.html
14+
- tools/creator.html from GameFoundryStudio/tools/creator.html
15+
- tools/game-builder.html from GameFoundryStudio/tools/game-builder.html
16+
- tools/game-design-studio.html from GameFoundryStudio/tools/game-design-studio.html
17+
- tools/publisher.html from GameFoundryStudio/tools/publisher.html
18+
- tools/world-vector-studio.html from GameFoundryStudio/tools/world-vector-studio.html
19+
- tools/groups/configuration-admin.html from GameFoundryStudio/tools/groups/configuration-admin.html
20+
- tools/localization-studio/index.html from GameFoundryStudio/tools/localization-studio/index.html
21+
22+
Path-only fixes applied to root copies:
23+
- Added root base hrefs pointing at GameFoundryStudio for assets and partials.
24+
- Converted GameFoundryStudio asset references so CSS, JS, partials, images, badges/icons, and character images resolve from root pages.
25+
- Replaced missing forge-bot.png references with existing assets/images/forge-bot-single.png.
26+
- Added display-mode badge/icon metadata where the approved source had a display-mode slot and root loading needed explicit asset roots.
27+
- Kept Localization Studio local CSS/JS loading from the approved GameFoundryStudio/tools/localization-studio support files without copying or changing CSS.
28+
29+
Tools index completion:
30+
- Added tools/tools-page-accordions.js as the root Tools Index support script copied from the approved GameFoundryStudio accordion behavior with root tool href fixes.
31+
- Updated tools/index.html to load ../tools/tools-page-accordions.js.
32+
- Preserved grouping, sorting, tile images, badge object paths, descriptions, group colors, and card outlines.
33+
- Fixed tool card action labels so root /tools links read Open Tool.
34+
35+
## Static parity validation
36+
PASS - Compared all 8 current approved GameFoundryStudio/tools source HTML pages against their root copies after only the documented root-path transforms.
37+
PASS - No static parity mismatches were found.
38+
PASS - Generated root files have no trailing whitespace and include final newlines.
39+
PASS - Targeted inline restriction scan found no <style> blocks, inline script blocks, inline event handlers, inline style attributes, or imageDataUrl references in changed root Tools files.
40+
PASS - git status --short -- "*.css" returned no CSS files.
41+
PASS - git status --short -- GameFoundryStudio admin Admin account Account company Company games Games samples Samples index.html returned no files.
42+
PASS - git diff --check -- tools/index.html passed. Git reported the existing line-ending normalization warning only.
43+
44+
## Targeted browser validation
45+
Command: inline Node static server plus Playwright Chromium targeted to root Tools pages only.
46+
47+
/tools/index.html:
48+
PASS - Rendered 18 tool cards.
49+
PASS - Loaded 18 tile images.
50+
PASS - Rendered 18 badge object paths.
51+
PASS - Initial A-Z ordering began with AI Assistant, Animation Studio, Arcade, Asset Studio, Code Studio.
52+
PASS - Grouped mode rendered 9 group accordions and 18 cards.
53+
PASS - Order control returned the list to A-Z sorting.
54+
PASS - Card outlines retained group-colored 5px left borders.
55+
PASS - All 16 tool card links that should target root tools resolved to /tools/** pages.
56+
PASS - Root tool card action labels read Open Tool.
57+
PASS - No browser console errors, page errors, 404s, or 403s were detected.
58+
59+
Direct root page validation:
60+
PASS - Opened and validated 19 root public tool pages: the 8 new current-source parity pages plus the 11 existing root public tool pages.
61+
PASS - Each page loaded its center image.
62+
PASS - Each page preserved center column header text from the approved/root source.
63+
PASS - Each page preserved left and right tool columns and vertical accordions.
64+
PASS - Accordion controls closed and reopened on every page.
65+
PASS - Display-mode pages loaded badge and character images.
66+
PASS - Builder and Creator correctly preserved the approved source behavior with no display-mode slot.
67+
PASS - Localization Studio loaded approved GameFoundryStudio localization stylesheet and script paths without copying or changing CSS/JS behavior.
68+
PASS - No browser console errors, page errors, 404s, or 403s were detected.
69+
70+
Validated root pages:
71+
- /tools/ai-assistant.html
72+
- /tools/animation-studio.html
73+
- /tools/asset-studio.html
74+
- /tools/builder.html
75+
- /tools/code-studio.html
76+
- /tools/creator.html
77+
- /tools/game-builder.html
78+
- /tools/game-design-studio.html
79+
- /tools/input-studio.html
80+
- /tools/midi-studio.html
81+
- /tools/object-vector-studio.html
82+
- /tools/palette-manager.html
83+
- /tools/particle-studio.html
84+
- /tools/publisher.html
85+
- /tools/sound-studio.html
86+
- /tools/storage-inspector.html
87+
- /tools/world-vector-studio.html
88+
- /tools/groups/configuration-admin.html
89+
- /tools/localization-studio/index.html
90+
91+
## Scope validation
92+
PASS - Changed files are limited to root /tools/** plus required reports.
93+
PASS - No CSS files changed or were added.
94+
PASS - No Theme V2 CSS changed.
95+
PASS - No Admin, Account, Company, Games, Samples, root index, or GameFoundryStudio files changed.
96+
97+
## Lanes
98+
Executed:
99+
- runtime/browser validation for affected root Tools surfaces because links, generated cards, images, badges, accordions, and root page loading were restored.
100+
- contract/static validation for source parity and path-reference checks.
101+
102+
Skipped:
103+
- engine, integration, samples, and recovery/UAT because no engine/runtime first-class shell, workspace handoff, samples, or broader recovery behavior changed.
104+
105+
## Playwright Impact
106+
Playwright impacted: Yes for root Tools UI rendering/link behavior only. Targeted Playwright browser validation passed for /tools/index.html and affected root public tool pages. npm run test:workspace-v2 was not run because the PR explicitly restricts validation to root Tools and does not change Workspace V2/toolState behavior.
107+
108+
## Samples Decision
109+
SKIP - No sample files or sample runtime behavior changed.
110+
111+
## Tests intentionally not run
112+
- No repo-wide tests were run.
113+
- No tests outside root Tools/GameFoundryStudio paths were run.
114+
- No Admin, Account, Company, Games, Samples, or root index validation was run beyond static no-change checks.

tools/builder.html

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<base href="../GameFoundryStudio/">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Tool Builder - Game Foundry Studio</title>
9+
<meta name="description" content="Game Foundry Studio Tool Builder layout.">
10+
<link rel="icon" href="assets/images/favicon.svg" type="image/svg+xml">
11+
<link rel="stylesheet" href="assets/css/styles.css">
12+
</head>
13+
14+
<body class="meaning-molten-orange">
15+
<div data-partial="header-nav"></div>
16+
<main>
17+
<section class="page-title">
18+
<div class="container">
19+
<div class="kicker">Tool Layout</div>
20+
<h1>Tool Builder</h1>
21+
<p class="lede">Three-column tool page with left, center, and right accordion regions ready for future
22+
Game Foundry Studio tools.</p>
23+
</div>
24+
</section>
25+
<section class="section">
26+
<div class="container">
27+
<div class="tool-workspace">
28+
<aside class="tool-column tool-group-build-create">
29+
<div class="tool-column-header molten-orange">
30+
<h2>Toolbox</h2>
31+
</div>
32+
<div class="accordion-stack">
33+
<details class="vertical-accordion" open>
34+
<summary>Setup</summary>
35+
<div class="accordion-body">Tool Builder setup wireframe.</div>
36+
</details>
37+
</div>
38+
</aside>
39+
<section class="tool-center-panel"><img src="assets/images/forge-bot-single.png" alt="ForgeBot">
40+
<h2>Workspace</h2>
41+
<p>Tool Builder</p>
42+
</section>
43+
<aside class="tool-column tool-group-build-create">
44+
<div class="tool-column-header forge-gold">
45+
<h2>Inspector</h2>
46+
</div>
47+
<div class="accordion-stack">
48+
<details class="vertical-accordion" open>
49+
<summary>Output</summary>
50+
<div class="accordion-body">Tool Builder output wireframe.</div>
51+
</details>
52+
</div>
53+
</aside>
54+
</div>
55+
</div>
56+
</section>
57+
</main>
58+
<div data-partial="footer"></div>
59+
<script src="assets/js/gamefoundry-partials.js" defer></script>
60+
<script src="assets/js/tool-display-mode.js" defer></script>
61+
</body>
62+
63+
</html>

tools/creator.html

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<base href="../GameFoundryStudio/">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Tool Creator - Game Foundry Studio</title>
9+
<meta name="description" content="Game Foundry Studio Tool Creator layout.">
10+
<link rel="icon" href="assets/images/favicon.svg" type="image/svg+xml">
11+
<link rel="stylesheet" href="assets/css/styles.css">
12+
</head>
13+
14+
<body class="meaning-molten-orange">
15+
<div data-partial="header-nav"></div>
16+
<main>
17+
<section class="page-title">
18+
<div class="container">
19+
<div class="kicker">Tool Layout</div>
20+
<h1>Tool Creator</h1>
21+
<p class="lede">Three-column tool page with left, center, and right accordion regions ready for future
22+
Game Foundry Studio tools.</p>
23+
</div>
24+
</section>
25+
<section class="section">
26+
<div class="container">
27+
<div class="tool-workspace">
28+
<aside class="tool-column tool-group-build-create">
29+
<div class="tool-column-header molten-orange">
30+
<h2>Toolbox</h2>
31+
</div>
32+
<div class="accordion-stack">
33+
<details class="vertical-accordion" open>
34+
<summary>Setup</summary>
35+
<div class="accordion-body">Tool Creator setup wireframe.</div>
36+
</details>
37+
</div>
38+
</aside>
39+
<section class="tool-center-panel"><img src="assets/images/forge-bot-single.png" alt="ForgeBot">
40+
<h2>Workspace</h2>
41+
<p>Tool Creator</p>
42+
</section>
43+
<aside class="tool-column tool-group-build-create">
44+
<div class="tool-column-header forge-gold">
45+
<h2>Inspector</h2>
46+
</div>
47+
<div class="accordion-stack">
48+
<details class="vertical-accordion" open>
49+
<summary>Output</summary>
50+
<div class="accordion-body">Tool Creator output wireframe.</div>
51+
</details>
52+
</div>
53+
</aside>
54+
</div>
55+
</div>
56+
</section>
57+
</main>
58+
<div data-partial="footer"></div>
59+
<script src="assets/js/gamefoundry-partials.js" defer></script>
60+
<script src="assets/js/tool-display-mode.js" defer></script>
61+
</body>
62+
63+
</html>

tools/game-builder.html

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8">
6+
<base href="../GameFoundryStudio/">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Game Builder — Game Foundry Studio</title>
9+
<meta name="description" content="Game Foundry Studio: Build. Play. Share.">
10+
<link rel="icon" href="assets/images/favicon.svg" type="image/svg+xml">
11+
<link rel="stylesheet" href="assets/css/styles.css">
12+
</head>
13+
14+
<body class="meaning-molten-orange">
15+
<div data-partial="header-nav"></div>
16+
<main>
17+
<section class="page-title">
18+
<div class="container">
19+
<div class="kicker">ForgeBot</div>
20+
<h1>Game Builder</h1>
21+
<p class="lede">How is the game assembled?</p>
22+
</div>
23+
</section>
24+
<section class="section">
25+
<div class="container">
26+
<div class="tool-workspace">
27+
<aside class="tool-column tool-group-build-create">
28+
<div class="tool-column-header molten-orange">
29+
<h2>Toolbox</h2>
30+
</div>
31+
<div class="accordion-stack">
32+
<details class="vertical-accordion" open>
33+
<summary>Structure</summary>
34+
<div class="accordion-body">
35+
<form>
36+
<label>Screens <textarea rows="3" placeholder="Title, menu, gameplay, pause, results"></textarea></label>
37+
<label>Levels <textarea rows="3" placeholder="Level names, order, and layout notes"></textarea></label>
38+
<label>Objects <textarea rows="3" placeholder="Player, enemies, pickups, hazards, platforms"></textarea></label>
39+
<label>Assets <textarea rows="3" placeholder="Images, sprites, tiles, UI, effects"></textarea></label>
40+
<label>Audio <textarea rows="3" placeholder="Music, sound effects, ambience"></textarea></label>
41+
</form>
42+
</div>
43+
</details>
44+
<details class="vertical-accordion">
45+
<summary>Runtime Plan</summary>
46+
<div class="accordion-body">
47+
<form>
48+
<label>Input Mapping <textarea rows="3" placeholder="Keyboard, gamepad, touch, pointer"></textarea></label>
49+
<label>Physics <textarea rows="3" placeholder="Gravity, collision, speed, friction"></textarea></label>
50+
<label>Behaviors <textarea rows="3" placeholder="Movement, attacks, triggers, AI"></textarea></label>
51+
<label>Object Types <textarea rows="3" placeholder="Dynamic, static, trigger, volume"></textarea></label>
52+
<label>State Transitions <textarea rows="3" placeholder="Menu to play, play to win, play to lose"></textarea></label>
53+
</form>
54+
</div>
55+
</details>
56+
</div>
57+
</aside>
58+
<div data-tool-display-mode data-asset-root="assets/images" data-tool-slug="game-builder" data-tool-icon-src="assets/images/badges/game-builder.png"></div>
59+
<section class="tool-center-panel"><img src="assets/images/forge-bot-single.png" alt="ForgeBot">
60+
<h2>Workspace</h2>
61+
<p>Game Builder turns the design document into a build plan. The workflow reads the GDD, identifies the required game pieces, and assembles them into a manifest.</p>
62+
<details class="vertical-accordion" open>
63+
<summary>GDD -> Manifest Workflow</summary>
64+
<div class="accordion-body">
65+
<p>The builder interprets <code>game.gdd.json</code>, maps design intent to concrete screens, assets, objects, behaviors, and transitions, then produces the runtime assembly contract.</p>
66+
<p>The output is the implementation manifest: <code>game.manifest.json</code>.</p>
67+
</div>
68+
</details>
69+
<details class="vertical-accordion">
70+
<summary>Construction Crew</summary>
71+
<div class="accordion-body">
72+
<p>Game Builder is the construction crew. It follows the blueprint from Game Design Studio and decides what pieces are needed, where they go, and how they connect.</p>
73+
</div>
74+
</details>
75+
</section>
76+
<aside class="tool-column tool-group-build-create">
77+
<div class="tool-column-header forge-gold">
78+
<h2>Inspector</h2>
79+
</div>
80+
<div class="accordion-stack">
81+
<details class="vertical-accordion" open>
82+
<summary>Object Examples</summary>
83+
<div class="accordion-body">
84+
<dl>
85+
<dt>Hero</dt>
86+
<dd>Dynamic Killable</dd>
87+
<dt>Enemy</dt>
88+
<dd>Dynamic Killable</dd>
89+
<dt>Ice Block</dt>
90+
<dd>Static Breakable</dd>
91+
<dt>Water</dt>
92+
<dd>Damage Volume</dd>
93+
</dl>
94+
</div>
95+
</details>
96+
<details class="vertical-accordion">
97+
<summary>Output</summary>
98+
<div class="accordion-body">
99+
<p><strong>game.manifest.json</strong></p>
100+
<pre><code>{
101+
"screens": [],
102+
"levels": [],
103+
"objects": [],
104+
"assets": [],
105+
"audio": [],
106+
"input": {},
107+
"physics": {},
108+
"behaviors": []
109+
}</code></pre>
110+
</div>
111+
</details>
112+
</div>
113+
</aside>
114+
</div>
115+
</div>
116+
</section>
117+
</main>
118+
<div data-partial="footer"></div>
119+
<script src="assets/js/gamefoundry-partials.js" defer></script>
120+
<script src="assets/js/tool-display-mode.js" defer></script>
121+
</body>
122+
123+
</html>

0 commit comments

Comments
 (0)