Skip to content

Phase 5d: the whole guide is blocks — zoo and reference migrate - #15

Merged
NeoVand merged 1 commit into
mainfrom
phase5d-zoo-reference
Jul 2, 2026
Merged

Phase 5d: the whole guide is blocks — zoo and reference migrate#15
NeoVand merged 1 commit into
mainfrom
phase5d-zoo-reference

Conversation

@NeoVand

@NeoVand NeoVand commented Jul 2, 2026

Copy link
Copy Markdown
Owner

What this does

The last four markup chapters — The landscape zoo, Things to try, Reading the panels, Keyboard — become block arrays. With this PR, all 21 chapters of the guide live in src/content/chapters/, and HelpModal.svelte is exactly what the plan doc called for: the shell (TOC rail, hero, scroll-spy, part labels) plus the interactive islands and their figure compute.

  • The problem bestiary and experiment cards were already data (problemCards.ts, experiments.ts) — their grids now render as widget islands, so the future emitter reads the same sources to build the print bestiary and the exercise set.
  • ch-panels' list becomes a list block with a viz variant.
  • The keyboard map is a widget island (app-only — print drops it, per the plan); the closing ∂ end-mark stays in the shell as the book's colophon glyph.

Verified

  • Rendered text of all 21 sections byte-identical to main in both themes (71,688 chars dark / 71,710 light) — the byte-compare earned its keep again, catching a doubled ∂ end-mark before commit
  • 24 problem cards, 12 experiment cards, 8 keyboard items render; try-buttons wired
  • 194 tests, svelte-check 0 errors / 0 warnings, build clean

What this unlocks

The content migration is done. Next per the plan: the figure compute/render split with a print theme (kill the module-scope canvas, inject it, @napi-rs/canvas in Node), then scripts/emit-latex.ts walking chapterBlocks + the kaobook skeleton + CI PDF.

🤖 Generated with Claude Code

ch-problems, ch-experiments, ch-panels and ch-keys — the last four
markup chapters — become block arrays. Every one of the 21 chapters now
lives in src/content/chapters/; HelpModal is what the plan called for:
the shell (TOC, hero, scroll-spy, part labels) plus the figure/widget
snippets and their compute.

- the problem bestiary and experiment cards were already data
  (problemCards.ts, experiments.ts); their grids render as widget
  islands, so the emitter reads the same sources for print
- ch-panels' viz-list becomes a list block with a 'viz' variant
- the keyboard map is a widget island (app-only; print drops it); the
  closing ∂ end-mark stays in the shell as the book's colophon glyph

Verified: rendered text of ALL 21 sections byte-identical to main in
both themes (71,688 / 71,710 chars — a doubled end-mark the byte-compare
caught was fixed before commit); 24 problem cards, 12 experiment cards,
8 keyboard items all render; 194 tests, svelte-check clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploying gradient-lab with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9001f35
Status: ✅  Deploy successful!
Preview URL: https://5bc77827.gradient-lab.pages.dev
Branch Preview URL: https://phase5d-zoo-reference.gradient-lab.pages.dev

View logs

@NeoVand
NeoVand merged commit 8fc30bf into main Jul 2, 2026
2 checks passed
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