chore: archive v1.0 milestone

This commit is contained in:
shen
2026-05-22 13:52:47 +08:00
parent 5698aeaead
commit 1498e83ace
9 changed files with 602 additions and 205 deletions
+20 -6
View File
@@ -8,6 +8,12 @@
稳定可用的 EPUB/TXT 阅读体验。
## Current State
- 已完成 `v1.0`:现有 reflowable EPUB native path 已完成一轮 WXRead 风格原生化演进。
- chapter-level CSS 分层、页面元数据、复杂分页、reader restore/search/highlight 回接,以及 demo 样本矩阵都已落地。
- Fixed Layout / interactive EPUB 仍保持 `WKWebView` 路径,`RDReaderView` 仍保持既有分页容器契约。
## 需求
### 已验证(现有能力)
@@ -19,10 +25,11 @@
- ✓ 固定版式(Fixed Layout)与交互式内容存在 `WKWebView` 相关能力与桥接(现有)
- ✓ TXT 通过 `RDPlainTextBookBuilder` / `RDEPUBTextBook` 路径进入同一阅读器 UX(现有)
- ✓ 默认使用 `UserDefaults` 进行部分阅读器状态/设置持久化(现有)
- ✓ v1.0 已完成 native reflowable 原生化基础:CSS 分层、页面级 metadata、分页器强化、reader 回接与样本矩阵验证(v1.0)
### 进行中(本次范围)
- [ ] **reflowable EPUB** 的现有旧引擎直接重构为参考 `Doc/WXRead/` 的“微信读书(WXRead)原生渲染方案”,覆盖 CSS 分层、自定义 DTCoreText 属性体系、页面级元数据、复杂分页与 reader 集成能力,并在 SDK 内稳定落地且可回归验证
- [ ] v1.1 继续补齐 WXRead 深化对齐:layout frame 几何能力、自定义分页属性闭环、分页质量/缓存、以及更强的自动化验证
### 不做(明确排除)
@@ -54,10 +61,17 @@
| 决策 | 原因 | 结果 |
|---|---|---|
| reflowable EPUB 旧引擎直接重构为 WXRead 风格原生渲染 | 需要页面级排版能力,而不是继续在轻量 renderer 外壳上打补丁 | — Pending |
| Fixed Layout 与交互式 EPUB 继续使用 `WKWebView` | 降低风险与范围,避免破坏既有能力 | — Pending |
| 不保留并行 reflowable 原生引擎 | 避免双引擎长期维护成本,把演进压力集中在现有主路径上 | — Pending |
| 不修改当前翻页代码 | 控制改动半径,避免把阅读容器与翻页交互回归风险卷入本次内核重构 | — Pending |
| reflowable EPUB 旧引擎直接重构为 WXRead 风格原生渲染 | 需要页面级排版能力,而不是继续在轻量 renderer 外壳上打补丁 | ✓ Good |
| Fixed Layout 与交互式 EPUB 继续使用 `WKWebView` | 降低风险与范围,避免破坏既有能力 | ✓ Good |
| 不保留并行 reflowable 原生引擎 | 避免双引擎长期维护成本,把演进压力集中在现有主路径上 | ✓ Good |
| 不修改当前翻页代码 | 控制改动半径,避免把阅读容器与翻页交互回归风险卷入本次内核重构 | ✓ Good |
## Next Milestone Goals
- 补齐 native text `layout frame` 几何查询能力,减少 reader 交互对 `UITextView` 黑盒的依赖
- 建立 WXRead 风格自定义分页属性从 HTML/CSS 到 paginator 的闭环
- 提升复杂图文章节分页质量,并增加缓存与性能采样
- 把 native reflowable 主路径的验证从 runtime spot-check 提升到自动化或稳定半自动化
## 演进
@@ -77,4 +91,4 @@
4. 更新背景与上下文到当前真实状态
---
*Last updated: 2026-05-21 after initialization*
*Last updated: 2026-05-22 after v1.0 milestone completion*