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

3.6 KiB
Raw Blame History

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。