1.1 KiB
1.1 KiB
03-02 Summary
Outcome
Wave 2 replaced the range-only pagination path with an internal layouter/frame vocabulary inside EPUBTextRendering.
- Added
RDEPUBTextLayouter.swift - Added
RDEPUBTextLayoutFrame.swift - Updated
RDEPUBTextPaginationSupport.swiftsoss_pageRanges(size:)now delegates tord_paginatedFrames(size:fragmentOffsets:) - Updated
RDEPUBTextBookBuilderandRDPlainTextBookBuilderto build pages from layout frames instead of bareNSRangeslices
New Semantics
- Page breaks now carry one of
chapterEnd,frameLimit,blockBoundary, orattachmentBoundary - Layout frames capture block-range context, attachment ranges/kinds, trailing fragment id, and page-edge diagnostics
- The layouter still uses CoreText measurement, but page boundaries are adjusted with block/attachment-aware rules before serialization back into
RDEPUBTextPage
Compatibility
- Final output is still
RDEPUBTextBook(chapters: pages:) pageStartOffset/pageEndOffsetremain the compatibility key for search, highlights, and later reader reintegration