102 lines
6.0 KiB
Markdown
102 lines
6.0 KiB
Markdown
---
|
||
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`
|
||
---
|
||
|
||
<objective>
|
||
依据样本矩阵执行回归,定位并收敛分页、位置映射、图片/块元素分页、fixed/interactive 资源加载,以及主题切换后的稳定性问题。
|
||
|
||
Purpose: 用真实样本和 reader 主流程把 Phase 1-4 的改动压测到可交付稳定水平。
|
||
Output: regression fixes where needed, plus a verification artifact showing which main flows and sample categories passed.
|
||
</objective>
|
||
|
||
<context>
|
||
@.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/
|
||
</context>
|
||
|
||
<tasks>
|
||
|
||
<task type="auto">
|
||
<name>Task 1: 按矩阵执行 reader 主流程回归并修复具体问题</name>
|
||
<files>Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift, Sources/RDReaderView/EPUBTextRendering/RDEPUBTextBookBuilder.swift, Sources/RDReaderView/RDURLReaderController.swift, ReadViewDemo/ReadViewDemo/ViewController.swift</files>
|
||
<read_first>.planning/phases/05-regression-stability/05-VALIDATION.md, Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift, Sources/RDReaderView/RDURLReaderController.swift, ReadViewDemo/ReadViewDemo/ViewController.swift</read_first>
|
||
<action>基于样本矩阵执行 native reflowable 与 TXT 相关 reader 主流程验证,包括打开、位置恢复、搜索、highlight、TOC、theme/font repagination,并对发现的具体问题做最小修复。重点是收敛错误页、状态丢失、刷新后高亮/搜索不一致、TXT 入口回退等问题。</action>
|
||
<acceptance_criteria>
|
||
- 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
|
||
</acceptance_criteria>
|
||
<verify>rg -n "search|highlight|location|restore|theme|font|bookmark|tableOfContents" Sources/RDReaderView/EPUBUI/RDEPUBReaderController.swift Sources/RDReaderView/RDURLReaderController.swift ReadViewDemo/ReadViewDemo/ViewController.swift</verify>
|
||
<done>native and TXT reader flows are regression-checked and stabilized.</done>
|
||
</task>
|
||
|
||
<task type="auto">
|
||
<name>Task 2: 回归 fixed / interactive WebKit 路径并收敛资源加载与展示问题</name>
|
||
<files>Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift, Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift, Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift, ReadViewDemo/ReadViewDemo/ViewController.swift</files>
|
||
<read_first>Sources/RDReaderView/EPUBCore/RDEPUBWebView.swift, Sources/RDReaderView/EPUBCore/RDEPUBWebView+FixedLayout.swift, Sources/RDReaderView/EPUBCore/RDEPUBResourceURLSchemeHandler.swift, ReadViewDemo/ReadViewDemo/ViewController.swift</read_first>
|
||
<action>对 fixed / interactive EPUB 路径做回归验证,利用现有 `RDEPUBWebViewDebug` 与 demo/runtime evidence 检查资源加载、页面渲染、外链/内部链接与 search decoration 相关行为。若发现明显回归(白屏、加载失败、关键资源缺失、渲染未完成),做最小修复并把结果写入 verification artifact。</action>
|
||
<acceptance_criteria>
|
||
- 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
|
||
</acceptance_criteria>
|
||
<verify>rg -n "RDEPUBWebViewDebug|load fixed|ResourceScheme|rendered|didFail|didFinish|searchPresentation" Sources/RDReaderView/EPUBCore ReadViewDemo/ReadViewDemo -S</verify>
|
||
<done>WebKit-backed reader paths are included in the final regression closure, not treated as out-of-band.</done>
|
||
</task>
|
||
|
||
</tasks>
|
||
|
||
<verification>
|
||
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`
|
||
</verification>
|
||
|
||
<output>
|
||
After completion, create `.planning/phases/05-regression-stability/05-02-SUMMARY.md` and `.planning/phases/05-regression-stability/05-VERIFICATION.md`
|
||
</output>
|