Files
workinf_Blender_Wasm/docs/tasks/WBV2-P1425-001.md
mes123456 d1e6b63d54
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 feature-gap work, docs and tests
- update native web_engine sources and rebuilt wasm artifacts
- add task cards, status notes and tooling scripts
- add web e2e specs, tutorial UI sources and tutorial assets
- sync golden task manifests and audit records

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

49 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.
# WBV2-P1425-001: implement Add menu native operator route
- task: WBV2-P1425-001
- parent: WBV2-P1425-000
- status: in_progress
- gap: workflow:object_add_route
- ownerFamily: OBJECT
- targetImplementationClass: LOCAL_EXACT
- moduleId: OBJECT_ADD_ROUTE
- Implementation entrypoint: `node tools/web/run-wbv2-module-task.mjs --task WBV2-P1425-001 --write`
## 目标
让 WASM 本地模式的 Add 菜单通过现有通用桌面 operator 通道(`desktop_operator_catalog/schema/desktop_operator` + `gpuUIInvoke`)创建 Mesh 全部基础体,包括缺失的 Circle/Grid/Monkey,并支持 location/rotation/scale/align/enter_editmode 参数;复用 Operator Palette、`WebEngineClient` 与原生 Main,不新增并行执行器。
## 输入与范围
- 原生通道:`blender-5.2.0/source/blender/web_engine/web_engine_python_bootstrap.py`、`web_engine_gpu_ui.cpp`、`web_engine_api.cpp`
- 前端:`web/app/src/app/App.tsx`(Add 菜单、F3、快捷条)、`web/app/src/engine-client/WebEngineClient.ts`
- 协议/路由:`web/protocol/web-engine.ts`、`web/app/src/capabilities/blender-feature-route-catalog.json`
- 绑定的源码单元:operator:MESH_OT_primitive_circle_add, operator:MESH_OT_primitive_cone_add, operator:MESH_OT_primitive_cube_add, operator:MESH_OT_primitive_cylinder_add, operator:MESH_OT_primitive_grid_add, operator:MESH_OT_primitive_ico_sphere_add, operator:MESH_OT_primitive_monkey_add, operator:MESH_OT_primitive_plane_add, operator:MESH_OT_primitive_uv_sphere_add, operator:OBJECT_OT_add, operator:OBJECT_OT_add_named, operator:OBJECT_OT_armature_add, operator:OBJECT_OT_camera_add, operator:OBJECT_OT_empty_add, operator:OBJECT_OT_light_add
- 已复用证据:`tests/golden/WBV2-P18-002/manifest.json`、`tests/golden/WBV2-P18-002/object-create-production.json`
## 失败边界
不支持的基础体/参数、错误 mode/area、陈旧 baseRevision、modal 占用必须返回结构化错误,Main revision 不变且不产生 undo 记录;linked/只读对象不得被创建路径绕过。
## 验收
- 正例:Add Circle/Grid/Monkey 及既有基础体经原生通道创建,Main mutation 与 snapshot 反映对象。
- 负例:非法标识、非法参数、陈旧 revision、错误上下文均 no-mutation。
- 恢复:undo/redo、save/reopen、Worker restart 语义一致。
- 命令:实现期只做增量编译与 runtime 同步;全部功能完成后由用户在 Chromium 验证。结果标 `NOT_CLAIMED`。
- `cmake --build build_web_blender6 --target web_engine -- -j8`
- `node tools/web/sync-web-engine-runtime.mjs`
## 交付与回滚
- 交付 module receipt、manifest、status、continuation;失败保持 `in_progress`,保留已有构件与证据。
## 本轮扩展范围(2026-11-10)
- 创建模型:全部 Mesh 基础体(含 Circle/Grid/Monkey)、NURBS 曲线/曲面、非网格类型与类型子菜单、编辑模式 Add、F3 通用添加。
- 模型层级:集合创建/移动/删除/排序/活动集合/实例、Outliner 拖放、每视图层可见性、场景切换/删除、视图层增删、父级类型与清除。
- 模型化:原生元素选择桥与读回、网格操作符覆盖、选择感知模态工具、UV 工具、顶点组、形态键、修改器 Apply/Shape Key/复制、对象着色/转换/原点/变换清除/数据关联/轴心方向吸附、20 个新增修改器类型。
- 实现清单:`implemented-routes.json`、`implemented-unit-bindings.json`(235 条路由,全部 `IMPLEMENTED_UNVERIFIED`)。
- 用户验证清单:`docs/plans/WEB_BLENDER_THREE_DOMAIN_VALIDATION_CHECKLIST.md`。
- 所有实现均未运行负例、undo/redo、save/reopen、Worker restart 或 Chromium 自动化;验收 `NOT_CLAIMED`。