51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# M16-GAP-00010:Lattice data-block LOCAL_EXACT slice
|
||
|
||
- `task`: `M16-GAP-00010`
|
||
- `parent`: `M16-GAP-00009`
|
||
- `status`: `done`
|
||
- `gap`: `datablock:Lattice`
|
||
- `ownerFamily`: `RNA_DATABLOCK`
|
||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||
|
||
## 目标
|
||
|
||
让同一个 Lattice fixture 在 Blender desktop 和 WASM/Main 中得到一致的点阵/形变数据,并在 save/reopen 后保持一致。
|
||
|
||
## 输入与范围
|
||
|
||
- Fixture:`tests/files/web/generated/M16-GAP-00010-datablock-Lattice.blend`
|
||
- 生产入口:`blender-5.2.0/source/blender/web_engine/`、`web/app/src/vendor/blender/`
|
||
- 检查器:`tools/web/check-generated-gap.mjs`、`tools/web/generated/M16-GAP-00010.py`
|
||
- 做:Lattice 数据读取、desktop/WASM 对标、save/reopen 和结构化报告。
|
||
- 不做:其他 data-block、UI 编辑器、Firefox/WebKit 或完整 Lattice 编辑工具。
|
||
|
||
## 子任务门
|
||
|
||
| 门 | 唯一交付 | 通过条件 |
|
||
| --- | --- | --- |
|
||
| L-C | Lattice 字段/稳定 ID/错误码契约 | schema 和 malformed/unsupported 负例固定 |
|
||
| L-D | Blender desktop fixture/report | 同一 fixture 生成可重跑 report 和 hash |
|
||
| L-W | WASM/Main reader | 生产入口读取同一 fixture,输出字段与 desktop 对齐 |
|
||
| L-R | save/reopen | 新 Main 重开后点阵/形变和 revision 不变 |
|
||
| L-E | 证据交接 | comparator、manifest、status 和 rollback 全部可复验 |
|
||
|
||
每次只推进一扇门;失败门保持 `in_progress`,不得用后续报告代替前置证据。
|
||
|
||
## 验收
|
||
|
||
```bash
|
||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00010.py -- tests/files/web/generated/M16-GAP-00010-datablock-Lattice.blend
|
||
npm --prefix web run test:generated-gap -- --task M16-GAP-00010
|
||
node tools/web/check-generated-gap.mjs --task M16-GAP-00010
|
||
```
|
||
|
||
必须覆盖 malformed/unsupported 输入或取消路径;失败不得改变 Main revision 或推进 `nextTask`。
|
||
|
||
## 交付与回滚
|
||
|
||
- 报告:`tests/golden/M16-GAP-00010/`
|
||
- 状态:`docs/status/M16-GAP-00010.md`
|
||
- manifest:`tests/golden/M16-GAP-00010/manifest.json`
|
||
- 完成后运行 `node tools/web/check-task-context.mjs --task M16-GAP-00010 --write`。
|
||
- 回滚:删除本任务新增的生产入口、测试、报告、manifest、status 和 context,恢复 parent manifest 为队列尾;不得改写 parent 成功证据。
|