- 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>
3.6 KiB
3.6 KiB
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 -- -j8node 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。