refactor: rename RDReaderView -> RDEpubReaderView, update pod config and docs

- Rename source module from RDReaderView to RDEpubReaderView
- Move all source files from Sources/RDReaderView/ to Sources/RDEpubReaderView/
- Update podspec: RDReaderView.podspec -> RDEpubReaderView.podspec
- Update Podfile, demo project, and CocoaPods config for new pod name
- Delete old RDReaderView pod support files from ReadViewDemo/Pods
- Add new RDEpubReaderView pod support files
- Update documentation (API ref, architecture, UML, conventions, etc.)
- Add FixedLayoutRotationTests
- Update .gitignore: exclude .DS_Store, manual unpack backups, _ssoft-output
This commit is contained in:
shenlei
2026-07-10 19:44:53 +09:00
parent d5a7755702
commit d7fcda345d
460 changed files with 38358 additions and 2300 deletions
+13 -13
View File
@@ -34,7 +34,7 @@ epubcfi(/6/4!ch01.xhtml/4/2/1:3)
顶层 CFI 模型,对应一个完整的 `epubcfi(...)` 字符串。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFI.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFI.swift`
```swift
public struct RDEPUBCFI: Codable, Equatable, Hashable {
@@ -66,7 +66,7 @@ public enum RDEPUBCFISideBias: String, Codable {
路径模型,由一组 `RDEPUBCFIStep` 组成,描述从根节点到目标节点的遍历序列。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIPath.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIPath.swift`
```swift
public struct RDEPUBCFIPath: Codable, Equatable, Hashable {
@@ -95,7 +95,7 @@ public struct RDEPUBCFIStep: Codable, Equatable, Hashable {
范围模型,表示文档中的一个连续区域,由父级 CFI 和起止 CFI 组成。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIRange.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIRange.swift`
```swift
public struct RDEPUBCFIRange: Codable, Equatable, Hashable {
@@ -116,7 +116,7 @@ public struct RDEPUBCFIRange: Codable, Equatable, Hashable {
将 CFI 字符串解析为结构化模型。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIParser.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIParser.swift`
```swift
public enum RDEPUBCFIParser {
@@ -154,7 +154,7 @@ print(cfi.textAssertion?.exact) // Optional("目标文本")
将 CFI 模型序列化为标准字符串。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFISerializer.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFISerializer.swift`
```swift
public enum RDEPUBCFISerializer {
@@ -192,7 +192,7 @@ let serialized = RDEPUBCFISerializer.serialize(cfi)
将 CFI 解析为可直接用于资源定位的结果。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIResolver.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIResolver.swift`
```swift
public struct RDEPUBCFIResolverResult: Equatable {
@@ -228,7 +228,7 @@ print(result.chapterOffset) // Optional(80)
从已知的章节信息生成 CFI。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIGenerator.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIGenerator.swift`
```swift
public enum RDEPUBCFIGenerator {
@@ -274,7 +274,7 @@ public enum RDEPUBCFIGenerator {
从 HTML 源码中提取带有 `id` 属性的元素路径映射。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIDOMPathBuilder.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIDOMPathBuilder.swift`
```swift
public enum RDEPUBCFIDOMPathBuilder {
@@ -296,7 +296,7 @@ public enum RDEPUBCFIDOMPathBuilder {
当 CFI 精确定位失败时(如 DOM 结构变更),恢复引擎通过多级降级策略尝试找到最佳匹配位置。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIRecoveryEngine.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIRecoveryEngine.swift`
### 5.1 恢复置信度
@@ -361,7 +361,7 @@ let result = RDEPUBCFIRecoveryEngine.recover(
文本断言用于在 CFI 定位后验证所指位置的文本内容是否符合预期,增强定位鲁棒性。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFITextAssertion.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFITextAssertion.swift`
```swift
public struct RDEPUBCFITextAssertion: Codable, Equatable, Hashable {
@@ -393,7 +393,7 @@ print(assertion?.suffix) // Optional("后续内容")
提供宽松解析接口,兼容非标准 CFI 格式。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFICompatibility.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFICompatibility.swift`
```swift
public enum RDEPUBCFICompatibility {
@@ -418,7 +418,7 @@ public enum RDEPUBCFICompatibility {
CFI 映射是章节级别的索引结构,将 CFI 路径映射到章节文本偏移量,是容错恢复引擎的核心数据源。
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIMap.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIMap.swift`
### 8.1 RDEPUBCFIMap
@@ -506,7 +506,7 @@ public struct RDEPUBCFITokenAnchor: Codable, Equatable {
## 9. 错误类型(RDEPUBCFIError
**文件**`Sources/RDReaderView/EPUBCore/CFI/RDEPUBCFIError.swift`
**文件**`Sources/RDEpubReaderView/EPUBCore/CFI/RDEPUBCFIError.swift`
```swift
public enum RDEPUBCFIError: Error, Equatable {