feat(wxread): align pagination, rendering, and docs

This commit is contained in:
shen
2026-05-24 15:36:01 +08:00
parent a318c0e3d0
commit 2a94921e88
103 changed files with 6124 additions and 4623 deletions
@@ -0,0 +1,19 @@
---
phase: 6
plan: 06-01
status: complete
requirements-completed:
- LAYOUT-01
- LAYOUT-03
updated: 2026-05-22
---
# 06-01 Summary
- Added `RDEPUBTextPageGeometry` value types and threaded page geometry through `RDEPUBTextLayoutFrame`, `RDEPUBTextPage`, and both text book builders.
- Geometry now comes from CoreText line offsets instead of inferred page offsets, while `pageStartOffset`, `pageEndOffset`, `fragmentOffsets`, and `RDEPUBTextOffsetRangeInfo` semantics remain unchanged.
- Added reusable page query helpers for range-to-rect and rect or point back to absolute text ranges.
## Verification
- `build_sim` for `ReadViewDemo` on iOS Simulator succeeded on 2026-05-22.
@@ -0,0 +1,19 @@
---
phase: 6
plan: 06-02
status: complete
requirements-completed:
- LAYOUT-02
- LAYOUT-03
updated: 2026-05-22
---
# 06-02 Summary
- Added `RDEPUBSelectionOverlayView` and mounted it above the native text host so visible selection rendering is driven by page geometry.
- Preserved the controller-owned selection contract: selections still normalize through `RDEPUBSelection`, absolute offsets still serialize through `RDEPUBTextOffsetRangeInfo`, and menu actions still flow through `RDEPUBReaderController`.
- Clearing or reconfiguring a page now clears both overlay state and controller selection state.
## Verification
- `build_sim` for `ReadViewDemo` on iOS Simulator succeeded on 2026-05-22.
@@ -0,0 +1,21 @@
---
phase: 6
plan: 06-03
status: complete
requirements-completed:
- LAYOUT-01
- LAYOUT-02
- LAYOUT-03
updated: 2026-05-22
---
# 06-03 Summary
- Added deterministic native text geometry summaries on `RDEPUBTextPage` and `RDEPUBReaderController`.
- Extended `ReadViewDemo` startup validation to emit pagination, restore, and geometry diagnostics for native reflowable samples while keeping the fixed/interactive and TXT matrix intact.
- Verified simulator logs now surface geometry evidence for a real sample page with explicit `selection none` output.
## Verification
- `build_run_sim` for `ReadViewDemo` on iPhone 17 (iOS 26.5 simulator) succeeded on 2026-05-22.
- Runtime log included `几何诊断:宝山辽墓材料与释读 · page 40 · href Text/Chapter_4_2.xhtml · range {1056, 227} · lines 13 · fragments 227 · selection none`.