Advance M8-M11 parity workflows
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-17 04:37:07 -04:00
parent 7c16b279ae
commit 0fe8d2bb56
324 changed files with 31920 additions and 863 deletions

View File

@@ -1,7 +1,7 @@
# N-020 Compositor
状态:`BLOCKED`(GraphIR、有界 CPU executor 与真实 Main graph 结构 reader 已落地;完整节点
参数映射、WebGPU、HDR golden 和服务端执行未实现)
状态:`BLOCKED`(GraphIR、有界 CPU executor、真实 Main graph reader、四节点 WebGPU golden
与 Unsupported 全图执行门已落地;完整节点参数映射、通用 WebGPU、HDR golden 和服务端执行未实现)
## 已验证切片
@@ -27,14 +27,23 @@
Output 的动态 `Socket_0` 规范化为 GraphIR `Image`。桌面生成 fixture 经 WASM/Worker 后直接由
CPU executor 求值 Constant→Exposure→Invert→Composite,RGBA 结果通过;未连接的 Glare 仍保留
Unsupported 并使完整图 capability gate 保持阻断。
8. N-020-B/E(M11-07 有界 WebGPU golden):显式 allowlist 只包含 Constant Color、Exposure、
Invert、Composite。Blender 5.2 生成的四场景 fixture 经真实 WASM Main reader 后,生产 CPU
executor 与 Chromium WebGPU compute 对 2×2 `LINEAR_SRGB` Float32 RGBA 输出逐字节 SHA-256
相同;CPU-only、资源输入、未声明节点、断链和错误 socket 在 shader 编译前结构化阻断。
9. N-020-D(M11-08 全图执行门):CPU 与 frame-cache 入口在求值、取消回调和 cache hit 前扫描
完整 graph;即使 Unsupported 节点未连接到 Composite,也返回
`COMPOSITOR_NODE_UNSUPPORTED`。真实 Blender 5.2 Main fixture 的 Glare node name/type/
`blenderType`、graph JSON 与 revision 在失败前后完全不变;预置 cache 不能绕过该门。
## 仍然阻断
- N-020-A:Main graph 写回,以及 Transform、非默认 Invert、Alpha Over、Blur、Mix、Image/Render
Layer 的逐节点参数与 resource/pass reader;基础真实图结构、常量色、Exposure、默认 Invert、
Viewer/Composite 已完成。
- N-020-B/C:WebGPU executor、tile scheduler、OPFS 持久 frame cache、增量 invalidation 和 GPU
dispose;CPU 周期取消和内容寻址内存 LRU 已完成。
- N-020-B/C:M11-07 只实现四节点、无资源、单输入链的有界 WebGPU compute;通用 WebGPU
executor、tile scheduler、OPFS 持久 frame cache、增量 invalidation 和生产 GPU 调度仍阻断;
CPU 周期取消和内容寻址内存 LRU 已完成。
- N-020-D:服务端 Blender job、source hash 和结果提交。
- N-020-E:desktop HDR/alpha/color-space golden、OOM/fault/device-loss。
@@ -43,4 +52,6 @@
```bash
WEB_TEST_PORT=5320 npm --prefix web run test:e2e -- --grep "N-020 CPU compositor"
npm --prefix web run test:compositor-main-reader
WEB_TEST_PORT=5562 npm --prefix web run test:compositor-node-golden
WEB_TEST_PORT=5565 npm --prefix web run test:compositor-unsupported-gate
```