30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# N-020 Compositor
|
||
|
||
状态:`BLOCKED`(GraphIR 与有界 CPU executor 已落地;真实 Main graph、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-B(CPU 子集):线性 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-D(门):Unsupported node 保留 Blender type metadata,并返回
|
||
`COMPOSITOR_NODE_UNSUPPORTED`,不会删节点后继续运行。
|
||
|
||
## 仍然阻断
|
||
|
||
- N-020-A:从真实 Main 读取/写回 compositor node tree、socket defaults、Render Layer pass。
|
||
- N-020-B/C:WebGPU executor、tile/frame cache、增量 invalidation 和 GPU dispose。
|
||
- N-020-D:服务端 Blender job、source hash 和结果提交。
|
||
- N-020-E:desktop 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"
|
||
```
|