ReadViewSDK/.planning/ROADMAP.md
2026-05-21 20:35:51 +08:00

3.7 KiB
Raw Blame History

路线图ReadViewSDK

概述

本次路线图以“在不扩大范围的前提下,将 reflowable EPUB 渲染路径替换为参考 Doc/WXRead/ 的微信读书WXRead原生渲染方式”为主线。Fixed Layout 与交互式 EPUB 保持 WKWebView 路径不变;除渲染替换所必需的最小改动外,其它能力暂不主动调整。每个 Phase 都以“可验证的稳定性”为完成标准。

Phases

  • Phase 1对齐现状与改造边界 - 明确 reflowable/Fixed/交互式 的判定与现有路径,锁定不做范围
  • Phase 2WXRead 渲染管线方案落地reflowable - 依据 Doc/WXRead/ 设计并落地原生渲染入口与最小可用链路
  • Phase 3集成与稳定性回归 - 集成到现有 reader 入口,确保主流程与常见内容稳定可用

Phase Details

Phase 1对齐现状与改造边界

Goal:明确 reflowable EPUB 当前渲染/分页路径与切换点,制定替换策略与不做边界,确保 WKWebView 场景不被误伤。
Depends onNothing (first phase)
RequirementsREND-02
Success Criteria(必须为 TRUE

  1. 能明确判定一本 EPUB 属于 reflowable / Fixed Layout / 交互式(以工程实现为准)
  2. 固定版式与交互式 EPUB 仍走 WKWebView,并形成清晰的“保持不改”约束
  3. 输出一份可执行的实现策略:将 reflowable EPUB 切换到 WXRead 风格原生渲染 Plans2 plans

Plans:

  • 01-01阅读 Doc/WXRead/analysis/* 与关键 decompiled 符号,提炼“原生渲染”最小管线与可替换点
  • 01-02审计现有 Sources/RDReaderView/EPUBCore reflowable 渲染/分页路径,确定切入点与迁移策略

Phase 2WXRead 渲染管线方案落地reflowable

Goal:在 SDK 内为 reflowable EPUB 引入 WXRead 风格的原生渲染入口,跑通最小可用链路(可在 Demo 中验证)。
Depends onPhase 1
RequirementsREND-01, REND-03
Success Criteria(必须为 TRUE

  1. reflowable EPUB 可不依赖现有 WKWebView 渲染路径完成排版/分页/展示
  2. 渲染结果在 Demo 中可稳定展示(最小支持:段落/标题/基础样式/图片)
  3. 切换判定逻辑清晰、可测,且 Fixed/交互式路径未被影响 Plans3 plans

Plans:

  • 02-01定义并实现 reflowable EPUB 的“原生渲染”模块边界typesetter/layouter/page model 等)
  • 02-02对接现有解析与资源加载manifest/spine/资源寻址),保证图片/CSS/字体等基础资源可用
  • 02-03在现有 reader 入口处接入新渲染路径(保持对外 API 尽量不变)

Phase 3集成与稳定性回归

Goal:把新 reflowable 渲染路径完整集成到阅读器体验中,保证主流程稳定可用,并建立最小回归保障。
Depends onPhase 2
RequirementsSTAB-01, STAB-02
Success Criteria(必须为 TRUE

  1. RDURLReaderController 打开 .epub/.txt 的主流程不回归
  2. reflowable EPUB 在常见内容下不出现崩溃/白屏/卡死等关键稳定性问题
  3. Demo 可用于复现与回归验证(至少包含 2-3 本典型 reflowable EPUB 用例) Plans2 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 -