Skip to content

Commit 8f326e4

Browse files
committed
Move GameFoundryStudio tools index to root with Theme V2 - PR_26152_038-root-tools-index-migration
1 parent 870cc75 commit 8f326e4

5 files changed

Lines changed: 108 additions & 140 deletions

File tree

GameFoundryStudio/assets/js/gamefoundry-partials.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
};
7272

7373
const rootPageRoutes = new Set([
74+
"tools",
7475
"about", "vision", "mission", "roadmap", "release-notes",
7576
"account", "account-profile", "account-preferences", "account-security",
7677
"admin", "admin-site-settings", "admin-branding", "admin-themes", "admin-design-system", "admin-controls",

GameFoundryStudio/tools/index.html

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# PR_26152_038 Root Tools Index Migration Validation
2+
3+
## Scope
4+
5+
- Migrated the approved Tools index to the repository root:
6+
- `/tools/index.html`
7+
- Removed the old `GameFoundryStudio/tools/index.html` copy.
8+
- Updated root `index.html` direct Tools links so `/index.html` opens `/tools/index.html`.
9+
- Updated shared partial routing so the global Tools nav points to the root Tools index.
10+
- Kept individual tool runtime pages under `GameFoundryStudio/tools/`.
11+
- Kept the root Tools index on Theme V2.
12+
- Did not change any CSS files.
13+
14+
## Changed Files
15+
16+
- `tools/index.html` updated as the root Theme V2 Tools index
17+
- `GameFoundryStudio/tools/index.html` removed
18+
- `index.html` updated so direct Tools links point to root `/tools/index.html`
19+
- `GameFoundryStudio/assets/js/gamefoundry-partials.js` updated so the Tools route is handled as a root route
20+
21+
## Validation Commands
22+
23+
- PASS: `node --check GameFoundryStudio/assets/js/gamefoundry-partials.js`
24+
- PASS: `rg -n --pcre2 "<script(?![^>]*\bsrc=)|<style|\son[a-z]+\s*=" index.html tools/index.html GameFoundryStudio/assets/partials/header-nav.html GameFoundryStudio/assets/partials/footer.html`
25+
- No inline script blocks, style blocks, or inline event handlers found.
26+
- PASS: `rg -n "assets/css/theme/v2/theme\.css|assets/js/gamefoundry-partials\.js|base href" tools/index.html index.html`
27+
- Root Tools index and root home page load Theme V2 assets and shared partial handling.
28+
- PASS: `rg -n "\.\./tools/index\.html|tools/index\.html|rootPageRoutes" index.html GameFoundryStudio/assets/js/gamefoundry-partials.js GameFoundryStudio/assets/partials/header-nav.html GameFoundryStudio/assets/partials/footer.html`
29+
- Root `index.html` links to `../tools/index.html`.
30+
- Shared partials keep route-based Tools links.
31+
- Shared route handling includes the Tools route in the root route set.
32+
- PASS: `rg -n "tools-page-accordions|assets/css/styles\.css|\.\./assets/css" tools/index.html index.html`
33+
- Root Tools index does not reference the old legacy stylesheet or Tools accordion script.
34+
- PASS: `git status --short -- GameFoundryStudio/assets/css/theme/v2`
35+
- No Theme V2 CSS files changed.
36+
- PASS: `git status --short -- tools/index.html GameFoundryStudio/tools/index.html index.html GameFoundryStudio/assets/js/gamefoundry-partials.js GameFoundryStudio/assets/css/theme/v2 docs/dev/commit_comment.txt docs/dev/reports/codex_review.diff docs/dev/reports/codex_changed_files.txt docs/dev/reports/root_tools_index_migration_validation.md`
37+
- Scoped status shows the expected root Tools index update, old in-folder index deletion, root home link update, and partial router update.
38+
39+
## Link Validation
40+
41+
- Root `/index.html` direct Tools calls now use `../tools/index.html`, which resolves to root `/tools/index.html` from the existing `GameFoundryStudio/` base.
42+
- `gamefoundry-partials.js` maps:
43+
- `tools` -> `tools/index.html`
44+
- `tools` is included in `rootPageRoutes`.
45+
- Root `/tools/index.html` uses `<base href="../GameFoundryStudio/">`, so existing individual tool links continue to resolve to the current runtime pages under `GameFoundryStudio/tools/`.
46+
47+
## Skipped
48+
49+
- Repo-wide tests were not run by request.
50+
- Tests outside affected root/GameFoundryStudio paths were not run by request.
51+
- Full samples smoke test was not run by request.
52+
- Individual tool runtime page migration and validation were not run by request.
53+
- `git diff -- index.html tools/index.html GameFoundryStudio/tools/index.html GameFoundryStudio/assets/js/gamefoundry-partials.js --stat` was attempted for the review artifact but was blocked by the Windows sandbox before git could start:
54+
- `windows sandbox: spawn setup refresh`

index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
<h1>Build. Play. Share.</h1>
2222
<p class="lede">Create browser games with visual tools, reusable assets, manifest-driven configuration, and
2323
publishing workflows that make Game Foundry Studio feel like a destination, not just an engine.</p>
24-
<div class="hero-cta"><a class="btn primary" href="tools/index.html">Start Building</a><a class="btn"
24+
<div class="hero-cta"><a class="btn primary" href="../tools/index.html">Start Building</a><a class="btn"
2525
href="arcade/index.html">Explore Games</a></div>
2626
<div class="dual-entry" aria-label="Primary entry points">
2727
<a class="entry-card" href="arcade/index.html"><span>Play</span><strong>Play Games</strong><small>Browse the
2828
Arcade</small></a>
29-
<a class="entry-card" href="tools/index.html"><span>Build</span><strong>Create Games</strong><small>Open the
29+
<a class="entry-card" href="../tools/index.html"><span>Build</span><strong>Create Games</strong><small>Open the
3030
Studio</small></a>
3131
</div>
3232
</div>
@@ -128,7 +128,7 @@ <h3>Input Studio</h3>
128128
<div class="kicker">Mascot system</div>
129129
<h2>ForgeBot, Spark, Pixel Smith, and Foundry Bot.</h2>
130130
<p class="lede small">Use these characters for onboarding, tutorials, error states, achievements, learning
131-
content, and playful creator moments.</p><a class="btn primary" href="tools/index.html">View Tool Images</a>
131+
content, and playful creator moments.</p><a class="btn primary" href="../tools/index.html">View Tool Images</a>
132132
</div>
133133
</div>
134134
</section>

tools/index.html

Lines changed: 50 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,55 @@
1-
<!--
2-
Toolbox Aid
3-
David Quesenberry
4-
03/23/2026
5-
index.html
6-
-->
7-
<!DOCTYPE html>
1+
<!doctype html>
82
<html lang="en">
9-
103
<head>
11-
<meta charset="UTF-8" />
12-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
13-
<title>Tools</title>
14-
<link rel="stylesheet" href="../src/engine/theme/main.css" />
15-
<link rel="stylesheet" href="../src/engine/ui/hubCommon.css" />
16-
<link rel="stylesheet" href="./shared/platformShell.css" />
4+
<meta charset="utf-8">
5+
<base href="../GameFoundryStudio/">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>Tools - Game Foundry Studio</title>
8+
<meta name="description" content="Browse Game Foundry Studio creator tools.">
9+
<link rel="icon" href="assets/images/favicon.svg" type="image/svg+xml">
10+
<link rel="stylesheet" href="assets/css/theme/v2/theme.css">
1711
</head>
18-
19-
<body class="hub-page-tools" data-tools-platform-page="landing">
20-
<div id="shared-theme-header"></div>
21-
<div data-tools-platform-header></div>
22-
<div class="wrap">
23-
24-
<section class="hero">
25-
<p class="subtitle">Launch the first-class art and scene tools from one registry-driven surface. The landing page
26-
shows only active, user-facing tools and keeps transitional content out of the main launcher.</p>
27-
<p class="subtitle">* Use Open Tool for normal day-to-day use, cleanest behavior, and quickest direct debugging.</p>
28-
</section>
29-
30-
<section>
31-
<h2>First-Class Tools</h2>
32-
<h3>Workflow</h3>
33-
<div class="grid" data-active-tools-workflow-grid></div>
34-
<h3>Editors</h3>
35-
<div class="grid" data-active-tools-editors-grid></div>
36-
<h3>Utilities</h3>
37-
<div class="grid" data-active-tools-utilities-grid></div>
38-
<h3>Viewers</h3>
39-
<div class="grid" data-active-tools-viewers-grid></div>
40-
<noscript>
41-
<p class="callout"><strong>JavaScript required:</strong> the active tools list is generated from the shared
42-
tools registry.</p>
43-
</noscript>
44-
</section>
45-
46-
<section>
47-
<h2>Planned Next</h2>
48-
<p>Additional workflow tools are next priorities after the active browser and manager surfaces now live in the
49-
shared tools registry.</p>
50-
<div class="grid" data-planned-tools-grid>
51-
52-
<div class="card">
53-
<h3>Animation / Flipbook Editor</h3>
54-
<p>Preview timing, duplicate frames, reorder frames, and export animation data cleanly.</p>
55-
<div class="meta">
56-
<span class="pill planned">Planned</span>
57-
</div>
58-
</div>
59-
60-
<div class="card">
61-
<h3>Level / Entity Placement Editor</h3>
62-
<p>Place enemies, spawns, pickups, triggers, and named points on top of map data.</p>
63-
<div class="meta">
64-
<span class="pill planned">Planned</span>
65-
</div>
66-
</div>
67-
68-
<div class="card">
69-
<h3>Replay Inspector</h3>
70-
<p>Open recorded sessions, step frame by frame, and debug input-driven playback behavior.</p>
71-
<div class="meta">
72-
<span class="pill planned">Planned</span>
73-
</div>
74-
</div>
75-
76-
<div class="card">
77-
<h3>Piper WASM Backend</h3>
78-
<p>Add a local Piper-powered speech backend for higher-quality offline voice generation in supported browsers.</p>
79-
<div class="meta">
80-
<span class="pill planned">Planned</span>
81-
</div>
82-
</div>
83-
84-
<div class="card">
85-
<h3>Optional SSML Processing Layer</h3>
86-
<p>Plan an optional SSML-style processing layer for pauses, emphasis, pronunciation, and delivery hints.</p>
87-
<div class="meta">
88-
<span class="pill planned">Planned</span>
89-
</div>
90-
</div>
91-
92-
</div>
93-
</section>
94-
95-
<div class="callout">
96-
<strong>Registry rule:</strong> this page shows only launchable first-class tools from the shared registry.
97-
</div>
98-
</div>
99-
<div data-tools-platform-status></div>
100-
<script type="module" src="../src/engine/theme/mount-shared-header.js"></script>
101-
<script type="module" src="./renderToolsIndex.js"></script>
102-
<script type="module" src="./shared/platformShell.js"></script>
12+
<body>
13+
<div data-partial="header-nav"></div>
14+
<main>
15+
<section class="page-title">
16+
<div class="container">
17+
<div class="kicker">Build</div>
18+
<h1>Creator Tools</h1>
19+
<p class="lede">Open visual studios for assets, game design, audio, input, code, publishing, and platform support.</p>
20+
</div>
21+
</section>
22+
<section class="section">
23+
<div class="container">
24+
<div class="section-head">
25+
<div>
26+
<div class="kicker">Tool index</div>
27+
<h2>Choose a workspace.</h2>
28+
</div>
29+
<p>These links keep the current tool runtime pages in place while the root site migration continues.</p>
30+
</div>
31+
<div class="card-grid">
32+
<article class="card"><div class="card-body"><div class="kicker">AI &amp; Learning</div><h3>AI Assistant</h3><p>Plan, draft, and refine game-building ideas with guided assistance.</p><a class="btn" href="tools/ai-assistant.html">Open Tool</a></div></article>
33+
<article class="card"><div class="card-body"><div class="kicker">Build &amp; Create</div><h3>Animation Studio</h3><p>Create animation sequences and motion planning for game objects.</p><a class="btn" href="tools/animation-studio.html">Open Tool</a></div></article>
34+
<article class="card"><div class="card-body"><div class="kicker">Content &amp; Assets</div><h3>Asset Studio</h3><p>Create sprites, vectors, previews, and reusable game assets.</p><a class="btn" href="tools/asset-studio.html">Open Tool</a></div></article>
35+
<article class="card"><div class="card-body"><div class="kicker">Development &amp; System</div><h3>Code Studio</h3><p>Review code-oriented game building surfaces and implementation notes.</p><a class="btn" href="tools/code-studio.html">Open Tool</a></div></article>
36+
<article class="card"><div class="card-body"><div class="kicker">Build &amp; Create</div><h3>Game Builder</h3><p>Assemble screens, levels, objects, assets, behaviors, and state transitions.</p><a class="btn" href="tools/game-builder.html">Open Tool</a></div></article>
37+
<article class="card"><div class="card-body"><div class="kicker">Build &amp; Create</div><h3>Game Design Studio</h3><p>Define genre, players, story, objectives, rules, progression, and game intent.</p><a class="btn" href="tools/game-design-studio.html">Open Tool</a></div></article>
38+
<article class="card"><div class="card-body"><div class="kicker">Development &amp; System</div><h3>Input Studio</h3><p>Plan keyboard, mouse, touch, gamepad, and custom input mappings.</p><a class="btn" href="tools/input-studio.html">Open Tool</a></div></article>
39+
<article class="card"><div class="card-body"><div class="kicker">Development &amp; System</div><h3>Localization Studio</h3><p>Prepare translation and localization workflows for game text.</p><a class="btn" href="tools/localization-studio/index.html">Open Tool</a></div></article>
40+
<article class="card"><div class="card-body"><div class="kicker">Media &amp; Audio</div><h3>MIDI Studio</h3><p>Sketch MIDI-oriented music ideas and audio structure.</p><a class="btn" href="tools/midi-studio.html">Open Tool</a></div></article>
41+
<article class="card"><div class="card-body"><div class="kicker">Build &amp; Create</div><h3>Object Vector Studio</h3><p>Create object-ready vector assets and reusable scene pieces.</p><a class="btn" href="tools/object-vector-studio.html">Open Tool</a></div></article>
42+
<article class="card"><div class="card-body"><div class="kicker">Content &amp; Assets</div><h3>Palette Manager</h3><p>Craft and manage color palettes for browser games.</p><a class="btn" href="tools/palette-manager.html">Open Tool</a></div></article>
43+
<article class="card"><div class="card-body"><div class="kicker">Content &amp; Assets</div><h3>Particle Studio</h3><p>Plan particle effects, emitters, and visual feedback moments.</p><a class="btn" href="tools/particle-studio.html">Open Tool</a></div></article>
44+
<article class="card"><div class="card-body"><div class="kicker">Platform &amp; Cloud</div><h3>Publish Studio</h3><p>Prepare release packages, marketplace listings, and published game records.</p><a class="btn" href="tools/publisher.html">Open Tool</a></div></article>
45+
<article class="card"><div class="card-body"><div class="kicker">Media &amp; Audio</div><h3>Sound Studio</h3><p>Design sound effects, audio notes, and game-ready sound requirements.</p><a class="btn" href="tools/sound-studio.html">Open Tool</a></div></article>
46+
<article class="card"><div class="card-body"><div class="kicker">Platform &amp; Cloud</div><h3>Storage Inspector</h3><p>Inspect storage planning and platform persistence surfaces.</p><a class="btn" href="tools/storage-inspector.html">Open Tool</a></div></article>
47+
<article class="card"><div class="card-body"><div class="kicker">Build &amp; Create</div><h3>World Vector Studio</h3><p>Shape world layouts, maps, terrain, and scene geometry.</p><a class="btn" href="tools/world-vector-studio.html">Open Tool</a></div></article>
48+
</div>
49+
</div>
50+
</section>
51+
</main>
52+
<div data-partial="footer"></div>
53+
<script src="assets/js/gamefoundry-partials.js" defer></script>
10354
</body>
104-
10555
</html>

0 commit comments

Comments
 (0)