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

47 lines
3.1 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-020 Compositor
状态:`BLOCKED`GraphIR、有界 CPU executor 与真实 Main graph 结构 reader 已落地;完整节点
参数映射、WebGPU、HDR golden 和服务端执行未实现)
## 已验证切片
1. N-020-A版本化 `CompositorGraphIR` 覆盖 Image、Render Layer、Constant Color、
Transform、Invert、Exposure、Alpha Over、Blur、Mix、Viewer、Composite 与 Unsupported
节点/资源 ID、重复 input socket、缺失引用和 graph cycle 会拒绝。
2. N-020-BCPU 子集):线性 sRGB Float32 RGBA executor 按拓扑序执行 Transform、颜色、
Alpha Over、Blur、Mix并返回 Composite 与多 Viewer 输出。
3. N-020-C部分最大 4096 nodes、16384 links、4096 resources、8192 dimension、
16M pixels、256 MiB image 和 100M blur operations分配前检查支持 worker cancellation。
4. N-020-DUnsupported node 保留 Blender type metadata并返回
`COMPOSITOR_NODE_UNSUPPORTED`,不会删节点后继续运行。
5. N-020-A部分Blender 5.2 Scene `compositing_node_group` 从真实 Main 快照读取稳定 node
identifier、socket identifier 和 link活动 Group Output/旧 Composite 映射为 Composite
Viewer 和常量 RGBA 映射到已验证节点,其他节点原样保留 `blenderType` 为 Unsupported。
4096 nodes/16384 links、重复 destination、缺 output 或不可读 node tree 返回 blocked status。
6. N-020-C部分CPU executor 在长像素/blur 循环中周期检查 cancellation不再只在节点
边界取消;内容寻址 frame key 绑定规范化 GraphIR、资源 Float32 内容 SHA-256、frame 和输出
尺寸。有界 LRU cache 以克隆后的真实 buffer 字节计费(最多 256 MiB命中返回隔离副本
调用方修改结果不会污染缓存。它是内存帧缓存,不等同于 tile scheduler 或 OPFS 持久缓存。
7. N-020-A/B真实参数链Blender 5.2 Main reader 从真实 socket default 读取 Exposure并仅在
factor=1、invert color=true、invert alpha=false 时把 Invert 映射到当前 CPU 精确子集Group
Output 的动态 `Socket_0` 规范化为 GraphIR `Image`。桌面生成 fixture 经 WASM/Worker 后直接由
CPU executor 求值 Constant→Exposure→Invert→CompositeRGBA 结果通过;未连接的 Glare 仍保留
Unsupported 并使完整图 capability gate 保持阻断。
## 仍然阻断
- N-020-AMain graph 写回,以及 Transform、非默认 Invert、Alpha Over、Blur、Mix、Image/Render
Layer 的逐节点参数与 resource/pass reader基础真实图结构、常量色、Exposure、默认 Invert、
Viewer/Composite 已完成。
- N-020-B/CWebGPU executor、tile scheduler、OPFS 持久 frame cache、增量 invalidation 和 GPU
disposeCPU 周期取消和内容寻址内存 LRU 已完成。
- N-020-D服务端 Blender job、source hash 和结果提交。
- N-020-Edesktop HDR/alpha/color-space golden、OOM/fault/device-loss。
## 验收
```bash
WEB_TEST_PORT=5320 npm --prefix web run test:e2e -- --grep "N-020 CPU compositor"
npm --prefix web run test:compositor-main-reader
```