Files
ArtPlayer/refactor/roadmap.md

49 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 阶段路线
执行细节与状态见 [完整计划表](plan.md)。本表只描述阶段目标;依赖关系由 [tasks.json](tasks.json) 维护。
| 阶段 | 任务前缀 | 工作 | 阶段出口 |
| --- | --- | --- | --- |
| 0 规划 | DOC | 创建分支、包清点、契约和文档维护机制 | 22 个包全部有任务,校验脚本通过 |
| 1 基线 | BASE | 已发布版本取证、API/事件/DOM/产物/性能快照、缺陷台账 | 有可重跑的兼容基线;历史版本范围明确 |
| 2 工程保障 | ENG | 固定工具链、只读 CI、单测、浏览器测试、类型/发布包检查、非交互构建 | 从干净环境可以执行可靠检查 |
| 2.1 早期试点 | PILOT | 在旧核心上完成 chapter 的 TS、类型、浏览器及 tarball 闭环 | 开始核心大范围迁移前验证工具与任务粒度 |
| 3 生命周期与类型基础 | CORE-01 至 CORE-08 | 纯工具、Emitter、资源回收、销毁、配置、内部类型、插件管理器 | 核心资源与类型边界稳定,原插件契约保留 |
| 4 核心模块 | CORE-09 至 CORE-23 | 播放和切源、媒体适配、字幕、UI、设置、模式、输入、内置插件、入口、声明和无障碍 | 核心类型与实现一致,旧行为和首批旧插件通过 |
| 5 生态迁移 | PKG | 全部插件/proxy/工具按包的步骤迁移 | 每包测试、声明、demo 和发布包检查有证据 |
| 6 文档及消费者 | SITE / EX | 文档站、示例、生成器、React/Vue/原生集成 | 文档和消费者使用真实产物通过 |
| 7 Bun 与性能 | MOD | Bun 依赖管理试点、脚本整理、热路径测量优化 | Node 回归保留,性能收益有基线比较 |
| 8 发布验收 | REL | 新旧组合、候选包、真机、灰度、维护分支和回退演练 | 分包发布结论完整、可恢复旧版本 |
## 执行顺序
1. 完成 DOC 后建立核心与 chapter 的最小 BASE 基线,再推进对应 ENG;其他包在自身契约任务补齐历史基线。已有测试继续保留。
2. chapter 先在已有核心上完成 01 至 04 步及 PILOT-01,不等待设置面板重构;试点闭环通过后再做 CORE-01 至 CORE-08。
3. 播放、设置、字幕和媒体接口分别稳定后,再推进相应插件;不要求等整个核心完成才开始所有生态任务。
4. danmuku、MediaBunny、跨文档 PiP、ASR、外部 SDK 插件各自分批,不能与基础播放改造混在同一补丁中。
5. 所有包的最终集成/分发验收依赖 CORE-22;早期试点通过不能代替最终核心上的重新验证。文档静态核对和本地候选包准备可以先做,设备缺口保留在相关验证任务。
6. 默认包管理器已由用户指定为 Yarn;Bun 可以进行隔离安装对比,未经后续用户新决定不得替换 Yarn。
7. 生命周期缺陷修复、TS 迁移、目录移动、依赖升级、行为增强应形成不同变更记录。单个小步骤确实不可分时记录原因。
## 里程碑
- M1:固定旧契约、历史版本矩阵和已知缺陷,CI 能在 PR 上执行。
- M2:chapter 在旧核心上的 TS/类型/浏览器/tarball 试点通过,任务粒度和成本得到校准;之后再推进核心。
- M3:核心和全部生态包完成 TS/边界整理,源码与产物测试通过。
- M4:候选包完成新旧组合、真机、文档和性能验证,再通过 REVIEW-01/02/03 三轮复盘,准备分包灰度发布。
- M5:灰度结论通过并完成正式发布记录;旧版本继续可安装、可回退。
## 范围限制
- 不强制用户升级所有插件,不增加浏览器端 Bun 依赖,不取消旧入口或 legacy 产物。
- 不把核心改为依赖 React/Vue,不默认增加远程 AI 请求或模型下载。AI 主要改善工程流程;已有 ASR/分割插件按原能力边界维护。
- 不顺带重写第三方 vendored 实现;如 JASSUB、字幕 parser、screenfull,先记录来源、许可和更新方式。
- 不用“保持旧 API”掩盖安全问题。安全修正应单独取证、评估影响并安排发布,不能顺手更改默认协议或混入结构迁移。
- 后续新增功能、重命名公开字段、删除历史拼写、统一所有插件返回形状,不属于默认重构范围。
## 维护与回退
本分支接收独立、可审查的变更。开始每批之前记录 HEAD 和工作区状态;与 master 同步时先识别重叠更改,再重跑受影响的兼容检查。主线紧急修复可回移到本分支,禁止在共享分支上重写他人历史。每批记录可回退提交;正式提交和发布在实际执行时按用户授权范围进行。
每项任务验收后立即独立本地提交;推送和发布另按授权执行。执行细节与逐包发布准入见 [执行门槛](execution-gates.md)。REL 阶段编号不是启动顺序,REL-08 台账和 REL-04 回退演练应提前完成。