Files
ArtPlayer/refactor/changes/2026-09-16-PKG-TOOL-THUMB-05-core-combinations.md
T

74 lines
4.9 KiB
Markdown
Raw 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.
# PKG-TOOL-THUMB-05 三代核心组合验证检查点
起点 `fb78328c4355042b578091e1236c2ce71a68e5c2`。本批补齐真实文件抽帧后由
新旧核心显示图片的证据,没有改变生产实现、公开类型或依赖。05 保持 doing:
Windows WebKit 的 Blob 解码限制与实际 Safari/设备证据仍未关闭。
## 实现和兼容
冻结关联核心 artplayer 3.5.31 的完整 npm 归档,逐个验证 144 个成员 SHA256、
registry integrity、归档 SHA256 和 manifest。历史 Git 核心版本关联一致,见
[归档](../baselines/thumbnail-core.json)。这是历史关联版本,不是最低支持版本,
也不代表找回了原始 thumbnail 工具的完整归档或声明。浏览器服务新增独立路由,
保留原 published 5.4.0 路由,每次读取先校验归档和 main。
`thumbnail-core.spec.js` 将恢复的 CDN 3.5.31、冻结工作区工具和重构工具的
默认/workspace 策略分别接入核心 3.5.31、5.4.0 和重构核心。原生文件选择、
实际解码、工具生成 PNG、真实鼠标悬停,每组两次生成并重建播放器,检查图片
640×300、12 个样本中心、5 个取格位置、预览像素、URL 更新和销毁。
截图比较上部未被时间提示遮挡的区域,排除圆角,平均 RGB 通道误差上限为 3;
没有隐藏提示或修改产品样式。
旧核心在行边界取上一行最后一格、返回首格时保留上次位置,是已有缺陷;旧结果
明确断言,重构核心必须显示正确格子。核心 5.4.0 初始化会撤销空的前一媒体 URL,
两次初始化精确记录两个空值;所有非空创建/撤销仍精确匹配。
图片有 30px 页脚,应显式传入与生成配置一致的 number/column/width/height;
本组合 scale=1。工具持有图片和媒体 Blob URL,先销毁引用它们的播放器,再生成
下一张或销毁工具;播放器不得撤销外借 URL。包内架构和测试文档同步补充。
## 验证
Node 24.21.0 / Yarn Classic 1.22.22 / Windows。逐例记录和哈希见
[组合证据](../baselines/thumbnail-core-validation.json)。
| 范围 | 结果 | 实际证明 |
| --- | --- | --- |
| 关联核心归档测试 | 1 通过 | 144 个文件、完整归档和历史版本关联 |
| 源码三引擎组合 | 36 通过,144.262s | Chromium/Firefox 24 个抽帧组合;WebKit 12 个能力控制 |
| 已安装 main 三引擎组合 | 18 通过,53.185s | Chromium/Firefox 12 个抽帧组合;WebKit 6 个能力控制 |
| 最终通知等待改动 | 源码 WebKit 12 通过 | 等待精确一次原生错误通知 |
| 只读 scoped ESLint | 通过 | 浏览器用例、服务、归档测试 |
| 计划与风险台账 | 通过;风险回归 2 项通过 | 285 项任务、依赖、证据链接和风险关闭规则 |
以上最终运行没有失败/跳过/重试。安装工具来自先前独立 Yarn pack/install,
main 与当前 dist SHA256 一致:
`a254d9d66943bd302719edae040d6ee5e0a32f7c9f1ae0727be8cb6c5a335511`。
组合中的重构核心来自源码编译,不冒充全套安装产物或最新全项目候选验收。
共享测试输入变化后,REL-02 仍须刷新完整候选指纹。
Windows WebKit 26.6 原生 HTTP MP4 成功,同一内容 Blob URL 报 media error 4。
控制用例确认原生和工具一致、通知与清理正确,没有产生缩略图,不能计作 Safari
抽帧成功。Chromium 153.0.8010.12 / Firefox 155.0 验证实际图片和预览。
## 失败调查和修正
- 初次将另一素材的末格红色预期错误套用到本素材,12 项失败。独立 FFmpeg 在
1、3、…、23 秒解码确认所有中心蓝色,修正预期并保存原报告。
- 随后 12 项整图比较失败,截图确认时间提示遮挡下部。改比较未遮挡区域,
没有扩大误差阈值。一次已发布核心空 URL 撤销差异改为按实际代码精确断言。
- 统一 delay=20 时,Firefox 三个恢复版 3.5.31 组合生成黑格:0/4/8 格中心蓝色,
其余黑色。历史源码只等计时器后 drawImage,不等 seeked。正常组合使用旧版原
默认 delay=300 后通过;重构工具仍使用 delay=20。保留失败,不声称旧版短延时通过。
- 安装产物首次 17 通过/1 失败:video.error 已设置,排队的 error 事件尚未送达。
改为在原超时内等待精确一次通知;安装 18 项和源码 WebKit 12 项通过。源码完整
36 项在这次等待改动之前运行,其测试文件另存哈希;跟进结果单独记录。
- 归档测试纠正错误的 Vitest 导入,使用项目原有 Node 运行器,没有新增依赖。
## 交接与回退
225 done /23 doing /37 todo。THUMB-LIFE-01 增加组合证据但保持开放;原生 Blob
风险仍保留。05/06 的 Safari/真机和完整历史工具分发证据不足,不结束任务,
不进入用户保留的正式复盘,不推送或发布。回退仅撤销本批测试路由、归档/证据、
用例和文档,不改变生产 API。