ReadViewSDK/Doc/index.md
shenlei 5a41066b66 修复 EPUB 文本分页显示错位并补充分页调试能力
本次提交围绕 DTCoreText 文本页的分页一致性、交互索引和高亮命中进行了集中修复。

主要改动:

1. 文本页显示改为基于整章 attributed string 的上下文布局,只对当前页 range 进行渲染,避免页面子串重新换行导致的页末断行偏差。

2. 页面布局快照与交互控制器统一改为使用 chapter-absolute 索引,修正点击、选区、菜单锚点与高亮矩形在整章上下文下的定位。

3. 修复跨章节高亮串页问题,并调整文本页高亮命中逻辑:保留 CoreText 层绘制,点击时按高亮真实 rect 精确命中,避免重复绘制和整行误判。

4. 收紧 reader 级页面缓存策略,避免预加载同时持有多份整章显示副本带来的内存放大。

5. 新增分页边界校验器、垂直对齐器和 settings-flip 自动化调试入口,用于复现与诊断页范围/显示度量不一致问题。

6. 放宽 inline attachment 的 avoid-break 处理,并补充相关分页问题调查文档与索引。
2026-07-08 14:27:36 +09:00

3.9 KiB
Raw Blame History

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