6.0 KiB
6.0 KiB
phase: 05-regression-stability
plan: 02
type: execute
wave: 2
depends_on:
- "05-01"
files_modified:
- Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift
- Sources/RDReaderView/EPUBTextRendering/RDEPUBTextBookBuilder.swift
- Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift
- Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift
- Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift
- Sources/RDReaderView/RDURLReaderController.swift
- ReadViewDemo/ReadViewDemo/ViewController.swift
autonomous: true
requirements:
- STAB-02
user_setup: []
must_haves:
truths:
- Phase 5 is allowed to fix concrete regressions discovered by the validation matrix.
- fixes should be evidence-driven and narrow in scope.
- no new architecture should be introduced in a convergence phase.
artifacts:
- .planning/phases/05-regression-stability/05-02-SUMMARY.md
- .planning/phases/05-regression-stability/05-VERIFICATION.md
key_links:
-
RDEPUBReaderController
- RDEPUBTextBookBuilder
- RDEPUBWebView*
- RDURLReaderController
依据样本矩阵执行回归,定位并收敛分页、位置映射、图片/块元素分页、fixed/interactive 资源加载,以及主题切换后的稳定性问题。
Purpose: 用真实样本和 reader 主流程把 Phase 1-4 的改动压测到可交付稳定水平。 Output: regression fixes where needed, plus a verification artifact showing which main flows and sample categories passed.
@.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/05-regression-stability/05-RESEARCH.md @.planning/phases/05-regression-stability/05-PATTERNS.md @.planning/phases/05-regression-stability/05-VALIDATION.md @.planning/phases/03-page-metadata-pagination/03-VERIFICATION.md @.planning/phases/04-reader-capabilities/04-VERIFICATION.md @Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift @Sources/RDReaderView/EPUBTextRendering/RDEPUBTextBookBuilder.swift @Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift @Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift @Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift @Sources/RDReaderView/RDURLReaderController.swift @ReadViewDemo/ReadViewDemo/ViewController.swift @ReadViewDemo/ReadViewDemo/book/ Task 1: 按矩阵执行 reader 主流程回归并修复具体问题 Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift, Sources/RDReaderView/EPUBTextRendering/RDEPUBTextBookBuilder.swift, Sources/RDReaderView/RDURLReaderController.swift, ReadViewDemo/ReadViewDemo/ViewController.swift .planning/phases/05-regression-stability/05-VALIDATION.md, Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift, Sources/RDReaderView/RDURLReaderController.swift, ReadViewDemo/ReadViewDemo/ViewController.swift 基于样本矩阵执行 native reflowable 与 TXT 相关 reader 主流程验证,包括打开、位置恢复、搜索、highlight、TOC、theme/font repagination,并对发现的具体问题做最小修复。重点是收敛错误页、状态丢失、刷新后高亮/搜索不一致、TXT 入口回退等问题。 - key native/TXT reader flows have explicit pass evidence - any fixes are traceable to a concrete regression found during validation - no broad architectural refactor is introduced rg -n "search|highlight|location|restore|theme|font|bookmark|tableOfContents" Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift Sources/RDReaderView/RDURLReaderController.swift ReadViewDemo/ReadViewDemo/ViewController.swift native and TXT reader flows are regression-checked and stabilized. Task 2: 回归 fixed / interactive WebKit 路径并收敛资源加载与展示问题 Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift, Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift, Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift, ReadViewDemo/ReadViewDemo/ViewController.swift Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift, Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift, Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift, ReadViewDemo/ReadViewDemo/ViewController.swift 对 fixed / interactive EPUB 路径做回归验证,利用现有 `RDEPUBWebViewDebug` 与 demo/runtime evidence 检查资源加载、页面渲染、外链/内部链接与 search decoration 相关行为。若发现明显回归(白屏、加载失败、关键资源缺失、渲染未完成),做最小修复并把结果写入 verification artifact。 - fixed or interactive sample path has explicit runtime evidence - resource loading and rendering regressions are either fixed or clearly surfaced in verification - demo/runtime logs remain sufficient to inspect failures without adding a second validation shell rg -n "RDEPUBWebViewDebug|load fixed|ResourceScheme|rendered|didFail|didFinish|searchPresentation" Sources/RDReaderView/EPUBCore ReadViewDemo/ReadViewDemo -S WebKit-backed reader paths are included in the final regression closure, not treated as out-of-band. Before declaring plan complete: - [ ] `find ReadViewDemo/ReadViewDemo/book -maxdepth 1 -type f | sort` - [ ] `rg -n "search|highlight|location|restore|theme|font|bookmark|tableOfContents" Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift Sources/RDReaderView/RDURLReaderController.swift ReadViewDemo/ReadViewDemo/ViewController.swift` - [ ] `rg -n "RDEPUBWebViewDebug|load fixed|ResourceScheme|rendered|didFail|didFinish|searchPresentation" Sources/RDReaderView/EPUBCore ReadViewDemo/ReadViewDemo -S` After completion, create `.planning/phases/05-regression-stability/05-02-SUMMARY.md` and `.planning/phases/05-regression-stability/05-VERIFICATION.md`