3.7 KiB
3.7 KiB
路线图:ReadViewSDK
概述
本次路线图以“在不扩大范围的前提下,将 reflowable EPUB 渲染路径替换为参考 Doc/WXRead/ 的微信读书(WXRead)原生渲染方式”为主线。Fixed Layout 与交互式 EPUB 保持 WKWebView 路径不变;除渲染替换所必需的最小改动外,其它能力暂不主动调整。每个 Phase 都以“可验证的稳定性”为完成标准。
Phases
- Phase 1:对齐现状与改造边界 - 明确 reflowable/Fixed/交互式 的判定与现有路径,锁定不做范围
- Phase 2:WXRead 渲染管线方案落地(reflowable) - 依据
Doc/WXRead/设计并落地原生渲染入口与最小可用链路 - Phase 3:集成与稳定性回归 - 集成到现有 reader 入口,确保主流程与常见内容稳定可用
Phase Details
Phase 1:对齐现状与改造边界
Goal:明确 reflowable EPUB 当前渲染/分页路径与切换点,制定替换策略与不做边界,确保 WKWebView 场景不被误伤。
Depends on:Nothing (first phase)
Requirements:REND-02
Success Criteria(必须为 TRUE):
- 能明确判定一本 EPUB 属于 reflowable / Fixed Layout / 交互式(以工程实现为准)
- 固定版式与交互式 EPUB 仍走
WKWebView,并形成清晰的“保持不改”约束 - 输出一份可执行的实现策略:将 reflowable EPUB 切换到 WXRead 风格原生渲染 Plans:2 plans
Plans:
- 01-01:阅读
Doc/WXRead/analysis/*与关键 decompiled 符号,提炼“原生渲染”最小管线与可替换点 - 01-02:审计现有
Sources/RDReaderView/EPUBCorereflowable 渲染/分页路径,确定切入点与迁移策略
Phase 2:WXRead 渲染管线方案落地(reflowable)
Goal:在 SDK 内为 reflowable EPUB 引入 WXRead 风格的原生渲染入口,跑通最小可用链路(可在 Demo 中验证)。
Depends on:Phase 1
Requirements:REND-01, REND-03
Success Criteria(必须为 TRUE):
- reflowable EPUB 可不依赖现有
WKWebView渲染路径完成排版/分页/展示 - 渲染结果在 Demo 中可稳定展示(最小支持:段落/标题/基础样式/图片)
- 切换判定逻辑清晰、可测,且 Fixed/交互式路径未被影响 Plans:3 plans
Plans:
- 02-01:定义并实现 reflowable EPUB 的“原生渲染”模块边界(typesetter/layouter/page model 等)
- 02-02:对接现有解析与资源加载(manifest/spine/资源寻址),保证图片/CSS/字体等基础资源可用
- 02-03:在现有 reader 入口处接入新渲染路径(保持对外 API 尽量不变)
Phase 3:集成与稳定性回归
Goal:把新 reflowable 渲染路径完整集成到阅读器体验中,保证主流程稳定可用,并建立最小回归保障。
Depends on:Phase 2
Requirements:STAB-01, STAB-02
Success Criteria(必须为 TRUE):
RDURLReaderController打开.epub/.txt的主流程不回归- reflowable EPUB 在常见内容下不出现崩溃/白屏/卡死等关键稳定性问题
- Demo 可用于复现与回归验证(至少包含 2-3 本典型 reflowable EPUB 用例) Plans:2 plans
Plans:
- 03-01:补齐关键回归用例与诊断手段(日志/开关/快速回退策略)
- 03-02:对 reflowable 渲染在真实内容上的问题做收敛与修复,形成可持续迭代基线
Progress
| Phase | Plans Complete | Status | Completed |
|---|---|---|---|
| 1. 对齐现状与改造边界 | 0/2 | Not started | - |
| 2. WXRead 渲染管线方案落地(reflowable) | 0/3 | Not started | - |
| 3. 集成与稳定性回归 | 0/2 | Not started | - |