本次提交围绕 DTCoreText 文本页的分页一致性、交互索引和高亮命中进行了集中修复。 主要改动: 1. 文本页显示改为基于整章 attributed string 的上下文布局,只对当前页 range 进行渲染,避免页面子串重新换行导致的页末断行偏差。 2. 页面布局快照与交互控制器统一改为使用 chapter-absolute 索引,修正点击、选区、菜单锚点与高亮矩形在整章上下文下的定位。 3. 修复跨章节高亮串页问题,并调整文本页高亮命中逻辑:保留 CoreText 层绘制,点击时按高亮真实 rect 精确命中,避免重复绘制和整行误判。 4. 收紧 reader 级页面缓存策略,避免预加载同时持有多份整章显示副本带来的内存放大。 5. 新增分页边界校验器、垂直对齐器和 settings-flip 自动化调试入口,用于复现与诊断页范围/显示度量不一致问题。 6. 放宽 inline attachment 的 avoid-break 处理,并补充相关分页问题调查文档与索引。
3.9 KiB
3.9 KiB
ReadViewSDK 文档索引
最后更新:2026-06-18
核心文档
| 文档 | 说明 |
|---|---|
| ARCHITECTURE.md | 系统架构总览:分层架构、核心数据流、缓存架构、目录结构、设计模式 |
| UML_CLASS_DIAGRAMS.md | UML 类图(Mermaid 格式):模块关系、核心类图、并发模型、缓存键设计 |
| BUSINESS_LOGIC.md | 业务逻辑详解:EPUB 解析、文本渲染管线、后台解析优化、翻页容器、标注系统、搜索、设置 |
代码级参考文档
| 文档 | 说明 |
|---|---|
| EPUBCore_CODE_REFERENCE.md | EPUBCore 模块代码级文档:解析器、Publication、WebView、JS 桥接、CFI、搜索、资源解析(~50 文件) |
| EPUBTextRendering_CODE_REFERENCE.md | EPUBTextRendering 模块代码级文档:排版管线、文本渲染、分页引擎、构建管线、索引表(~30 文件) |
| EPUBUI_CODE_REFERENCE.md | EPUBUI 模块代码级文档:阅读器控制器、协调器、章节运行时、设置、文本页面、标注(~60 文件) |
| ReaderView_CODE_REFERENCE.md | ReaderView 模块代码级文档:翻页容器、预加载、双页布局、手势、流式布局(14 文件) |
工程规范与风险
| 文档 | 说明 |
|---|---|
| CONCERNS.md | 代码库风险与关注点:12 项安全/性能/可维护性风险 |
| TESTING.md | 测试基础设施:UI 测试文件清单、运行方式、覆盖率 |
| CONVENTIONS.md | 编码规范:命名约定、代码风格、导入规范、错误处理 |
专题文档
| 文档 | 说明 |
|---|---|
| TYPESetter_PIPELINE.md | Typesetter 排版管线详解:HTML 规范化、语义标记注入、CFI 标记、样式合成为、字体规范化、片段标记 |
| CHAPTER_RUNTIME.md | 章节运行时详解:按需加载、章节窗口协调、页图管理、磁盘缓存、后台补全 |
| CFI_SUBSYSTEM.md | CFI 子系统详解:EPUB CFI 解析、生成、序列化、范围、恢复引擎 |
| CFI_ISSUES_REVIEW.md | CFI 实现问题分析报告:11 个问题(3 高 / 5 中 / 3 低),含修复优先级建议 |
| PAGINATION_ISSUES_2026-07-06.md | 分页问题调查记录:脚注图标 avoid-trim 裁行(已修复)+页范围/显示度量错配行中断页(待复现),含调试命令备忘 |
| API_REFERENCE.md | 公开 API 参考:RDEPUBReaderController 公开接口、委托协议、配置模型 |
| 当前阅读器问题修复开发清单.md | 基于当前代码实现整理的逐任务开发计划:10 个任务、修改位置、实施步骤、风险点与验收标准 |
| 大书远距目录跳转与后台补全优化方案.md | 面向大书按需分页模式的完整优化方案:远距目录跳转、后台补全优先级、页图接管协议与分阶段实施路径 |
| 标准级EPUB定位与兼容能力开发蓝图.md | 面向商业级 EPUB 阅读器的可执行蓝图:完整版 CFI、无 id 节点双向恢复、脚注弹层、字体回退与 CSS 兼容层 |
| 大书后台解析优化实施清单_30秒目标.md | 《凡人修仙传》后台解析性能优化方案,目标从 70s 压缩到 30-50s |
项目信息
- 模块总数: 4 个(EPUBCore、EPUBTextRendering、RDReaderView、EPUBUI)
- Swift 文件数: 142 个(SDK Sources)
- 测试用例数: 23 个测试类,约 99 个测试方法(UI 测试)
- 最低 iOS 版本: 15.6
- 构建方式: CocoaPods(本地 pod)