Files
workinf_Blender_Wasm/docs/status/N-013.md
mes123456 0fe8d2bb56
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
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

2.5 KiB
Raw Blame History

N-013 Shader Node 图

状态:in_progress七节点 Main + 有界 WebGL2 compiler 子集)

详细分解、ShaderIR、typed socket 校验、Main 写回、Web 编译、GLB 映射和验收命令见 docs/UNDECLARED_CAPABILITIES_EXECUTION_PLAN.md

本轮已交付版本化 ShaderGraphIR、单 Material Output、typed socket/隐式转换、图循环、 Material/Image stable ID 以及 linked/missing/corrupt image 资源门。首个 native Main 写回 子集开放 RGB、Value、有限 Math、Principled、Image Texture、Normal Map 和 Material Output整图替换在一个 history transaction 中完成,并通过节点/链接及 RGB/Value defaultValue 保存重开回归。

Math 已开放 ADD/SUBTRACT/MULTIPLY/DIVIDE/MINIMUM/MAXIMUM 的 Main custom1 写回和 operation 保存重开其他运算继续结构化阻断。RGB/Value 到 Principled Base Color、 Roughness、Metallic 的有限常量链接现可确定性映射为 glTF PBR factor缺值、越界、 重复输入和未知链接继续返回 SHADER_GRAPH_UNMAPPABLE。Mix、Mapping、Texture Coordinate、Bump 及任意节点仍返回 SHADER_NODE_UNSUPPORTED。node properties 仅开放 Math operation。M10-07 新增 schema 1 有界 compiler只把 RGB/Value 常量、六项 Math、Image Texture、Normal Map、Principled 和 Output 编译为 WEBGL2_THREE_PHYSICAL reportNative reader 发布 graph SHA-256Worker 在 Main transaction 前编译并失败关闭,主线程和 Offscreen 复用同一 createPBRMaterial 入口。M10-08 为 report 增加 graph/texture/color-space/backend 绑定的 compileKeyM10-09 由 PBRMaterialPipeline 保留上一份可用材质并记录失败报告。节点/链接/ 深度/纹理/标识预算固定M10-10 将任意未知节点名称归一化排序后返回稳定 PBR-012/ARBITRARY_SHADER capability block未知节点不被删除或静默降级。

M10-15 在独立 Chromium Worker 中连续完成 100 次有界 compile、129-node 超预算阻断、恶意 cycle 阻断和同会话小图恢复performance/OOM-prevention/malicious-input 三门均使用现有 compiler 不以 mock 成功替代材质编译。

完整色彩管理、sampler/alpha/tangent、WebGPU、完整 GLB 图映射和桌面渲染 golden 仍为 planned。验收 npm --prefix web run test:shader-compilenpm --prefix web run test:authoring-roundtripnpm --prefix web run test:capability-gatesnpm --prefix web run test:m10-domain-gates 以及 Shader GLB mapping E2E。