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>
This commit is contained in:
27
docs/tasks/WBV2-P1424-900.md
Normal file
27
docs/tasks/WBV2-P1424-900.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# WBV2-P1424-900: supersede stalled task for domain parity
|
||||
|
||||
- task: WBV2-P1424-900
|
||||
- parent: WBV2-P1424-001
|
||||
- status: done
|
||||
- ownerFamily: PROGRAM
|
||||
- targetImplementationClass: QUEUE_ONLY
|
||||
|
||||
## 目标
|
||||
|
||||
记录用户 2026-11-10 授权的队列桥接:保留 `WBV2-P1424-001` 的 manifest、continuation、`in_progress` 状态和全部未闭合证据,不修改该文件;由本桥接指向三域全量对标 epoch 根任务 `WBV2-P1425-000`。
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- 保留任务:`tests/golden/WBV2-P1424-001/manifest.json`(期望 212423 bytes,原样)
|
||||
- 保留 continuation:`tests/golden/WBV2-P1424-001/continuation-20261103-goal-numpy.json`
|
||||
- 新计划:`tests/golden/WBV2-P1425-000/domain-parity-plan.json`
|
||||
|
||||
## 验收
|
||||
|
||||
- P1424-001 manifest 字节级不变;桥接 manifest 为 done 且 nextTask 指向 `WBV2-P1425-000`。
|
||||
- 负例:P1424-001 manifest 大小变化、continuation 缺失或队列已被再次切换时拒绝继续。
|
||||
- 校验:`node tools/web/check-execution-control-plane.mjs`
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- 交付桥接 manifest/status/report;回滚把队列恢复为 `WBV2-P1424-001` 并删除桥接指针,不删除任何证据。
|
||||
32
docs/tasks/WBV2-P1425-000.md
Normal file
32
docs/tasks/WBV2-P1425-000.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# WBV2-P1425-000: authorize create/modeling/hierarchy parity epoch
|
||||
|
||||
- task: WBV2-P1425-000
|
||||
- parent: WBV2-P1424-900
|
||||
- status: done
|
||||
- ownerFamily: PROGRAM
|
||||
- targetImplementationClass: QUEUE_ONLY
|
||||
- Implementation entrypoint: `node tools/web/authorize-wbv2-p1425.mjs`
|
||||
|
||||
## 目标
|
||||
|
||||
以用户 2026-11-10 批准的三域全量对标计划为依据,授权新的 module epoch,并把队列指向首个模块 `WBV2-P1425-001`。`WBV2-P1424-001` 的 manifest、continuation、in_progress 状态和全部未闭合证据原样保留,不删除、不伪装完成。
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- 用户批准计划:`docs/plans/CREATE_MODEL_HIERARCHY_PARITY_PLAN.md`
|
||||
- 源队列计划:`tests/golden/WBV2-P1424-001/recovery-20261020/execution-plan.json`
|
||||
- 新计划:`tests/golden/WBV2-P1425-000/domain-parity-plan.json`
|
||||
- 保留任务:`WBV2-P1424-001`(`tests/golden/WBV2-P1424-001/manifest.json`)
|
||||
- 桥接 manifest:`tests/golden/WBV2-P1424-900/manifest.json`
|
||||
|
||||
## 验收
|
||||
|
||||
- P1424-001 manifest 仍为 `in_progress` 且字节级未变。
|
||||
- 新计划中恰好一个 ready/in_progress 模块;索引 activeTask 与队列指针一致。
|
||||
- 负例:P1424-001 缺失、重复授权或索引不一致时脚本必须拒绝对队列做第二次切换。
|
||||
- `node tools/web/check-execution-control-plane.mjs`
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- 交付 plan、manifest、status、report、task-context;校验 `node tools/web/check-execution-control-plane.mjs`。
|
||||
- 回滚:恢复队列指针为 `WBV2-P1424-001`;新计划文件保留但不得作为 active 队列。
|
||||
48
docs/tasks/WBV2-P1425-001.md
Normal file
48
docs/tasks/WBV2-P1425-001.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 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`。
|
||||
Reference in New Issue
Block a user