Govern task context and advance execution pointer
This commit is contained in:
58
docs/tasks/M15-01B.md
Normal file
58
docs/tasks/M15-01B.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# M15-01B:Blender 5.2 operator idname/poll/property inventory
|
||||
|
||||
- `task`: `M15-01B`
|
||||
- `parent`: `M15-01A`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
从 pinned Blender 5.2 的真实 `bpy.ops` registry 生成确定性的 operator 清单,记录 operator
|
||||
idname、RNA identifier、factory-startup poll 结果和排序后的 RNA properties。此项只生成机器
|
||||
基线,不把 operator 自动标记为已支持。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M15-01A/manifest.json`
|
||||
- Blender runtime:`build_blender_5.2.0/bin/blender`
|
||||
- 生成器:`tools/web/generate-blender-operator-inventory.py`
|
||||
- checker:`tools/web/check-blender-operator-inventory.mjs`
|
||||
|
||||
## 范围
|
||||
|
||||
做:
|
||||
|
||||
- 递归枚举 `bpy.ops` 的注册 module/operator。
|
||||
- 记录稳定 operator path、RNA identifier、poll result/error 和属性 identifier/type。
|
||||
- 固定排序、去重、runtime identity 和 inventory hash;临时重生成必须字节相同。
|
||||
|
||||
不做:
|
||||
|
||||
- 执行任意 operator 或修改 `.blend`。
|
||||
- 生成 modifier、node、editor 或 import/export 清单。
|
||||
- 把 `poll=false` 或 build-disabled 当成 parity 完成/阻断结论。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-operator-inventory
|
||||
```
|
||||
|
||||
必要的补充门:
|
||||
|
||||
```text
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- inventory:`tests/golden/M15-01B/blender-operator-inventory.json`
|
||||
- report:`tests/golden/M15-01B/operator-inventory-check-report.json`
|
||||
- manifest:`tests/golden/M15-01B/manifest.json`
|
||||
- 状态页:`docs/status/M15-01B.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 operator generator、checker、inventory、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01A` 作为队列尾,不修改 data-block inventory。
|
||||
Reference in New Issue
Block a user