M5: Library code !13

merged merged by cmc on 2026-10-18 01:54 UTC · krz/moonrise:m5-library into main

Discussion

cmc

Stacked on !12 (targets deploy-backend). Content follows in the next MR.

  • Library target: LibraryPage model, loader for Resources/pages/*.json, search.
  • LibraryTests: validates every bundled page against docs/library-content.org (ids, fact citations, no Wikipedia, essay 120–300 words, image licence and credit, link targets).
  • App: Library tab with sections, search and page view; generated drawings per page type; "Read more" from Sky cards and spacecraft names in the System tab.
  • scripts/check-library.py: checks every source and image URL.

Tests pass with and without content (swift test, 34 tests). Device build compiles.

retargeted from deploy-backend to main: !12 merged

2026-10-18 01:54 UTC