v1.1.0 — Hardened build, deduplicated design system
Maintenance release from a full repo audit. No rendered page changed — all 71 pages verified byte-identical to v1.0.0 output; this release hardens the pipeline and cleans up internals and docs.
Build & tooling
- The two-pass TOC build now verifies its core invariant: chapter positions are re-extracted from the pass-2 PDF and the build fails if any shifted. Ambiguous chapter markers (a standalone "CHAPTER NN" line on more than one page) fail the build; stray markers warn;
toc-positions.jsonis written only after validation. - Sync fails loudly on empty chrome folders and on two manifest chapters sharing a directory; malformed
toc-positions.jsonwarns instead of being silently ignored. - Fonts register via
Document.tsx, so any entry point that renders the book gets them;export-pages.shworks from any directory.
Design system
- TipBox/WarningBox/InfoBox collapsed to one base + style factory; semantic colors are palette references (no re-typed hexes); new
fontScale.chromeLabeltoken ends chrome borrowing code typography. - Consistent
wrapAPI across Table/BulletList/CodeBlock; IconList gains afeaturevariant (now used on the Ch10 adapter page); markdown parser and icon adapter warn on unsupported input instead of failing silently.
Docs & starter templates
- Fixed stale claims (
output/gitignore status, sync description, troubleshooting example), documented all new build guards and component APIs, and resolved the starter-packfontWeightcontradictions.
Full details in the commit history: 5f63b5e…dce045b.