mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-15 09:06:16 -08:00
refactor(mask): [PKG-MASK-03] isolate model runs and release stale work
This commit is contained in:
1 parent
6c989deccd
commit
aba125262a
23 files changed
+1835
-379
No files matched your search
@@ -0,0 +1,45 @@
|
||||
# PKG-MASK-03 生命周期与模块拆分
|
||||
|
||||
## 结构与契约
|
||||
|
||||
入口保留同步注册及 name/start/stop,start 为 Promise<void>,stop 同步返回 undefined。
|
||||
拆为 config(原样快照默认值)、sdk(后端/模型接口)、output(私有画布与遮罩提交)、
|
||||
controller(运行归属与调度)和 index(公开门面)。JS 与 TS 渐进共存;完整类型迁移
|
||||
属于04,未声称本步完成TS。包内 ARCHITECTURE.md 记录状态、资源、维护入口及限制。
|
||||
|
||||
保留模板先捕获、OR/undefined 默认值、general/mediapipe、WebGL fulfilled false
|
||||
不触发CPU fallback、二值颜色及严格RGB>250透明规则、data URL和原有样式。没有改
|
||||
公开声明、依赖、版本、事件或默认模型CDN。新增 test:danmuku-mask 脚本并将候选
|
||||
用例加入 test:unit,复用现有 Node/Yarn/测试依赖,不需更新锁文件。
|
||||
|
||||
## 缺陷修复及可观察差异
|
||||
|
||||
历史54项缺陷探针保留原始来源。候选对 backend/model/segment/mask/draw 每个等待点
|
||||
验证 stop/destroy 后不晚写、不复活RAF、不提前dispose;并发start共享初始化,
|
||||
每个注册只拥有一条推理链,stop可及时完成等待中的公共start。销毁撤销精确监听器。
|
||||
stop现在释放模型和独立画布,重启重新初始化,存在真实的重启开销;重启先等待旧的
|
||||
不可取消SDK工作及可观察dispose结果,不能把新旧推理并发作为加速。
|
||||
|
||||
初始化失败不再维持空转RAF;模型创建失败仍记录原错误并resolve,后端/画布失败
|
||||
仍拒绝显式start,ready自动调用会观察拒绝。缺节点/2D上下文和0尺寸的失败边界更清楚。
|
||||
审查中复现了dispose挂起时私有画布仍为300×150,已先释放独立bitmap再等待模型;
|
||||
保留红测日志及最终断言。多个播放器共享受控SDK/RAF时,停止一个不改变另一个的
|
||||
模型、图层或帧;这不代表真实TF全局状态已验收。
|
||||
|
||||
## 实际验证
|
||||
|
||||
Node24.21.0下 yarn test:danmuku-mask:96通过、0失败/跳过,其中36候选、54历史缺陷、
|
||||
6历史契约;不能把历史探针计为候选修复验证。定向lint通过。正常构建main、legacy、
|
||||
ESM成功且docs副本逐字节一致。源码helper替换SDK,只验证受控生命周期;没有声称
|
||||
这些用例验证了内嵌SDK的发布产物运行。独立只读审查未发现具体阻断,指出的阶段
|
||||
dispose断言已补充。机器证据见 [生命周期验证](../baselines/danmuku-mask-lifecycle-validation.json)。
|
||||
|
||||
## 剩余门槛与回退
|
||||
|
||||
SDK1.0.2公开dispose不返回底层MediaPipe close完成,因此只能证明调用和自有资源
|
||||
释放,不能证明WASM/GPU结束;没有使用私有SDK字段规避边界。永不完成的SDK工作仍可
|
||||
阻塞下一次start,stop仍可完成其公共Promise。MASK-LIFETIME保留真实资源证据待办并
|
||||
由05接续;模型解释、实际fallback、CORS/切源/真实画面/组合及发布许可仍未关闭。
|
||||
03按内部结构与受控归属完成,04/05/06依次推进;没有降低最终发布要求。
|
||||
|
||||
回退本任务源码、脚本和测试后正常重建三种产物;不修改历史夹具,不推送或发布。
|
||||
Reference in new issue
Block a user