feat: complete large-book pagination runtime and UI coverage

This commit is contained in:
shenlei
2026-06-03 17:47:16 +08:00
parent 584976ac5f
commit feb05eaf87
53 changed files with 6307 additions and 5126 deletions
@@ -50,8 +50,18 @@ extension RDEPUBReaderController {
/// 访
/// - Returns: nil
public func nativeTextSemanticSummary() -> String? {
guard let textBook,
let page = textBook.page(at: max(readerView.currentPage + 1, 1)) ?? textBook.pages.first else {
let resolvedPage: RDEPUBTextPage?
if let textBook {
resolvedPage = textBook.page(at: max(readerView.currentPage + 1, 1)) ?? textBook.pages.first
} else if readerContext.bookPageMap != nil {
let absolutePageIndex = max(readerView.currentPage, 0)
_ = runtime.prepareOnDemandChapter(forAbsolutePageNumber: absolutePageIndex + 1)
resolvedPage = runtime.pageResolver.resolvePage(absolutePageIndex: absolutePageIndex)?.page
} else {
resolvedPage = nil
}
guard let page = resolvedPage else {
return nil
}
@@ -242,4 +252,3 @@ extension RDEPUBReaderController {
runtime.clearSearch()
}
}