Add Chromium-only Blender WebEngine parity work

This commit is contained in:
mes123456
2026-08-12 04:47:48 -04:00
commit 9fd26010f6
18225 changed files with 11622124 additions and 0 deletions

33
docs/status/N-019.md Normal file
View File

@@ -0,0 +1,33 @@
# N-019 灯光与渲染
状态:`BLOCKED`Camera/Light/World/Scene metadata、Light/World 有界 Main 写回与
Three exposure/shadow 映射已落地;完整 Camera/颜色管理 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. 白平衡读取有完整性门Main Light/World 重写若导致 Blender 5.2 tint 序列化为异常近零值,
不暴露垃圾数值而返回 `whiteBalanceStatus: BLOCKED`
## 仍然阻断
- N-019-ACamera 与 Scene color-management writer直接 DNA 写入会破坏 white balance
必须改接 Blender/RNA 颜色管理 API 后才能开放。
- N-019-B/CAgX/Standard/Raw 的视觉等价、temperature 颜色、Area spread、Mist、DOF、
transparent sorting、probe 和高级 shadow 参数。
- N-019-DCycles/Freestyle/denoise 服务端 job 协议与结果 hash。
- N-019-Edesktop/Chromium 像素 golden、设备丢失和 1M triangles。
## 验收
```bash
npm --prefix web run test:lighting-roundtrip
WEB_TEST_PORT=5319 npm --prefix web run test:e2e -- --grep "N-019 Scene exposure"
```