Move the canvas page model into onestore::page: Page, Title, Outline, PageParagraph, Table, TextObject, Image and Unsupported keep stored identities, resolve inherited formatting, and retain everything else on the page as Unsupported. page::text::Paragraph coalesces rich text into spans with UTF-8/UTF-16 offset mapping, hidden-field projection, slicing and invertible edits. Page::from_space selects the single active page of an object space. The page writer module is renamed pages.rs; its public types are unchanged. Validation: 18 model unit tests ported from the canvas branch; every page in the 396-file public corpus builds a model with distinct identities; Clippy, fmt and doctests. Merge instructions for the UI branch are in evidence/M1-MERGE.md. Assisted-by: claude-fable-5.1
clover caruso committed on 9/11/2026, 4:08:05 AMparentad10b47
9 files changedLine totals unavailable