mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-21 21:01:20 -08:00
refactor(ambilight): [PKG-AMBILIGHT-03] split typed lifecycle and recover native canvas sampling
This commit is contained in:
1 parent
43f0e9a8c6
commit
6caee44dbf
25 files changed
+1680
-306
No files matched your search
@@ -14,7 +14,7 @@ stop保留最后画面,核心destroy终止资源。zIndex仍忽略,参数省
|
||||
|
||||
## 02历史回归
|
||||
|
||||
`yarn test:ambilight`运行30项Node回归并接入test:unit;正常参数/频率/暂停与已确认的
|
||||
`node --test test/ambilight.test.js`运行30项Node回归并接入test:unit;正常参数/频率/暂停与已确认的
|
||||
历史问题分别断言。`yarn test:browser test/browser/ambilight.spec.js`运行三实现/三核心/
|
||||
三引擎真实媒体;核心标签published是实际npm5.4.0,published-5.1.7是实际npm5.1.7,
|
||||
candidate是当前源码;以browser-evidence的manifest和实际version为准。
|
||||
@@ -24,3 +24,25 @@ candidate是当前源码;以browser-evidence的manifest和实际version为准
|
||||
02最终30项Node、54项三引擎/三核心浏览器通过,未skip;新建Canvas能读取已恢复的
|
||||
同源视频,而旧插件Canvas仍抛SecurityError。主CI955项通过(另44项重复观察)。
|
||||
完整报告与输入来源见baselines/ambilight-behavior-validation.json。03开始修复这些问题。
|
||||
|
||||
## 03候选生命周期
|
||||
|
||||
`yarn test:ambilight`现在执行30项历史及16项候选测试。候选直接构建当前src入口,
|
||||
不读取旧dist作回退。设置ARTPLAYER_AMBILIGHT_BASELINE=1可把同一16项要求交给冻结
|
||||
工作区:14项失败、2项正常语义对照通过;候选16项通过。环境变量只应用于独立负向
|
||||
命令,正常CI不得设置。另7项发布契约继续通过,专项共53项。
|
||||
|
||||
`yarn test:browser test/browser/ambilight-lifecycle.spec.js`在实际npm核心5.1.7/5.4.0和
|
||||
候选核心、Chromium/Firefox/WebKit中执行18项,无skip。原生视频/Canvas不模拟;
|
||||
词法RAF观察器只跟踪插件自己的帧,调用仍交给原生RAF,核心和测试等待帧不计入。
|
||||
验证ready自动取色、stop保色、destroy(false)移除DOM/清空帧、逃逸方法不复活,及真实
|
||||
跨origin失败后切回同源在同一插件/视图内恢复,不调用stop/start来协助恢复。
|
||||
|
||||
首次宽度重置方案15/18通过,Firefox全部3项恢复失败。独立诊断证明新Canvas能读取
|
||||
已恢复视频,原Canvas重设宽度仍抛SecurityError,随后改为下次有效取色创建新Canvas。
|
||||
保留失败与通过报告;最终18/18通过。持续跨域素材仍不可取色,失败期间的分配成本
|
||||
需在性能复盘评估。正式构建更新三种分发及docs/compiled,未手改生成内容。
|
||||
|
||||
03证据见 [生命周期验证](baselines/ambilight-lifecycle-validation.json) 和
|
||||
[实施记录](changes/2026-09-12-PKG-AMBILIGHT-03-lifecycle.md)。04公开声明及CJS.default、
|
||||
05代理/实际设备、06安装包和8082 demo仍未完成;三浏览器通过不能代替这些验收。
|
||||
Reference in new issue
Block a user