Files
workinf_Blender_Wasm/docs/tasks/WBV2-P1424-001-desktop-completion/DW17.md
mes123456 f3e21c6b98
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
chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer,
web workflow engine and protocol, tooling, docs and task records.
Large generated evidence, user-testing archives, build snapshots and
imported test assets remain untracked.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-11-10 11:18:01 +08:00

61 lines
3.6 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.
# DW17:视口着色、灯光相机与实时渲染
- stage: `nodes-render`
- queueTask: `WBV2-P1424-001`;parent: `WBV2-P1424-000`;nextTask: `null`
- 包状态:`planned_gap_closure`(并不表示已有源码尚未实现)
- 完整交付依赖:DW15, DW16
- 工作量级:XL;不表示日期承诺
- validation: `NOT_RUN`;acceptance: `NOT_CLAIMED`
## 优先复用的十多天成果
RENDER-CAMERA-LIGHT-COVERAGE、原生 Workbench/preview、camera/lighting 路由及 cycle 157 native draw 已有实现。
既有任务:`RENDER-CAMERA-LIGHT-COVERAGE`(记录为 implemented)。按需读取一个任务结果的 summary/remaining/ownedPaths,不打开完整产品报告。
相关交接仅作按需引用:
- `tests/golden/WBV2-P1424-001/asset-preview-composition-implementation.md`
- `tests/golden/WBV2-P1424-001/unattended-implementation/cycle-000157/result.json`
先对照当前小范围源码和最新交接保留已实现子项;只有缺功能、缺接线或缺必要依赖才新增实现。历史状态不自动当作当前缺口。
## 操作者工作流与交付
编辑相机/灯光/世界 → 切换实体/材质/渲染预览 → 原生引擎连续重绘
操作者能使用真实原生视口着色与灯光相机工作流,并得到与所选引擎对应的图像。
## 最小生产入口
- `web/protocol/render-routing.ts`
- `web/protocol/render-capabilities.ts`
- `blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp`
- `blender-5.2.0/source/blender/draw/intern/draw_manager.cc`
- `blender-5.2.0/source/blender/draw/intern/draw_view.cc`
- `blender-5.2.0/source/blender/gpu/webgl/webgl_shader.cc`
- `blender-5.2.0/source/blender/web_engine/web_engine_gpu_ui.cpp`
以上为聚焦入口,非要求全文加载。使用源码聚焦工具、精确 --source/--unit 和函数片段;接入新 operator 时追加其具体原生文件,单次最多 8 个精确源码文件。没有默认测试入口或要运行的 fixture;功能完成前不执行任何验证。
## 只补未完成部分
1. 复用当前 Workbench、相机、灯光和世界数据实现,先补默认工作区实际剩余的原生绘制依赖。
2. 接通 EEVEE 与材质预览涉及的原生 pass/resource、shadow、透明、反射、体积、光照缓存及源码现有功能;按实际引擎家族分批。
3. 相机投影/景深、灯光类型/参数、world、view layer、可见性及 color management 对应真实原生求值。
4. 复用 DW03/DW16 解决 storage、图像、multiview/裁剪/属性接口,不能靠单独的近似渲染器关闭 native 引擎缺口。
5. 补齐材质/资产缩略图与渲染预览的取消、离屏上下文和颜色转换,返回 DW12/DW15 关闭对应消费者。
6. 引擎能力不足时明确对应业务,保留已有可用模式;低能力模式不能被标成完整 EEVEE。
## 失败边界
可出图不代表所有 pass/材质/体积已实现;缺少 GPU 接口不能改成静默忽略效果。
## 实现交接与后续使用
交付前必须具有实际入口→原生执行→消费者/结果→错误/取消→适用 history/save 的生产代码。这里是实现交付条件,不运行验收;编译成功不能替代功能。旧的已完成子项可引用并保留,不能声称本轮重新实现。
用户使用阶段的场景(现在不执行):搭建带透明、体积、阴影的场景,调整相机与灯光,切换视口显示模式并查看资产预览。
每次记录保留成果、补齐断点、仍有缺口、必要构件与下一动作。共同规则见同目录 `EXECUTION.md`,首次领取时阅读;不要将完整计划作为后续执行上下文。