Skip to content

Website overhaul: accurate content, creative inventory, roadmap page#6

Merged
MichaelFisher1997 merged 2 commits into
masterfrom
opencode/crisp-panda
Jun 15, 2026
Merged

Website overhaul: accurate content, creative inventory, roadmap page#6
MichaelFisher1997 merged 2 commits into
masterfrom
opencode/crisp-panda

Conversation

@MichaelFisher1997

Copy link
Copy Markdown
Contributor

Brings the marketing site in line with how far the game has come, and turns it into a multi-page property with a full roadmap.

What changed

Content corrections (homepage)
The site was stuck at the early-prototype state. Updated all copy to reflect the real game:

  • Stack fixed: Three.js → Babylon.js (the game runs on @babylonjs/core)
  • Dropped the stale "creative-mode slice / 4 biomes / 23 blocks" framing
  • Now reflects: 11 biomes (8 climate-selected + ocean/mountain/snowy mountain; beach is a reserved palette entry selectBiome() never returns), survival + creative modes, day/night cycle, two-channel voxel lighting, flowing-water simulation, caves/ores, 6 tree species, per-seed saves, scalable graphics
  • Fixed the cd Minebench repo name in the CTA

New /roadmap page (src/pages/roadmap.astro)
A vertical phase timeline with a status legend:

  • Phase 1 — The foundation (Live now)
  • Phase 2 — Crafting & survival depth (In progress)
  • Phase 3 — Life, danger & the wider world (Planned) — incl. world-generation modes (Superflat, Amplified, Large Biomes, sky islands, cave world)
  • Phase 4 — Multiplayer & beyond (Planned) — incl. multiple dimensions (Underworld, Void, Aether)

Creative inventory (Features.astro + site.ts)
Was showing a stale 9-block hotbar labelled "the creative palette". Now renders the full 39-item creative inventory (CREATIVE_PALETTE from Items.ts) in the game's curated order, with real representative colours from Blocks.ts.

Showcase

  • Wired in two real screenshots (main-menu.png, in-game.png) — placeholders auto-replaced via build-time discovery
  • Removed dev-facing "How to capture these screenshots" block + refreshed the lede

Plumbing

  • Layout.astro forwards per-page title/description to BaseHead
  • Roadmap link added to Header + Footer nav
  • Narrowed root screenshots/ ignore (/screenshots/) so site screenshots track while the root benchmark screenshots/ dir stays ignored

Verification

  • astro check — 0 errors, 0 warnings, 0 hints
  • astro build — builds /, /roadmap, /play cleanly with the game bundle synced

Note

The root game dist/assets/ is owned by nobody (a sandboxed build), which blocks the full bun run build sync:game step with EACCES. Worked around by running astro build against the already-synced bundle. Worth clearing with sudo rm -rf dist before the next game-code change.

- Update copy to reflect the real game: Babylon.js stack (was Three.js),
  11 biomes, survival + creative modes, day/night cycle, two-channel
  voxel lighting and flowing-water simulation
- Add /roadmap page with a 4-phase timeline (foundation, crafting,
  mobs & world, multiplayer), including world-gen modes and multiple
  dimensions
- Expand the creative inventory to all 39 placeable items with real
  colours, replacing the stale 9-block hotbar
- Wire real screenshots into the Showcase; drop dev-facing capture docs
- Add Roadmap nav link + per-page title support in Layout
- Narrow root screenshots/ ignore so site screenshots can be tracked
@github-actions

Copy link
Copy Markdown

📋 Summary

PR #6 does not reference any linked issues (no Fixes #N / Closes #N in the title or body).

This PR refreshes the Astro marketing site to match the current game: it corrects the stack from Three.js to Babylon.js, updates biome/block/mode claims, adds a new /roadmap page, replaces the stale 9-block palette with the full 39-item creative inventory, wires in real screenshots, and adds roadmap links to the header/footer. The code is clean and both astro check and astro build pass. The main remaining problem is a stale bundle-size claim that is now factually wrong by nearly an order of magnitude.

📌 Review Metadata


🔴 Critical Issues (Must Fix - Blocks Merge)

None identified.


⚠️ High Priority Issues (Should Fix)

None identified.


💡 Medium Priority Issues (Nice to Fix)

[MEDIUM] website/src/data/site.ts:12bundleGzip: "~135 kB" is factually inaccurate
Confidence: High
Description: The marketing site still advertises a "~135 kB gzipped" production bundle, but the current Vite build emits a single index--*.js chunk that is 1,170.26 kB gzipped (5,229.64 kB raw). This claim appears in both Hero.astro and Technical.astro via site.bundleGzip, so it is user-facing and materially misleading.
Impact: Prominent marketing copy contradicts the actual shipped artifact.
Suggested Fix: Measure the real gzipped payload and update the constant. For the current build that is roughly the main JS chunk alone:

bundleGzip: "~1.2 MB",

Or remove the claim entirely if an exact bundled size is not being tracked in CI.


ℹ️ Low Priority Suggestions (Optional)

[LOW] website/src/components/Features.astro:28 — "placeable blocks, plants and foods" overstates placeability
Confidence: Medium
Description: The creative palette contains 34 blocks/plants and 5 food items. Food items are edible, not placeable, but the label says "placeable blocks, plants and foods", implying all 39 items can be placed.
Impact: Minor wording imprecision on a marketing page.
Suggested Fix: Change the line to something like:

<p class="palette-sub">{blockPalette.length} blocks, plants and foods — open the full grid with <kbd>E</kbd> in creative mode and place anything instantly.</p>

[LOW] website/src/data/site.ts:16-17treeSpecies and dayLength are unused
Confidence: High
Description: These new site fields are added but not referenced anywhere in the site components. They are accurate (6 tree types, 600-second day) but currently dead weight.
Impact: Negligible; just adds unused constants.
Suggested Fix: Either surface them in copy (e.g., "6 tree species" chip, "10-minute day" fact) or remove them to keep site.ts lean.

[LOW] website/src/data/site.ts:170 — Roadmap copy says "launch twelve" biomes while the site claims 11
Confidence: Medium
Description: Phase 3's "Advanced biomes" item says "expanding the climate map beyond the launch twelve". The PR and the rest of the site state 11 selectable biomes; beach is a reserved BiomeId that selectBiome() never returns.
Impact: Minor inconsistency in a forward-looking roadmap blurb.
Suggested Fix: Change "twelve" to "eleven" to match the selectable biome count:

body: "Mangrove swamps, cherry groves, mushroom fields and more — each with unique flora, surface rules and generation, expanding the climate map beyond the launch eleven.",

📊 SOLID Principles Score

Principle Score Notes
Single Responsibility 8 Components and site.ts data are cleanly separated; each file has a clear purpose.
Open/Closed 7 Roadmap is data-driven and easy to extend; minor tweaks would make unused site fields useful.
Liskov Substitution 9 No inheritance hierarchies to violate.
Interface Segregation 8 Small, focused Astro Props and data interfaces.
Dependency Inversion 8 Components depend on imported data/config, not concrete internals.
Average 8.0

🎯 Final Assessment

Overall Confidence Score: 75%

Confidence Breakdown:

  • Code Quality: 85% (well-structured Astro/TS, clean CSS, no type errors)
  • Completeness: 80% (content refresh is thorough, but bundle-size metric was missed)
  • Risk Level: 20% (marketing-site only; no game logic touched)
  • Test Coverage: 50% (no new tests, but astro check and astro build both pass)

Merge Readiness:

  • All critical issues resolved
  • SOLID average score >= 6.0
  • Overall confidence >= 60%
  • No security concerns
  • Tests present and passing (typecheck + build verified)

Verdict:

MERGE WITH FIXES

Update the stale bundleGzip figure before merging; the other low-priority items are optional but would polish the PR.

New%20session%20-%202026-06-15T01%3A46%3A01.487Z
opencode session  |  github run

- Fix materially misleading bundle claim: ~135 kB -> ~1.1 MB (real
  measured gzip of the game's main chunk)
- Drop 'placeable' from the inventory subtitle (foods are eaten, not
  placed)
- Surface the unused treeSpecies/dayLength fields in the Hero chips
- Fix roadmap 'launch twelve' -> 'launch eleven' to match the real
  selectable biome count (beach is a reserved BiomeId selectBiome()
  never returns)
@github-actions

Copy link
Copy Markdown

📋 Summary

PR #6 does not reference any linked issues (no Fixes #N / Closes #N in the title or body).

This PR refreshes the Astro marketing site to match the current game: it corrects the stack from Three.js to Babylon.js, updates biome/block/mode claims, adds a new /roadmap page, replaces the stale 9-block palette with the full 39-item creative inventory, wires in real screenshots, and adds roadmap links to the header/footer. The second commit addresses all issues raised in the previous automated review. Both astro check and astro build pass cleanly.

📌 Review Metadata


🔴 Critical Issues (Must Fix - Blocks Merge)

None identified.


⚠️ High Priority Issues (Should Fix)

None identified.


💡 Medium Priority Issues (Nice to Fix)

✅ [FIXED] Previous issue: website/src/data/site.ts:12bundleGzip: "~135 kB" was factually inaccurate
The value is now "~1.1 MB", which aligns with the actual gzipped production chunk (~1,170 kB). No new unresolved medium-priority issues identified.


ℹ️ Low Priority Suggestions (Optional)

✅ [FIXED] Previous issue: website/src/components/Features.astro:28 — "placeable blocks, plants and foods" overstates placeability
The subtitle now reads "blocks, plants and foods — open the full grid with E in creative mode", removing the implication that foods are placeable.

✅ [FIXED] Previous issue: website/src/data/site.ts:16-17treeSpecies and dayLength were unused
Both fields are now surfaced in website/src/components/Hero.astro:38,40.

✅ [FIXED] Previous issue: website/src/data/site.ts:170 (now website/src/data/site.ts:294) — Roadmap copy said "launch twelve" biomes
Now correctly reads "launch eleven" to match the selectable biome count.

No new unresolved low-priority issues identified.


📊 SOLID Principles Score

Principle Score Notes
Single Responsibility 8 Components and site.ts data are cleanly separated; each file has a clear purpose.
Open/Closed 8 Roadmap is data-driven and easy to extend; new site fields are now consumed.
Liskov Substitution 9 No inheritance hierarchies to violate.
Interface Segregation 8 Small, focused Astro Props and data interfaces.
Dependency Inversion 8 Components depend on imported data/config, not concrete internals.
Average 8.2

🎯 Final Assessment

Overall Confidence Score: 92%

Confidence Breakdown:

  • Code Quality: 90% (well-structured Astro/TS, clean CSS, no type errors)
  • Completeness: 95% (content refresh is thorough; previous factual issues resolved)
  • Risk Level: 5% (marketing-site only; no game logic touched)
  • Test Coverage: 60% (no new tests, but astro check, astro build, and game tsc --noEmit all pass)

Merge Readiness:

  • All critical issues resolved
  • SOLID average score >= 6.0
  • Overall confidence >= 60%
  • No security concerns
  • Tests present and passing (typecheck + build verified)

Verdict:

MERGE

The PR is ready: it is a low-risk marketing-site-only change, all previous factual issues have been fixed, and both typechecking and production builds pass cleanly.

New%20session%20-%202026-06-15T02%3A01%3A31.230Z
opencode session  |  github run

@MichaelFisher1997 MichaelFisher1997 merged commit 58fb857 into master Jun 15, 2026
1 check passed
@MichaelFisher1997 MichaelFisher1997 deleted the opencode/crisp-panda branch June 15, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant