shenlei
278072aca0
停止跟踪 Demo 的 CocoaPods 产物,改为本地 pod install 生成
...
ReadViewDemo/Pods 此前整目录签入仓库,但白名单式的 .gitignore 只对 RDEpubReaderView、
RDPDFReaderView 的 Local Podspecs/Target Support Files 和 SnapKit 生效,其余第三方 pod
(DTCoreText、DTFoundation、ZIPFoundation,以及本次新增的 SDWebImage、SDWebImageSVGCoder)
反而因为父目录被显式取消忽略而绕过了全局 gitignore 的 Pods 规则,被当作普通文件跟踪,
导致每次 pod install 产生的构建产物、xcconfig、Pods.xcodeproj 都会出现在 diff 里。
改为直接忽略 ReadViewDemo/Pods 与 ReadViewDemo/Podfile.lock 整体,并 git rm --cached
移除已跟踪的文件(工作区文件不受影响)。此后 Demo 工程的依赖状态完全由 Podfile 决定,
拉取仓库后本地执行 pod install 即可重建,不再需要区分哪些 pod 目录该签入、哪些该忽略。
2026-08-14 12:12:39 +09:00
shenlei
95cead5863
修复 PDF 阅读交互稳定性并统一项目技能管理
...
PDF 阅读器在慢速双指缩放、竖向滚动页高异步更新、页面请求超时和绘画橡皮擦等场景中,存在视口跳动、迟到结果被错误丢弃、缓存边界不明确及笔迹显示与持久化不同步的问题;同一本书的标注读取和并发写入也会产生不必要的磁盘访问或覆盖风险。\n\n调整缩放 inset 计算和竖向阅读锚点恢复,避免缩放变换被重复计入、真实页高到达时改变当前阅读位置。页面请求改为带 token 的超时重试机制,可在缓存窗口内接收有效迟到结果并提供失败重试入口;页面大图、OCR、笔迹和描述缓存统一按当前页前后两页收敛,PDF 标识改为完整内容 SHA-256,避免同名或相近文件复用错误阅读状态。\n\n绘画会话内按路径实时重绘,退出会话后使用按图层派生的位图缓存,确保橡皮擦即时作用于已提交笔迹;同时为笔迹持久化增加版本控制、为标注读写增加同步保护和内存快照,降低复用与并发场景下的状态错乱。\n\n将项目技能统一迁入 .agents/skills,并以 .claude/skills 相对软链接供 Claude Code 读取;新增详细 Git 提交技能,自动审查改动、生成中文提交说明并约束安全推送。
验证:所有项目技能通过 quick_validate;执行 xcodebuild -workspace ReadViewDemo/ReadViewDemo.xcworkspace -scheme ReadViewDemo -configuration Debug -sdk iphonesimulator CODE_SIGNING_ALLOWED=NO build,构建成功。
2026-07-24 14:40:02 +09:00
shenlei
68d9363f0a
feat: optimize reader caching and document formats
2026-07-20 17:22:06 +09:00
shenlei and Claude Fable 5
1422461224
将 PDF 成品阅读控制器下沉为 RDPDFReaderView SDK,并修复手机横屏单页连续竖滑
...
SDK 化收尾:
- 新增 RDPDFReaderView 本地 pod(阅读容器、成品控制器、划线/注释、画笔、
目录/设置面板、主题与持久化契约),Demo 精简为 PDFKit 页面提供者 + 持久化宿主
- Podfile/工程接入 RDPDFReaderView 与 SnapKit,示例书改用 PDF 阅读器示例文件
手机横屏单页竖滑修复:
- cell 高度改为宽度适配后的纸张高度(sizeForItemAt + 宿主按页提供纵横比),
纵向超出一屏的内容由外层 collectionView 连续滚动承接,不再被裁掉
- 页面内部不再开启同向嵌套的兜底竖向拖动,修复外层滚动被吞、无法滚到下一页
- 修复 applyContentSize 先评估拖动开关后写 contentSize 的顺序缺陷
- 页码按视口中心命中 cell 计算,补 didEndDragging 兜底;旋转重锚点与
transitionToPage 改用真实布局位置
- 横竖屏同为竖滑时也重建 cell 并刷新全部可见页的适配配置
- 横屏单页点击不再跳页,只显隐工具栏;翻页交给连续竖滑
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-15 18:49:44 +09:00
shenlei
d7fcda345d
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
2026-07-10 19:44:53 +09:00
shenlei
71f4feb12f
Ignore local build caches
2026-07-03 16:13:50 +09:00
shenlei and Claude Opus 4.7
e976ceebd5
chore: add .artifacts/ to .gitignore
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-15 08:38:09 +08:00
shenand shen
cdc74e5ad9
chore: add .gitignore and remove tracked xcuserdata
...
Xcode user-specific data (xcuserdata) should not be version controlled.
2026-06-13 08:02:21 +08:00