ReadViewSDK/.planning/phases/03-page-metadata-pagination/03-01-SUMMARY.md

21 lines
1.1 KiB
Markdown

# 03-01 Summary
## Outcome
Wave 1 landed the page metadata contract without breaking the existing offset-based book model.
- Added `RDEPUBTextPageBreakReason`, `RDEPUBTextAttachmentKind`, and `RDEPUBTextPageMetadata` in `RDEPUBReadingModels.swift`
- Added attributed-string keys in `RDEPUBTextRenderer.swift` for block range/index, fragment id, and attachment kind
- Extended `RDEPUBTextPage` with `metadata`
- Extended `RDEPUBTextChapter` with `pageBreakReasons`
- Tagged normalized attributed content in `RDEPUBTextRendererSupport.normalizeReadingAttributes` so later pagination can inspect block and attachment semantics
## Compatibility
- `pageStartOffset`, `pageEndOffset`, `contentRange`, `fragmentOffsets`, and chapter text continuity remain intact
- Existing `RDEPUBTextBook` page lookup and location mapping continue to operate on absolute chapter offsets
## Notes
This wave deliberately extended the current book contract instead of replacing it. That kept highlight/search/navigation consumers stable while creating a place to land richer pagination semantics in Wave 2.