mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-10 12:46:15 -08:00
3.1 KiB
3.1 KiB
决策记录
状态:采用方向 / 待验证 / 已拒绝 / 已替代。采用方向不代表实现完成,技术细节可由后续证据修订。
| ID | 状态 | 决策 | 原因与约束 |
|---|---|---|---|
| ADR-001 | 采用方向 | 保留公共 Artplayer 门面、渐进替换内部 | 大量旧用户及插件;属性/事件/分发均是契约 |
| ADR-002 | 采用方向 | 自有核心、插件、proxy、工具逐步 TS 化 | 消除实现/声明漂移;JS/TS 过渡,公开类型兼容 |
| ADR-003 | 采用方向 | 先测试、生命周期,再大范围模块调整 | 已有销毁与切源风险;不能仅靠改写语言获得可靠性 |
| ADR-004 | 待验证 | Bun 先用于依赖管理和脚本入口 | 需要固定版本、干净安装和完整包验证;不替换 Node 测试语义 |
| ADR-005 | 采用方向 | 保留 Vite/Rollup 的既有分发能力 | UMD/AMD/legacy、Less/SVG/worker 兼容成本明确 |
| ADR-006 | 采用方向 | 每包独立任务和版本,公共共享依赖谨慎增加 | 支持旧核心配新插件;不强制生态同步升级 |
| ADR-007 | 采用方向 | 机器任务表 + 可读生成表 + 每次变更记录 | 支持 AI 接续、依赖检查和证据追溯 |
| ADR-008 | 待验证 | 内部资源作用域和操作身份隔离 | 清理/取消语义待基线测试,不能先决定新增 Promise 拒绝 |
| ADR-009 | 待验证 | 精确公共类型的兼容扩展策略 | 错误声明修正也可能破坏现有 TS 用户;逐项记录 |
| ADR-010 | 采用方向 | AI 改善工程,不默认给播放器加入远程 AI 能力 | 避免增加运行依赖、网络请求、成本和用户行为变化 |
| ADR-011 | 采用方向 | vendored 代码维持独立来源和许可 | TS 迁移限自有逻辑,第三方更新独立验证 |
| ADR-012 | 已拒绝 | 一次性重写核心并同时更换包管理器、bundler、测试框架 | 变量过多,难以定位回归和回退 |
| ADR-013 | 采用方向 | 用户授权在旧接口兼容前提下主动改善全部不合理内部设计 | 2026-09-10 明确要求:TS 迁移伴随清晰拆分、充分有效测试、持续文档和 AI 接续能力;任务清单可按证据扩展 |
| ADR-014 | 采用方向 | 每完成一个任务立即创建独立本地 commit | 用户明确要求;实现/测试/文档/状态同次提交,主题带任务 ID,核实成功后再开始下一任务;不等同推送授权 |
开始实现前需补齐的决定
- 支持的历史核心/插件版本、TS 最低版本与浏览器能力矩阵,由 BASE-01/ENG-01 登记证据。
- 连续切源、销毁中 Promise 的结果与错误策略,由 CORE-04/CORE-09 的变更记录明确。
- 真机与外部 SDK 验证环境、负责者和缺失检查的发布处理,由 ENG-05/REL-03 明确。
- 公共类型发现历史错误且无法完全兼容时的版本策略,由 CORE-07 和 REL-01 明确。
新决策模板
ID / 日期 / 关联任务:
状态:
问题与源码/测试证据:
选择及备选方案:
为何选择:
公开 API、类型、包分发影响:
验证方法与回退:
替代的旧决策: