ReadViewSDK/.planning/phases/04-reader-capabilities/04-VERIFICATION.md

2.1 KiB
Raw Blame History

Phase 4 Verification

Commands

  • build_sim for scheme ReadViewDemo
  • build_run_sim for scheme ReadViewDemo
  • test -d ReadViewDemo/ReadViewDemo/book
  • rg -n "paginatePublication|applyTextBook|finishPagination|restoreReadingLocation|currentVisibleLocation|RDEPUBTextOffsetRangeInfo|normalizedTextSelection|pageStartOffset|pageEndOffset|search\\(|navigateToCurrentSearchMatch|pageNumber\\(for: searchMatch\\)|flattenedTableOfContentsItems|pageIndex\\(for:|requiresRepagination|refreshVisibleContentPreservingLocation|rebuildExternalTextBook|handleViewportChangeIfNeeded|restore|repagination|highlight|location|theme|font" Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift Sources/RDReaderView/EPUBUI/RDEPUBTextContentView.swift Sources/RDReaderView/EPUBCore Sources/RDReaderView/RDURLReaderController.swift ReadViewDemo/ReadViewDemo -S

Results

  • Simulator build succeeded
  • Simulator launch succeeded
  • Sample corpus directory exists
  • Source verification confirms:
    • native text pagination now feeds a real reader snapshot and location helpers
    • native selection/highlight compatibility still depends on absolute chapter offsets
    • native search page lookup now uses exact offset evidence when available
    • repagination and restore hooks remain centered in RDEPUBReaderController, not RDReaderView

Runtime Evidence

From the app runtime log:

  • EPUB 资源验证2/2 通过
  • 分页诊断:宝山辽墓材料与释读 · 章节 10 · attachment 页 54 · semantic break 页 57 · reasons [attachmentBoundary:31, blockBoundary:26, frameLimit:17, chapterEnd:4] · page break: blockBoundary
  • 恢复诊断:宝山辽墓材料与释读 · base 39 · font-shift 44 · theme-stable yes · href-stable yes · progression-delta 0.004

Residual Risk

  • The restore validation is still corpus-level and not a full interactive UI automation pass through TOC/highlight/search actions
  • The native and web paths still branch inside RDEPUBReaderController; Phase 5 should focus on broader regression and stability coverage rather than further architectural expansion