Files
workinf_Blender_Wasm/docs/status/N-022.md
2026-08-14 18:08:29 -04:00

44 lines
2.8 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.
# N-022 Tracking 与 Mask
状态:`BLOCKED`(资源 schema、真实 Mask Main reader、marker/mask 有界事务和 solve 能力门
已落地MovieClip Main、写回、跟踪/相机求解、编辑器 overlay 与桌面 golden 未实现)
## 已验证切片
1. N-022-A版本化 project schema 覆盖 MovieClip、Track/Marker、Plane Track、Camera
Solve metadata、Mask Layer/Spline/Point 及 compositor/scene binding。
2. N-022-A/Bclip 路径限制在项目内source 与 solve 绑定 SHA-256marker frame、
plane track 引用、mask point/handle、资源 binding、重复 ID 与总量预算都严格校验。
3. N-022-B部分marker upsert/delete、track selection、mask point 与 spline cyclic
修改使用 revision 事务,锁定项和 stale revision 会拒绝,提交后再次完整解析。
4. N-022-Cmarker/mask schema edit 可用browser tracking 只有显式 probe 成功后
放行camera solve 保持 `BLOCKED` 并要求受验证的服务端 Blender。
5. N-022-D部分按屏幕射线对可见、未锁定且非零透明度的 Mask Bezier 段做有界采样,
返回稳定的 layer/spline/point/segment identity精确点命中优先于段命中未声明的
selection/raycast 编辑器仍保持阻断。
6. N-022-A部分Blender 5.2 Mask Main reader 输出 layer、spline 和 Bezier point保留
cyclic/fill、viewport visibility、lock/hide-select、opacity、handle type/坐标、feather 与
selection1024 layer、100k spline、1M point 预算在分配前检查。MovieClip 不能从外部路径
推导内容 SHA-256继续阻断而不使用路径散列冒充源摘要。
7. N-022-D选择子集Mask point marquee 支持 replace/add/toggle验证矩形、已有 stable
identity、重复项和 1M point 预算;输出按 Main 中的 mask/layer/spline/point 顺序确定化,隐藏、
锁定和零透明度 layer 不会成为新选中项。
8. Blender 5.2 fixture 同时包含锁定层和可编辑层,经 WASM/Worker 后实证锁定点不可 raycast
可编辑点返回稳定 identity跨两层的 marquee 仅选择可编辑点toggle 可确定性清空。
## 仍然阻断
- N-022-A/B真实 MovieClip reader、Mask/MovieClip 写回、undo/redo 和 save/reopenMask reader
已完成。
- N-022-C浏览器 tracking 实现、完整 camera/plane solve 与服务端 job/hash 提交。
- N-022-D完整 Clip/Mask editor、overlay、handle/segment marquee 与 compositor/scene 实际绑定;
point raycast 和 point marquee 的真实 Main 子集已完成。
- N-022-Edesktop solve/error golden、媒体故障和 Chromium 测试。
## 验收
```bash
WEB_TEST_PORT=5322 npm --prefix web run test:e2e -- --grep "N-022 tracking"
npm --prefix web run test:mask-main-reader
```