Skip to content

feat(docs): overhaul guide experience#94

Merged
Exoridus merged 2 commits into
mainfrom
feat/guide-experience-overhaul
Jun 5, 2026
Merged

feat(docs): overhaul guide experience#94
Exoridus merged 2 commits into
mainfrom
feat/guide-experience-overhaul

Conversation

@Exoridus
Copy link
Copy Markdown
Owner

@Exoridus Exoridus commented Jun 5, 2026

Problem

The guide infrastructure (typecheck gate, source-backed snippets) is reliable, but onboarding and navigation still require too much prior knowledge. Chapters had no Previous/Next, no learning metadata, no visible Guide → Playground → API path, the landing page was a flat chapter list, titles/numbers were duplicated across the structure and frontmatter (and had drifted), and one chapter was orphaned and unreachable.

Solution

A focused redesign of the guide experience on top of that infrastructure:

  • Information architecturesite/src/lib/guide-structure.ts is now the single source of truth for ordering, grouping, and learning metadata (level, learning goals, prerequisites, playground examples, API links). Chapter numbers are positional, so reordering never means renumbering by hand. MDX frontmatter is slimmed to { title, description }. Part renames: Getting Started, Debugging & Performance, Reference & Deployment. The orphaned audio-reactive-visualization chapter is reattached under Audio. New introduction/project-structure chapter.
  • Landing / Start here — hero with the create-exo-app command and primary actions, a numbered recommended learning path (What is ExoJS → Setup → First scene → Frame loop → Input → Audio → Orb Dodge → Deploy), topic entry cards, and a Guide → Playground → API orientation strip.
  • Page UX — chapter header with a level badge, auto-computed read time, "What you'll learn", and "Before you start"; a structural Previous/Next pager at the end of every chapter; the redundant in-content H1 is hidden.
  • Reusable componentsCallout (note / tip / important / common-mistake / webgpu / browser — label + glyph, never colour alone), TryIt (compact Playground + API bridge, slugs validated at build time), NextStep, GuideMeta, GuidePager.
  • Critical onboarding rewrites — What is ExoJS?, Setup (create-exo-app first), Project structure (source-backed from the minimal template), Your first scene, Scene lifecycle, Keyboard, Audio basics, Debug layer, Performance, Build Orb Dodge.
  • Guide → Playground → API flowTryIt added to Your first scene, Scenes, Scene lifecycle, Graphics, Sprites, Keyboard, Gamepad, Audio basics, Debug layer, Performance, and Orb Dodge.
  • Source-backed snippets — minimal template main.ts / MainScene.ts get guide: regions, consumed by the new Project structure chapter.

Scope

Docs / site / DX only. No engine features, no runtime API changes, no new packages, no versioning, no release notes.

Validation

Check Result
pnpm typecheck
pnpm typecheck:guides ✅ 27 extracted, 22 no-check, 217 partial
pnpm typecheck:examples
pnpm lint:strict
pnpm test ✅ 141 files, 1840 tests
new test/site/guide-structure.test.ts ✅ 19 tests (structure↔content reconciliation, metadata + cross-ref validation, prev/next linearity, landing refs)
pnpm build + pnpm verify:exports
pnpm verify:create-exo-app ✅ 45/0
pnpm site:build ✅ 572 pages
pnpm test:examples:smoke ✅ 118/0

pnpm format:check reports 6 pre-existing offenders unrelated to this PR (rollup.config.ts, scripts/extract-guide-snippets.ts, scripts/verify-create-exo-app.ts, test/site/example-search.test.ts, test/site/source-snippets.test.ts, tsconfig.guides.json — all unchanged here); every file touched by this PR is prettier-clean.

Visually reviewed (desktop 1440×1000 + mobile 390×844, dark + light): guide landing, What is ExoJS?, Setup, Project structure, Your first scene, Keyboard, Audio basics, Debug layer, Performance, Build Orb Dodge, Troubleshooting, Deployment.

Release note

Release preparation (PR #93) remains postponed and must be re-created or updated after this overhaul lands. This PR contains no version or changelog changes.

Exoridus added 2 commits June 5, 2026 15:34
Complete the de-numbering pass on in-prose cross-references the IA
reorg left behind, and fix two stale cross-reference targets:

- strip stale chapter numbers from prose links ("7.6 Render pipeline
  debugging" → "Render pipeline debugging" in debug-layer and
  post-processing; "5.5 Audio-reactive visualization" in beat-detection).
  "7.6" was also positionally wrong after the reorder (now 7.3).
- replace the hardcoded "Part 2" reference with the part name
  ("Core Concepts") so it survives reordering.
- fix the RenderNode API link slug (/api/rendernode/ → /api/render-node/),
  which pointed at a non-existent page.
- align the Orb Dodge scaffold command with the canonical form used
  everywhere else (npx create-exo-app → npm create exo-app@latest).
@Exoridus Exoridus merged commit 018de4b into main Jun 5, 2026
10 checks passed
@Exoridus Exoridus deleted the feat/guide-experience-overhaul branch June 5, 2026 15:58
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