Files
workinf_Blender_Wasm/docs/status/N-024.md
2026-08-14 18:08:29 -04:00

43 lines
2.7 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.
# N-024 Editors 与工作流
状态:`BLOCKED`(统一 context、真实 Main 只读布局清单、selection sync、上下文 keymap、
可执行 operator search 和布局预算已落地;完整 Blender editor writer、运行时焦点、
gizmo/触控和跨设备 golden 未实现)
## 已验证切片
1. N-024-A版本化 workflow manifest 统一 workspace、area、region、active editor、mode、
view layer、pinned data 与 revision13 类 editor 可被明确识别。
2. N-024-B部分只读 editor context、区域可见性、workspace/area 切换使用同一份
workflow staterect 边界与不可重叠布局经过校验。
3. N-024-C部分selection sync 以 revision 事务更新 active object 与 selected IDs
active object 必须属于 selection过期 revision 会拒绝。
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
专属数据读取/写回、真实运行时焦点、跨 editor selection history 和 context menu当前
operator search 仅覆盖已注册的安全命令子集,不代表 Blender 全量 operator registry。
- N-024-D/EBlender-compatible keymap 执行、gizmo/drag preview/commit、桌面/mobile/笔
触控布局、无重叠截图和 accessibility golden。
## 验收
```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"
```