Advance WebGPU volume and bounded workflows

This commit is contained in:
mes123456
2026-08-14 18:08:29 -04:00
parent 3da1dfc804
commit 68d50f810f
119 changed files with 9028 additions and 430 deletions

View File

@@ -1,7 +1,8 @@
# N-024 Editors 与工作流
状态:`BLOCKED`(统一 context、真实 Main 只读布局清单、selection sync、keymap 和布局预算
已落地;完整 Blender editor writer、运行时焦点、gizmo/触控和跨设备 golden 未实现)
状态:`BLOCKED`(统一 context、真实 Main 只读布局清单、selection sync、上下文 keymap
可执行 operator search 和布局预算已落地;完整 Blender editor writer、运行时焦点、
gizmo/触控和跨设备 golden 未实现)
## 已验证切片
@@ -11,16 +12,24 @@
workflow staterect 边界与不可重叠布局经过校验。
3. N-024-C部分selection sync 以 revision 事务更新 active object 与 selected IDs
active object 必须属于 selection过期 revision 会拒绝。
4. N-024-Dkeymap 绑定和预算可验证writer、gizmo 与 touch drag 保持能力阻断。
5. N-024-BMain reader从 Blender `WorkSpace``WorkSpaceLayout``bScreen``ScrArea`
4. N-024-D部分key chord 统一规范化 modifier、key 大小写和排序,启用绑定的冲突会在
resolver 层拒绝禁用绑定不参与冲突writer、gizmo 与 touch drag 保持能力阻断。
5. N-024-Dkeymap 绑定和预算可验证writer、gizmo 与 touch drag 保持能力阻断。
6. N-024-BMain reader从 Blender `WorkSpace``WorkSpaceLayout``bScreen``ScrArea`
`ARegion` 读取有界 workspace/area/region 清单、编辑器类型、可见性与归一化布局;
不完整或包含未知 editor 的 workspace 被跳过,首个完整 workspace/area 只作为确定性只读 context
不声称恢复 Blender 运行时焦点。
7. N-024-D上下文 keymap同一 key chord 可按 workspace、editor、mode 隔离;仅作用域
相交的启用绑定视为冲突resolver 使用当前 workflow context 确定命令。
8. N-024-Coperator searchF3 搜索结果来自当前 workspace/mode/Main 状态;命令可执行
workspace/mode 切换、Add Cube、Apply Transform、Undo/Redo/Save。Chromium 用真实 `.blend`
验证了 Edit Mode 隐藏 Object-only Add CubeObject Mode 执行后 Main revision 只增加一次。
## 仍然阻断
- N-024-B/CProperties、UV/Image、Node、Graph、Dope Sheet、NLA、Spreadsheet 等 editor
专属数据读取/写回、真实运行时焦点、selection history、operator search 和 context menu
专属数据读取/写回、真实运行时焦点、跨 editor selection history 和 context menu;当前
operator search 仅覆盖已注册的安全命令子集,不代表 Blender 全量 operator registry。
- N-024-D/EBlender-compatible keymap 执行、gizmo/drag preview/commit、桌面/mobile/笔
触控布局、无重叠截图和 accessibility golden。
@@ -29,4 +38,5 @@
```bash
npm --prefix web run test:editor-main-reader
WEB_TEST_PORT=5324 npm --prefix web run test:e2e -- --grep "N-024 editor"
WEB_TEST_PORT=5407 npm --prefix web run test:e2e -- --grep "operator search executes"
```