59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
# 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。
|