mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 03:46:16 -08:00
49 lines
4.8 KiB
Markdown
49 lines
4.8 KiB
Markdown
# 阶段路线
|
||
|
||
执行细节与状态见 [完整计划表](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 回退演练应提前完成。
|