Files
workinf_Blender_Wasm/docs/status/N-019.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

80 lines
6.0 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-019 灯光与渲染
状态:`BLOCKED`Camera/Light/World/Scene metadata、Camera/Light/World 有界 Main 写回、
Three exposure/shadow 映射和一条有界 Blender reference 图像指标闭环已落地Scene 颜色管理
writer、全域渲染等价和高级后端仍未实现
## 已验证切片
1. N-019-A部分Camera 区分 Perspective/Orthographic/Panoramic/Custom读取 sensor、
shift、clip、panorama 和 DOFLight 读取 energy/exposure/temperature/shadow/shapeWorld
读取环境、exposure 和 mistScene 读取 render engine、display/view/look/exposure/gamma/白平衡。
2. N-019-A部分Light 与 World 使用严格属性白名单写入真实 Main覆盖 color、energy、
exposure、temperature、shadow、World color/mist已通过 undo/redo 与 save/reopen。
3. N-019-B部分主线程和 OffscreenCanvas renderer 都优先使用 Scene color-management
exposureWorld exposure 仅作旧数据回退Light exposure 转换为强度,`castsShadow:false`
不再被 Three 强制打开。
4. N-019-B部分World/Scene Main delta 保留版本化集合,主线程与 Offscreen renderer
对环境颜色、曝光和 scene render settings 变更触发确定性的 renderer rebuild未知 delta
版本和重复 ID 继续拒绝。
5. 白平衡读取有完整性门Main Light/World 重写若导致 Blender 5.2 tint 序列化为异常近零值,
不暴露垃圾数值而返回 `whiteBalanceStatus: BLOCKED`
6. Camera 严格白名单写回覆盖 Perspective/Orthographic、lens/sensor/sensor fit、shift、clip、
ortho scale 和 DOF enable/focus distance/f-stop/blades/rotation/rationear/far 与范围在修改前
拒绝,已通过 undo/redo 和 save/reopen。
7. N-019-B色温部分`useTemperature:true` 时,共享 PBR 适配器把 80020000 K 的有界
黑体近似归一到 6500 K 中性白并转换为线性 RGB再乘入 Light color关闭色温时原始颜色
保持不变。主线程与 Offscreen Worker 共用该实现,数值门和原生 temperature 保存重开通过。
8. M11-01 字段表CameraIR、LightIR、WorldIR 及 Scene render/color-management 共 60 个叶字段
已逐项标注 reader/writer/main viewport/Offscreen viewport 状态AST checker 保证零漏项、零重复。
当前 24 COMPLETE、17 PARTIAL、19 BLOCKED未把 metadata-only 或近似映射提升为视觉 parity。
9. M11-02 字段闭环:支持的 Camera/Light/World writer 已在同一 Chromium 任务中完成 Main edit、
revision 单调的 undo/redo、保存、全新 Worker 重开和共享 PBR 映射;水平/垂直 sensor fit、
temperature linear RGB、shadow、spot/area 参数及 World 背景均有字段级断言。
10. M11-03 资源预算:主线程与 Offscreen 共用 schema 1 light/shadow/texture plannerWebGL2
总预算为 16 lights、4 x 1024 shadow maps均包含内置保留槽纹理同时限制数量、单边、
aggregate payload 与 decoded RGBA bytes。WebGPU 只冻结 64/8 x 2048 及 device-limit 下调合同,
未把未安装的 WebGPU renderer 标为可用。
11. M11-04 有界实时 referenceBlender 5.2 Eevee 256×256 fixture 绑定 source/generator/image
SHA-256SRGB8/STRAIGHT RGBA 比较输出 MAE、RMS、P95 channel、坏像素比例、前景 IoU 和
alpha 覆盖率。主线程与 Offscreen 生产 viewport 均为同一报告MAE 2.0433、RMS 5.4490、
P95 4、坏像素 0.004776、IoU 0.98534);非空但错误构图负例稳定返回
`RENDER_REFERENCE_MISMATCH`
12. M11-05 最终渲染路由schema 1 只让 bounded Eevee 的 WebGL2以及 capability 全通过的
WebGPU进入 `WEB_LOCAL_BOUNDED`Cycles、complex Eevee、Workbench 与 CUDA/OptiX/HIP/
Metal/oneAPI 固定为 `SERVER_JOB`。默认 endpoint 未配置时返回 `SERVER_JOB_UNAVAILABLE`
未知 SceneIR render engine 返回 `PLATFORM_CAPABILITY_UNAVAILABLE`,均不产生本地等价成功。
13. M11-06 server render jobschema 1 请求绑定 source `.blend` SHA-256/byte length/revision、
Blender 5.2 build SHA-256、规范化 render settings SHA-256 和 request SHA-256成功结果
绑定同一 provenance 并公开 output MIME/byte length/output SHA-256/result SHA-256。真实
loopback server 由 Blender 5.2 headless 打开 fixture 并输出 PNGsource、settings、build
和 output 篡改均在提交或消费前结构化拒绝。
## 仍然阻断
- N-019-AScene color-management writer直接 DNA 写入会破坏 white balance必须改接
Blender/RNA 颜色管理 API 后才能开放。Camera writer 已完成。
- N-019-B/CAgX/Standard/Raw 的视觉等价、Area spread、Mist、DOF、
transparent sorting、probe 和高级 shadow 参数。
- N-019-DM11-05 已冻结 Cycles/复杂 Eevee/硬件后端的 server-only 路由M11-06 已完成
有界 server-style submit 和 source/settings/build/output hash provenance真实远程队列、
进度、取消、Freestyle 和 denoise job 仍未完成。
- N-019-E完整 desktop/Chromium 像素 parity、设备丢失和 1M trianglesM11-04 仅关闭固定
fixture 的有界 reference 指标门,不代表全场景或全色彩管理等价。
- N-019-B/C/EVolumeFloat32 NanoVDB WGSL 树遍历、有界积分、有限
temperature/color/emission grid 语义和显式 GPU resident LRU 已有真实 Chromium 数值/图像专项门;
自动缺页重绘、生产视口深度合成和 desktop/Chromium 三视角 golden 仍阻断,不能据此声明发布级体渲染。
## 验收
```bash
npm --prefix web run test:lighting-roundtrip
npm --prefix web run test:lighting-field-parity
WEB_TEST_PORT=5545 npm --prefix web run test:lighting-field-roundtrip
WEB_TEST_PORT=5548 npm --prefix web run test:render-resource-budget
WEB_TEST_PORT=5552 npm --prefix web run test:render-reference
WEB_TEST_PORT=5556 npm --prefix web run test:render-routing
WEB_TEST_PORT=5560 npm --prefix web run test:server-render-job
WEB_TEST_PORT=5319 npm --prefix web run test:e2e -- --grep "N-019 Scene exposure"
```