Govern task context and advance execution pointer
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
- `task`: `M14-04F`
|
||||
- `parent`: `M14-04E`
|
||||
- `status`: `in_progress`
|
||||
- `status`: `done`
|
||||
|
||||
## 目标
|
||||
|
||||
@@ -31,8 +31,8 @@ Firefox/WebKit 不在本项目范围内。
|
||||
等价生产诊断,而不是仅记录派发了几个 `PointerEvent`。
|
||||
7. **交接门**:focused 命令、必要的 typecheck/build、report、manifest、status 和回滚路径齐全。
|
||||
|
||||
协议单测和事件派发通过,只能关闭前四个门的一部分;在生产接线和真实状态断言完成前,任务保持
|
||||
`in_progress`,不得根据报告中的固定保证字段直接改为 `done`。
|
||||
协议状态已接入主线程 WebGL 和 OffscreenCanvas Worker 两条生产 viewport 路径;Chromium checker
|
||||
读取两个 canvas 的真实 `data-input-modal-*` 状态,重复 `pointerup`/`pointercancel` 不增加提交计数。
|
||||
|
||||
## 验收
|
||||
|
||||
|
||||
60
docs/tasks/M14-04G.md
Normal file
60
docs/tasks/M14-04G.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# M14-04G:Chromium responsive layout no-overlap/no-overflow matrix
|
||||
|
||||
- `task`: `M14-04G`
|
||||
- `parent`: `M14-04F`
|
||||
- `status`: `done`
|
||||
|
||||
## 目标
|
||||
|
||||
在 Chromium 主线程 WebGL 和 OffscreenCanvas Worker 两种生产视口下,验证桌面、平板和手机
|
||||
尺寸不会产生横向溢出、关键区域重叠、文字裁切或不可操作的触控目标;布局失败必须能被
|
||||
机器 checker 稳定报告。Firefox/WebKit 不在本项目范围内。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M14-04F/manifest.json`
|
||||
- 生产布局入口:`web/app/src/app/App.tsx`、`web/app/src/app/app-shell.css`
|
||||
- 视口入口:`web/app/src/three-adapter/viewport.ts`、`web/app/src/three-adapter/offscreen-viewport.ts`
|
||||
- 既有 e2e 参考:`web/tests/e2e/responsive-layout.spec.ts`
|
||||
|
||||
## 范围
|
||||
|
||||
做:
|
||||
|
||||
- 固定 `1440x900`、`1280x720`、`834x1112`、`390x844` 四个 Chromium viewport。
|
||||
- 分别验证 `offscreen=0` 和 `offscreen=1`,记录实际 renderer backend。
|
||||
- 检查 document 横向滚动、topbar、sidebar、viewport、timeline、status bar 的 bounding box。
|
||||
- 检查长项目名、错误提示、打开进度、面板展开和 DPR 2 下文字与按钮仍在容器内。
|
||||
- 记录失败元素、测量值、viewport、DPR、backend 和报告 hash。
|
||||
|
||||
不做:
|
||||
|
||||
- Firefox/WebKit 兼容性证据。
|
||||
- 完整 UI 重设计或新增 Blender 功能。
|
||||
- 只用截图非空作为布局通过条件。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:chromium-layout
|
||||
```
|
||||
|
||||
必要的补充门:
|
||||
|
||||
```text
|
||||
npm --prefix web run typecheck
|
||||
npm --prefix web run build
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- 报告:`tests/golden/M14-04G/chromium-layout-report.json`
|
||||
- manifest:`tests/golden/M14-04G/manifest.json`
|
||||
- 状态页:`docs/status/M14-04G.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除布局 checker、测试、报告、manifest、package 命令和本任务状态页;恢复 `M14-04F` 作为队列尾,
|
||||
不得修改 M14-04F 的成功证据。
|
||||
60
docs/tasks/M14-04H.md
Normal file
60
docs/tasks/M14-04H.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# M14-04H:Chromium keyboard-only, accessible names/roles and focus restoration
|
||||
|
||||
- `task`: `M14-04H`
|
||||
- `parent`: `M14-04G`
|
||||
- `status`: `done`
|
||||
|
||||
## 目标
|
||||
|
||||
在 Chromium 中验证不依赖 pointer 的核心菜单与操作搜索流程:键盘可以到达并激活入口,打开
|
||||
modal/menu 后焦点落在可操作项,Escape/提交后焦点回到触发器,交互元素具备可计算名称和正确
|
||||
角色。Firefox/WebKit 不在本项目范围内。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M14-04G/manifest.json`
|
||||
- 生产入口:`web/app/src/app/App.tsx`
|
||||
- 样式入口:`web/app/src/app/app-shell.css`
|
||||
- 既有参考 e2e:`web/tests/e2e/keyboard-accessibility.spec.ts`
|
||||
|
||||
## 范围
|
||||
|
||||
做:
|
||||
|
||||
- main/offscreen 两个 Chromium 页面配置。
|
||||
- Tab/Shift+Tab 到文件菜单、Enter 打开、Escape 关闭并恢复触发器焦点。
|
||||
- F3 打开操作搜索、输入框自动聚焦、Escape 关闭并恢复 F3 触发器焦点。
|
||||
- 扫描可见 button/input/select/textarea/canvas/[role],检查可计算名称、禁用状态和合法角色。
|
||||
- 记录焦点轨迹、角色/名称缺口和稳定报告 hash。
|
||||
|
||||
不做:
|
||||
|
||||
- Firefox/WebKit 或特定屏幕阅读器的兼容性声明。
|
||||
- 重新设计所有快捷键或引入新的 operator。
|
||||
- 用 axe 的单一静态结果替代真实键盘路径。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:chromium-accessibility
|
||||
```
|
||||
|
||||
必要的补充门:
|
||||
|
||||
```text
|
||||
npm --prefix web run typecheck
|
||||
npm --prefix web run build
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- 报告:`tests/golden/M14-04H/chromium-accessibility-report.json`
|
||||
- manifest:`tests/golden/M14-04H/manifest.json`
|
||||
- 状态页:`docs/status/M14-04H.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 accessibility checker、报告、manifest、package 命令和本任务状态页;恢复 `M14-04G` 作为队列尾,
|
||||
不得修改 M14-04G 的布局证据。
|
||||
58
docs/tasks/M15-01A.md
Normal file
58
docs/tasks/M15-01A.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# M15-01A:Blender 5.2 RNA data-block type inventory
|
||||
|
||||
- `task`: `M15-01A`
|
||||
- `parent`: `M14-04H`
|
||||
- `status`: `done`
|
||||
|
||||
## 目标
|
||||
|
||||
使用 pinned Blender 5.2 runtime 的真实 RNA 注册表生成稳定的 data-block type 清单;每项必须
|
||||
包含稳定 RNA identifier、类型名、ID 基类和 runtime/source anchor。此项只冻结 inventory,
|
||||
不改变任何 V1 `releaseStatus` 或 Blender family `parityStatus`。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M14-04H/manifest.json`
|
||||
- Blender runtime:`build_blender_5.2.0/bin/blender`
|
||||
- 生成器:`tools/web/generate-blender-rna-datablock-inventory.py`
|
||||
- 最小执行入口:`tools/web/check-blender-rna-datablock-inventory.mjs`
|
||||
|
||||
## 范围
|
||||
|
||||
做:
|
||||
|
||||
- 以 `bpy.types` 中继承 `bpy.types.ID` 的注册类型为 inventory 输入。
|
||||
- 固定 schema、排序、稳定 `parityId`、Blender version/build identity 和 source anchor。
|
||||
- 重新生成到临时目录并与提交的 golden JSON 做字节级比较。
|
||||
- 拒绝重复 identifier、空 identifier、版本漂移和未排序条目。
|
||||
|
||||
不做:
|
||||
|
||||
- operator、modifier、node、editor、format 或 runtime evaluator 清单;这些由后续 M15-01B-F 负责。
|
||||
- 通过手写列表补齐 Blender 类型。
|
||||
- 修改 `parity-ledger.json` 的完成状态。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-rna-inventory
|
||||
```
|
||||
|
||||
必要的补充门:
|
||||
|
||||
```text
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- 报告/清单:`tests/golden/M15-01A/blender-rna-datablock-inventory.json`
|
||||
- manifest:`tests/golden/M15-01A/manifest.json`
|
||||
- 状态页:`docs/status/M15-01A.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除生成器、checker、报告、manifest、package 命令和本任务状态页;恢复 `M14-04H` 作为队列尾,
|
||||
不得修改 M14-04H 的 Chromium 证据。
|
||||
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。
|
||||
38
docs/tasks/M15-01C.md
Normal file
38
docs/tasks/M15-01C.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# M15-01C:Blender 5.2 modifier、constraint 与 node inventory
|
||||
|
||||
- `task`: `M15-01C`
|
||||
- `parent`: `M15-01B`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
从 pinned Blender 5.2 的真实 RNA registry 生成 modifier、constraint、Shader Node、Geometry
|
||||
Node 和 Compositor Node 清单。此项只冻结机器基线,不把任何条目标记为已支持。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M15-01B/manifest.json`
|
||||
- Blender runtime:`build_blender_5.2.0/bin/blender`
|
||||
- 生成器:`tools/web/generate-blender-family-inventory.py`
|
||||
- checker:`tools/web/check-blender-family-inventory.mjs`
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-family-inventory
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- inventory:`tests/golden/M15-01C/blender-family-inventory.json`
|
||||
- report:`tests/golden/M15-01C/family-inventory-check-report.json`
|
||||
- manifest:`tests/golden/M15-01C/manifest.json`
|
||||
- 状态页:`docs/status/M15-01C.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 family generator、checker、inventory、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01B` 作为队列尾,不修改 operator inventory。
|
||||
38
docs/tasks/M15-01D.md
Normal file
38
docs/tasks/M15-01D.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# M15-01D:Blender 5.2 sequencer、physics 与 import/export inventory
|
||||
|
||||
- `task`: `M15-01D`
|
||||
- `parent`: `M15-01C`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
从 pinned Blender 5.2 的真实 RNA/operator registry 生成 sequencer strip/effect 类型、physics
|
||||
数据类型和 import/export operator 清单。此项只冻结机器基线,不把任何条目标记为已支持。
|
||||
|
||||
## 输入
|
||||
|
||||
- 上一个 manifest:`tests/golden/M15-01C/manifest.json`
|
||||
- Blender runtime:`build_blender_5.2.0/bin/blender`
|
||||
- 生成器:`tools/web/generate-blender-format-inventory.py`
|
||||
- checker:`tools/web/check-blender-format-inventory.mjs`
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-format-inventory
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- inventory:`tests/golden/M15-01D/blender-format-inventory.json`
|
||||
- report:`tests/golden/M15-01D/format-inventory-check-report.json`
|
||||
- manifest:`tests/golden/M15-01D/manifest.json`
|
||||
- 状态页:`docs/status/M15-01D.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 format generator、checker、inventory、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01C` 作为队列尾,不修改 family inventory。
|
||||
31
docs/tasks/M15-01E.md
Normal file
31
docs/tasks/M15-01E.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# M15-01E:Blender 5.2 editor/space/region/workspace/keymap inventory
|
||||
|
||||
- `task`: `M15-01E`
|
||||
- `parent`: `M15-01D`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
从 pinned Blender 5.2 的真实 RNA registry 和初始化后的默认 keyconfig 生成 editor、space、region、
|
||||
workspace mode 与 keymap 清单。此项只冻结机器基线,不把任何条目标记为已支持。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-editor-inventory
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- inventory:`tests/golden/M15-01E/blender-editor-inventory.json`
|
||||
- report:`tests/golden/M15-01E/editor-inventory-check-report.json`
|
||||
- manifest:`tests/golden/M15-01E/manifest.json`
|
||||
- 状态页:`docs/status/M15-01E.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 editor generator、checker、inventory、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01D` 作为队列尾,不修改 format inventory。
|
||||
31
docs/tasks/M15-01F.md
Normal file
31
docs/tasks/M15-01F.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# M15-01F:Blender 5.2 Main/Scene/Mesh/Depsgraph/core inventory
|
||||
|
||||
- `task`: `M15-01F`
|
||||
- `parent`: `M15-01E`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
为 Main、Scene、Mesh、Depsgraph 和现有 V1 core slice 生成同级的 Blender 5.2 RNA 类与属性清单。
|
||||
此项只冻结机器基线,不把“当前范围完成”映射为全量 parity 完成。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-core-inventory
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- inventory:`tests/golden/M15-01F/blender-core-inventory.json`
|
||||
- report:`tests/golden/M15-01F/core-inventory-check-report.json`
|
||||
- manifest:`tests/golden/M15-01F/manifest.json`
|
||||
- 状态页:`docs/status/M15-01F.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 core generator、checker、inventory、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01E` 作为队列尾,不修改 editor inventory。
|
||||
31
docs/tasks/M15-02A.md
Normal file
31
docs/tasks/M15-02A.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# M15-02A:inventory 条目 owner/implementation/test/evidence 映射
|
||||
|
||||
- `task`: `M15-02A`
|
||||
- `parent`: `M15-01F`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
为 M15-01A 至 M15-01F 的每个 inventory 条目生成唯一稳定 ID,并绑定 owner family、实现分类、
|
||||
专项 checker 和 manifest evidence。映射保持 `INVENTORIED_ONLY`,不改变 parity 或 release 状态。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-parity-map
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- map:`tests/golden/M15-02A/blender-parity-map.json`
|
||||
- report:`tests/golden/M15-02A/parity-map-check-report.json`
|
||||
- manifest:`tests/golden/M15-02A/manifest.json`
|
||||
- 状态页:`docs/status/M15-02A.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 parity map generator、checker、map、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-01F` 作为队列尾,不修改任何 inventory。
|
||||
31
docs/tasks/M15-02B.md
Normal file
31
docs/tasks/M15-02B.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# M15-02B:parity map gap 分类审计
|
||||
|
||||
- `task`: `M15-02B`
|
||||
- `parent`: `M15-02A`
|
||||
- `status`: `in_progress`
|
||||
|
||||
## 目标
|
||||
|
||||
机器化识别 inventory map 中的未映射、重复映射、只有 summary、只有 proxy 和只有 route 条目。
|
||||
`INVENTORY_BASELINE` 明确分类为 `summaryOnly`,不当作 parity 完成。
|
||||
|
||||
## 验收
|
||||
|
||||
```text
|
||||
npm --prefix web run test:blender-gap-audit
|
||||
npm --prefix web run typecheck
|
||||
git diff --check
|
||||
```
|
||||
|
||||
## 产物和交接
|
||||
|
||||
- audit:`tests/golden/M15-02B/blender-gap-audit.json`
|
||||
- report:`tests/golden/M15-02B/gap-audit-check-report.json`
|
||||
- manifest:`tests/golden/M15-02B/manifest.json`
|
||||
- 状态页:`docs/status/M15-02B.md`
|
||||
- 下一任务:由 manifest 的 `nextTask` 决定
|
||||
|
||||
## 回滚
|
||||
|
||||
删除 gap audit generator、checker、audit、report、manifest、package 命令和本任务状态页;恢复
|
||||
`M15-02A` 作为队列尾,不修改 parity map。
|
||||
10
docs/tasks/M15-02C.md
Normal file
10
docs/tasks/M15-02C.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# M15-02C:LOCAL_EXACT 证据 fail-closed 审计
|
||||
|
||||
- `task`: `M15-02C`
|
||||
- `parent`: `M15-02B`
|
||||
- `status`: `in_progress`
|
||||
|
||||
审计每条 `LOCAL_EXACT` 声明是否同时具备 desktop fixture、WASM fixture 和同 fixture 比较证据;当前
|
||||
inventory-only map 没有此类声明,结果必须为 `notApplicable`,不能推导 parity 完成。
|
||||
|
||||
验收:`npm --prefix web run test:blender-local-exact-audit`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-02D.md
Normal file
9
docs/tasks/M15-02D.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-02D:LOCAL_EQUIVALENT 证据 fail-closed 审计
|
||||
|
||||
- `task`: `M15-02D`
|
||||
- `parent`: `M15-02C`
|
||||
- `status`: `pending`
|
||||
|
||||
审计 Main 与 save/reopen 证据;无声明时输出 `notApplicable`,缺证据的声明必须阻断。
|
||||
|
||||
验收:`npm --prefix web run test:blender-local-equivalent-audit`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-02E.md
Normal file
9
docs/tasks/M15-02E.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-02E:SERVER_EXACT 证据 fail-closed 审计
|
||||
|
||||
- `task`: `M15-02E`
|
||||
- `parent`: `M15-02D`
|
||||
- `status`: `pending`
|
||||
|
||||
审计真实 job、cancel、isolation、result binding 证据;无声明时输出 `notApplicable`,缺证据的声明必须阻断。
|
||||
|
||||
验收:`npm --prefix web run test:blender-server-exact-audit`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-02F.md
Normal file
9
docs/tasks/M15-02F.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-02F:unknown data 保存破坏 fail-closed 审计
|
||||
|
||||
- `task`: `M15-02F`
|
||||
- `parent`: `M15-02E`
|
||||
- `status`: `pending`
|
||||
|
||||
审计 unknown-data fixture、save/reload 与 byte-preservation 证据;无声明时输出 `notApplicable`,缺证据的声明必须阻断。
|
||||
|
||||
验收:`npm --prefix web run test:blender-unknown-data-audit`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-03A.md
Normal file
9
docs/tasks/M15-03A.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-03A:每 gap 一个最小 nextTask
|
||||
|
||||
- `task`: `M15-03A`
|
||||
- `parent`: `M15-02F`
|
||||
- `status`: `in_progress`
|
||||
|
||||
为每个 gap 生成唯一最小任务,不生成“完成整个 family”的聚合任务;只允许一个 active task。
|
||||
|
||||
验收:`npm --prefix web run test:blender-next-task-plan`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-03B.md
Normal file
9
docs/tasks/M15-03B.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-03B:nextTask 完整规格审计
|
||||
|
||||
- `task`: `M15-03B`
|
||||
- `parent`: `M15-03A`
|
||||
- `status`: `in_progress`
|
||||
|
||||
验证每个生成任务包含 fixture、desktop command、Web command、comparator 和退出条件。
|
||||
|
||||
验收:`npm --prefix web run test:blender-next-task-spec`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-03C.md
Normal file
9
docs/tasks/M15-03C.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-03C:nextTask 依赖图与单 active 指针
|
||||
|
||||
- `task`: `M15-03C`
|
||||
- `parent`: `M15-03B`
|
||||
- `status`: `pending`
|
||||
|
||||
验证依赖无缺失、无环且仅有一个 active task。
|
||||
|
||||
验收:`npm --prefix web run test:blender-task-graph`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
9
docs/tasks/M15-03D.md
Normal file
9
docs/tasks/M15-03D.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M15-03D:机器 gap 统计
|
||||
|
||||
- `task`: `M15-03D`
|
||||
- `parent`: `M15-03C`
|
||||
- `status`: `pending`
|
||||
|
||||
分别输出 inventoried、completed、blocked、uninventoried,禁止聚合 gate 推导完成。
|
||||
|
||||
验收:`npm --prefix web run test:blender-task-stats`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
10
docs/tasks/M15-03E.md
Normal file
10
docs/tasks/M15-03E.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# M15-03E:owner family 零 gap closure gate
|
||||
|
||||
- `task`: `M15-03E`
|
||||
- `parent`: `M15-03D`
|
||||
- `status`: `blocked`
|
||||
|
||||
逐 family 验证零 gap。当前仍有 6,900 项,gate 必须为 `BLOCKED`,并把执行指针交给唯一 active
|
||||
实现任务;不得由历史 release 聚合 gate 反推完成。
|
||||
|
||||
验收:`npm --prefix web run test:blender-zero-gap-gate`、`npm --prefix web run typecheck`、`git diff --check`。
|
||||
18
docs/tasks/M16-GAP-00001.md
Normal file
18
docs/tasks/M16-GAP-00001.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00001:Action data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00001`
|
||||
- `parent`: `M15-03E`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Action`
|
||||
- `ownerFamily`: `RNA_DATABLOCK`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
## Required evidence
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00001-datablock-Action.blend`
|
||||
- Desktop command: `build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00001.py -- tests/files/web/generated/M16-GAP-00001-datablock-Action.blend`
|
||||
- Web command: `npm --prefix web run test:generated-gap -- --task M16-GAP-00001`
|
||||
- Comparator: `node tools/web/check-generated-gap.mjs --task M16-GAP-00001`
|
||||
|
||||
The task cannot be marked complete until desktop/WASM same-fixture evidence, save/reopen Main evidence,
|
||||
artifact hashes and the comparator result are present.
|
||||
18
docs/tasks/M16-GAP-00002.md
Normal file
18
docs/tasks/M16-GAP-00002.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00002:Armature data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00002`
|
||||
- `parent`: `M16-GAP-00001`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Armature`
|
||||
- `ownerFamily`: `RNA_DATABLOCK`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
## Required evidence
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00002-datablock-Armature.blend`
|
||||
- Desktop command: `build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00002.py -- tests/files/web/generated/M16-GAP-00002-datablock-Armature.blend`
|
||||
- Web command: `npm --prefix web run test:generated-gap -- --task M16-GAP-00002`
|
||||
- Comparator: `node tools/web/check-generated-gap.mjs --task M16-GAP-00002`
|
||||
|
||||
The task remains blocked until a same-fixture desktop/WASM report, save/reopen evidence and artifact
|
||||
manifest are present. The checker currently reports `IMPLEMENTATION_NOT_STARTED` for this pointer.
|
||||
11
docs/tasks/M16-GAP-00003.md
Normal file
11
docs/tasks/M16-GAP-00003.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# M16-GAP-00003:Brush data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00003`
|
||||
- `parent`: `M16-GAP-00002`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Brush`
|
||||
- `ownerFamily`: `RNA_DATABLOCK`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required fixture, Blender desktop report, WASM report, save/reopen comparison and manifest hashes must
|
||||
be produced before completion. The generated-gap checker currently reports `IMPLEMENTATION_NOT_STARTED`.
|
||||
11
docs/tasks/M16-GAP-00004.md
Normal file
11
docs/tasks/M16-GAP-00004.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# M16-GAP-00004:Camera data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00004`
|
||||
- `parent`: `M16-GAP-00003`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Camera`
|
||||
- `ownerFamily`: `RNA_DATABLOCK`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required fixture, Blender desktop report, WASM report, save/reopen comparison and manifest hashes must
|
||||
be produced before completion. The generated-gap checker currently reports `IMPLEMENTATION_NOT_STARTED`.
|
||||
9
docs/tasks/M16-GAP-00005.md
Normal file
9
docs/tasks/M16-GAP-00005.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M16-GAP-00005:Collection data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00005`
|
||||
- `parent`: `M16-GAP-00004`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Collection`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
The task requires same-fixture desktop/WASM collection hierarchy and save/reopen evidence.
|
||||
10
docs/tasks/M16-GAP-00006.md
Normal file
10
docs/tasks/M16-GAP-00006.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# M16-GAP-00006:Curve data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00006`
|
||||
- `parent`: `M16-GAP-00005`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Curve`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required fixture, desktop/WASM curve geometry report, save/reopen comparison and manifest hashes are
|
||||
still outstanding; checker reports `IMPLEMENTATION_NOT_STARTED`.
|
||||
10
docs/tasks/M16-GAP-00007.md
Normal file
10
docs/tasks/M16-GAP-00007.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# M16-GAP-00007:Curves data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00007`
|
||||
- `parent`: `M16-GAP-00006`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Curves`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required hair/curves fixture, desktop/WASM geometry report, save/reopen comparison and manifest hashes
|
||||
are outstanding; checker reports `IMPLEMENTATION_NOT_STARTED`.
|
||||
9
docs/tasks/M16-GAP-00008.md
Normal file
9
docs/tasks/M16-GAP-00008.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M16-GAP-00008:FreestyleLineStyle data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00008`
|
||||
- `parent`: `M16-GAP-00007`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:FreestyleLineStyle`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required style fixture, desktop/WASM evidence and save/reopen comparison are outstanding.
|
||||
9
docs/tasks/M16-GAP-00009.md
Normal file
9
docs/tasks/M16-GAP-00009.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# M16-GAP-00009:GreasePencil data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00009`
|
||||
- `parent`: `M16-GAP-00008`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:GreasePencil`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
Required Grease Pencil drawing fixture, desktop/WASM evidence and save/reopen comparison are outstanding.
|
||||
50
docs/tasks/M16-GAP-00010.md
Normal file
50
docs/tasks/M16-GAP-00010.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 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 成功证据。
|
||||
39
docs/tasks/M16-GAP-00011.md
Normal file
39
docs/tasks/M16-GAP-00011.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# M16-GAP-00011:Library data-block LOCAL_EXACT slice
|
||||
|
||||
- `task`: `M16-GAP-00011`
|
||||
- `parent`: `M16-GAP-00010`
|
||||
- `status`: `in_progress`
|
||||
- `gap`: `datablock:Library`
|
||||
- `ownerFamily`: `RNA_DATABLOCK`
|
||||
- `targetImplementationClass`: `LOCAL_EXACT`
|
||||
|
||||
## 目标
|
||||
|
||||
让同一个 Library fixture 在 Blender desktop 和 WASM/Main 中得到一致的最小可观察数据,并在 save/reopen 后保持一致。只改变 `datablock:Library` 这一条 gap;不扩大到其他 data-block 或编辑器行为。
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture:`tests/files/web/generated/M16-GAP-00011-datablock-Library.blend`
|
||||
- 生成入口:`tools/web/generated/M16-GAP-00011.py`
|
||||
- 生产入口:`blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- 检查器:`tools/web/check-generated-gap.mjs`
|
||||
- 做:Library 字段读取、desktop/WASM 对标、save/reopen 和结构化报告。
|
||||
- 不做:其他 data-block、UI 编辑器、Firefox/WebKit 或完整 Library 管理器。
|
||||
|
||||
## 验收
|
||||
|
||||
```bash
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00011.py -- tests/files/web/generated/M16-GAP-00011-datablock-Library.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00011
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00011
|
||||
```
|
||||
|
||||
必须覆盖 malformed/unsupported 输入或取消路径;失败不得改变 Main revision 或推进 `nextTask`。命令未实际退出 0、fixture 不可重开或任一 hash 漂移时保持 `in_progress`,不得发布晚到的成功结果。
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- 报告:`tests/golden/M16-GAP-00011/`
|
||||
- 状态:`docs/status/M16-GAP-00011.md`
|
||||
- manifest:`tests/golden/M16-GAP-00011/manifest.json`
|
||||
- 交接:`node tools/web/check-task-context.mjs --task M16-GAP-00011 --write`
|
||||
- 回滚:删除本任务新增的生产入口、fixture、测试、报告、manifest、status 和 context;恢复 `M16-GAP-00010` 作为队列尾,不改写其成功证据。
|
||||
37
docs/tasks/M16-GAP-00012.md
Normal file
37
docs/tasks/M16-GAP-00012.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00012: datablock:Light LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00012
|
||||
- parent: M16-GAP-00011
|
||||
- status: in_progress
|
||||
- gap: datablock:Light
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Light data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00012-datablock-Light.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00012.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00012.py -- tests/files/web/generated/M16-GAP-00012-datablock-Light.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00012
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00012
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00012/`
|
||||
- Status: `docs/status/M16-GAP-00012.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00012/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00012 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00013.md
Normal file
37
docs/tasks/M16-GAP-00013.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00013: datablock:Material LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00013
|
||||
- parent: M16-GAP-00012
|
||||
- status: in_progress
|
||||
- gap: datablock:Material
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Material data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00013-datablock-Material.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00013.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00013.py -- tests/files/web/generated/M16-GAP-00013-datablock-Material.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00013
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00013
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00013/`
|
||||
- Status: `docs/status/M16-GAP-00013.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00013/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00013 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00014.md
Normal file
37
docs/tasks/M16-GAP-00014.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00014: datablock:Mesh LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00014
|
||||
- parent: M16-GAP-00013
|
||||
- status: in_progress
|
||||
- gap: datablock:Mesh
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Mesh data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00014-datablock-Mesh.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00014.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00014.py -- tests/files/web/generated/M16-GAP-00014-datablock-Mesh.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00014
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00014
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00014/`
|
||||
- Status: `docs/status/M16-GAP-00014.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00014/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00014 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00015.md
Normal file
37
docs/tasks/M16-GAP-00015.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00015: datablock:MetaBall LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00015
|
||||
- parent: M16-GAP-00014
|
||||
- status: in_progress
|
||||
- gap: datablock:MetaBall
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:MetaBall data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00015-datablock-MetaBall.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00015.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00015.py -- tests/files/web/generated/M16-GAP-00015-datablock-MetaBall.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00015
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00015
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00015/`
|
||||
- Status: `docs/status/M16-GAP-00015.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00015/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00015 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00016.md
Normal file
37
docs/tasks/M16-GAP-00016.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00016: datablock:NodeTree LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00016
|
||||
- parent: M16-GAP-00015
|
||||
- status: in_progress
|
||||
- gap: datablock:NodeTree
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:NodeTree data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00016-datablock-NodeTree.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00016.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00016.py -- tests/files/web/generated/M16-GAP-00016-datablock-NodeTree.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00016
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00016
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00016/`
|
||||
- Status: `docs/status/M16-GAP-00016.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00016/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00016 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00017.md
Normal file
37
docs/tasks/M16-GAP-00017.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00017: datablock:Object LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00017
|
||||
- parent: M16-GAP-00016
|
||||
- status: in_progress
|
||||
- gap: datablock:Object
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Object data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00017-datablock-Object.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00017.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00017.py -- tests/files/web/generated/M16-GAP-00017-datablock-Object.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00017
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00017
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00017/`
|
||||
- Status: `docs/status/M16-GAP-00017.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00017/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00017 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00018.md
Normal file
37
docs/tasks/M16-GAP-00018.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00018: datablock:ParticleSettings LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00018
|
||||
- parent: M16-GAP-00017
|
||||
- status: in_progress
|
||||
- gap: datablock:ParticleSettings
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:ParticleSettings data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00018-datablock-ParticleSettings.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00018.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00018.py -- tests/files/web/generated/M16-GAP-00018-datablock-ParticleSettings.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00018
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00018
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00018/`
|
||||
- Status: `docs/status/M16-GAP-00018.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00018/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00018 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00019.md
Normal file
37
docs/tasks/M16-GAP-00019.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00019: datablock:PointCloud LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00019
|
||||
- parent: M16-GAP-00018
|
||||
- status: in_progress
|
||||
- gap: datablock:PointCloud
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:PointCloud data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00019-datablock-PointCloud.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00019.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00019.py -- tests/files/web/generated/M16-GAP-00019-datablock-PointCloud.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00019
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00019
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00019/`
|
||||
- Status: `docs/status/M16-GAP-00019.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00019/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00019 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00020.md
Normal file
37
docs/tasks/M16-GAP-00020.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00020: datablock:Scene LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00020
|
||||
- parent: M16-GAP-00019
|
||||
- status: in_progress
|
||||
- gap: datablock:Scene
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Scene data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00020-datablock-Scene.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00020.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00020.py -- tests/files/web/generated/M16-GAP-00020-datablock-Scene.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00020
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00020
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00020/`
|
||||
- Status: `docs/status/M16-GAP-00020.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00020/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00020 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00021.md
Normal file
37
docs/tasks/M16-GAP-00021.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00021: datablock:Screen LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00021
|
||||
- parent: M16-GAP-00020
|
||||
- status: in_progress
|
||||
- gap: datablock:Screen
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Screen data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00021-datablock-Screen.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00021.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00021.py -- tests/files/web/generated/M16-GAP-00021-datablock-Screen.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00021
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00021
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00021/`
|
||||
- Status: `docs/status/M16-GAP-00021.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00021/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00021 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00022.md
Normal file
37
docs/tasks/M16-GAP-00022.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00022: datablock:Sound LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00022
|
||||
- parent: M16-GAP-00021
|
||||
- status: in_progress
|
||||
- gap: datablock:Sound
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Sound data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00022-datablock-Sound.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00022.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00022.py -- tests/files/web/generated/M16-GAP-00022-datablock-Sound.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00022
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00022
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00022/`
|
||||
- Status: `docs/status/M16-GAP-00022.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00022/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00022 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00023.md
Normal file
37
docs/tasks/M16-GAP-00023.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00023: datablock:Speaker LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00023
|
||||
- parent: M16-GAP-00022
|
||||
- status: in_progress
|
||||
- gap: datablock:Speaker
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Speaker data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00023-datablock-Speaker.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00023.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00023.py -- tests/files/web/generated/M16-GAP-00023-datablock-Speaker.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00023
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00023
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00023/`
|
||||
- Status: `docs/status/M16-GAP-00023.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00023/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00023 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00024.md
Normal file
37
docs/tasks/M16-GAP-00024.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00024: datablock:Text LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00024
|
||||
- parent: M16-GAP-00023
|
||||
- status: in_progress
|
||||
- gap: datablock:Text
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Text data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00024-datablock-Text.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00024.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00024.py -- tests/files/web/generated/M16-GAP-00024-datablock-Text.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00024
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00024
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00024/`
|
||||
- Status: `docs/status/M16-GAP-00024.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00024/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00024 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00025.md
Normal file
37
docs/tasks/M16-GAP-00025.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00025: datablock:Texture LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00025
|
||||
- parent: M16-GAP-00024
|
||||
- status: in_progress
|
||||
- gap: datablock:Texture
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Texture data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00025-datablock-Texture.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00025.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00025.py -- tests/files/web/generated/M16-GAP-00025-datablock-Texture.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00025
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00025
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00025/`
|
||||
- Status: `docs/status/M16-GAP-00025.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00025/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00025 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00026.md
Normal file
37
docs/tasks/M16-GAP-00026.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00026: datablock:Volume LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00026
|
||||
- parent: M16-GAP-00025
|
||||
- status: in_progress
|
||||
- gap: datablock:Volume
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:Volume data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00026-datablock-Volume.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00026.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00026.py -- tests/files/web/generated/M16-GAP-00026-datablock-Volume.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00026
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00026
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00026/`
|
||||
- Status: `docs/status/M16-GAP-00026.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00026/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00026 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00027.md
Normal file
37
docs/tasks/M16-GAP-00027.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00027: datablock:WindowManager LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00027
|
||||
- parent: M16-GAP-00026
|
||||
- status: in_progress
|
||||
- gap: datablock:WindowManager
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:WindowManager data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00027-datablock-WindowManager.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00027.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00027.py -- tests/files/web/generated/M16-GAP-00027-datablock-WindowManager.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00027
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00027
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00027/`
|
||||
- Status: `docs/status/M16-GAP-00027.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00027/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00027 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00028.md
Normal file
37
docs/tasks/M16-GAP-00028.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00028: datablock:WorkSpace LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00028
|
||||
- parent: M16-GAP-00027
|
||||
- status: in_progress
|
||||
- gap: datablock:WorkSpace
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:WorkSpace data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00028-datablock-WorkSpace.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00028.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00028.py -- tests/files/web/generated/M16-GAP-00028-datablock-WorkSpace.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00028
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00028
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00028/`
|
||||
- Status: `docs/status/M16-GAP-00028.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00028/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00028 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00029.md
Normal file
37
docs/tasks/M16-GAP-00029.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00029: datablock:World LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00029
|
||||
- parent: M16-GAP-00028
|
||||
- status: in_progress
|
||||
- gap: datablock:World
|
||||
- ownerFamily: RNA_DATABLOCK
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable datablock:World data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00029-datablock-World.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00029.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00029.py -- tests/files/web/generated/M16-GAP-00029-datablock-World.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00029
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00029
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00029/`
|
||||
- Status: `docs/status/M16-GAP-00029.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00029/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00029 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00030.md
Normal file
37
docs/tasks/M16-GAP-00030.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00030: modifier:ARMATURE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00030
|
||||
- parent: M16-GAP-00029
|
||||
- status: in_progress
|
||||
- gap: modifier:ARMATURE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:ARMATURE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00030-modifier-ARMATURE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00030.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00030.py -- tests/files/web/generated/M16-GAP-00030-modifier-ARMATURE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00030
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00030
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00030/`
|
||||
- Status: `docs/status/M16-GAP-00030.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00030/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00030 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00031.md
Normal file
37
docs/tasks/M16-GAP-00031.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00031: modifier:ARRAY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00031
|
||||
- parent: M16-GAP-00030
|
||||
- status: in_progress
|
||||
- gap: modifier:ARRAY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:ARRAY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00031-modifier-ARRAY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00031.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00031.py -- tests/files/web/generated/M16-GAP-00031-modifier-ARRAY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00031
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00031
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00031/`
|
||||
- Status: `docs/status/M16-GAP-00031.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00031/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00031 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00032.md
Normal file
37
docs/tasks/M16-GAP-00032.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00032: modifier:BEVEL LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00032
|
||||
- parent: M16-GAP-00031
|
||||
- status: in_progress
|
||||
- gap: modifier:BEVEL
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:BEVEL data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00032-modifier-BEVEL.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00032.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00032.py -- tests/files/web/generated/M16-GAP-00032-modifier-BEVEL.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00032
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00032
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00032/`
|
||||
- Status: `docs/status/M16-GAP-00032.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00032/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00032 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00033.md
Normal file
37
docs/tasks/M16-GAP-00033.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00033: modifier:BOOLEAN LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00033
|
||||
- parent: M16-GAP-00032
|
||||
- status: in_progress
|
||||
- gap: modifier:BOOLEAN
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:BOOLEAN data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00033-modifier-BOOLEAN.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00033.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00033.py -- tests/files/web/generated/M16-GAP-00033-modifier-BOOLEAN.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00033
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00033
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00033/`
|
||||
- Status: `docs/status/M16-GAP-00033.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00033/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00033 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00034.md
Normal file
37
docs/tasks/M16-GAP-00034.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00034: modifier:BUILD LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00034
|
||||
- parent: M16-GAP-00033
|
||||
- status: in_progress
|
||||
- gap: modifier:BUILD
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:BUILD data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00034-modifier-BUILD.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00034.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00034.py -- tests/files/web/generated/M16-GAP-00034-modifier-BUILD.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00034
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00034
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00034/`
|
||||
- Status: `docs/status/M16-GAP-00034.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00034/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00034 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00035.md
Normal file
37
docs/tasks/M16-GAP-00035.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00035: modifier:CAST LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00035
|
||||
- parent: M16-GAP-00034
|
||||
- status: in_progress
|
||||
- gap: modifier:CAST
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:CAST data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00035-modifier-CAST.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00035.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00035.py -- tests/files/web/generated/M16-GAP-00035-modifier-CAST.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00035
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00035
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00035/`
|
||||
- Status: `docs/status/M16-GAP-00035.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00035/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00035 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00036.md
Normal file
37
docs/tasks/M16-GAP-00036.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00036: modifier:CLOTH LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00036
|
||||
- parent: M16-GAP-00035
|
||||
- status: in_progress
|
||||
- gap: modifier:CLOTH
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:CLOTH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00036-modifier-CLOTH.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00036.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00036.py -- tests/files/web/generated/M16-GAP-00036-modifier-CLOTH.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00036
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00036
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00036/`
|
||||
- Status: `docs/status/M16-GAP-00036.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00036/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00036 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00037.md
Normal file
37
docs/tasks/M16-GAP-00037.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00037: modifier:COLLISION LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00037
|
||||
- parent: M16-GAP-00036
|
||||
- status: in_progress
|
||||
- gap: modifier:COLLISION
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:COLLISION data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00037-modifier-COLLISION.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00037.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00037.py -- tests/files/web/generated/M16-GAP-00037-modifier-COLLISION.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00037
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00037
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00037/`
|
||||
- Status: `docs/status/M16-GAP-00037.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00037/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00037 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00038.md
Normal file
37
docs/tasks/M16-GAP-00038.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00038: modifier:CORRECTIVE_SMOOTH LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00038
|
||||
- parent: M16-GAP-00037
|
||||
- status: in_progress
|
||||
- gap: modifier:CORRECTIVE_SMOOTH
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:CORRECTIVE_SMOOTH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00038-modifier-CORRECTIVE_SMOOTH.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00038.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00038.py -- tests/files/web/generated/M16-GAP-00038-modifier-CORRECTIVE_SMOOTH.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00038
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00038
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00038/`
|
||||
- Status: `docs/status/M16-GAP-00038.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00038/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00038 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00039.md
Normal file
37
docs/tasks/M16-GAP-00039.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00039: modifier:CURVE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00039
|
||||
- parent: M16-GAP-00038
|
||||
- status: in_progress
|
||||
- gap: modifier:CURVE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:CURVE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00039-modifier-CURVE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00039.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00039.py -- tests/files/web/generated/M16-GAP-00039-modifier-CURVE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00039
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00039
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00039/`
|
||||
- Status: `docs/status/M16-GAP-00039.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00039/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00039 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00040.md
Normal file
37
docs/tasks/M16-GAP-00040.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00040: modifier:DATA_TRANSFER LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00040
|
||||
- parent: M16-GAP-00039
|
||||
- status: in_progress
|
||||
- gap: modifier:DATA_TRANSFER
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:DATA_TRANSFER data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00040-modifier-DATA_TRANSFER.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00040.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00040.py -- tests/files/web/generated/M16-GAP-00040-modifier-DATA_TRANSFER.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00040
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00040
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00040/`
|
||||
- Status: `docs/status/M16-GAP-00040.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00040/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00040 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00041.md
Normal file
37
docs/tasks/M16-GAP-00041.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00041: modifier:DECIMATE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00041
|
||||
- parent: M16-GAP-00040
|
||||
- status: in_progress
|
||||
- gap: modifier:DECIMATE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:DECIMATE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00041-modifier-DECIMATE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00041.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00041.py -- tests/files/web/generated/M16-GAP-00041-modifier-DECIMATE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00041
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00041
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00041/`
|
||||
- Status: `docs/status/M16-GAP-00041.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00041/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00041 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00042.md
Normal file
37
docs/tasks/M16-GAP-00042.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00042: modifier:DISPLACE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00042
|
||||
- parent: M16-GAP-00041
|
||||
- status: in_progress
|
||||
- gap: modifier:DISPLACE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:DISPLACE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00042-modifier-DISPLACE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00042.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00042.py -- tests/files/web/generated/M16-GAP-00042-modifier-DISPLACE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00042
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00042
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00042/`
|
||||
- Status: `docs/status/M16-GAP-00042.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00042/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00042 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00043.md
Normal file
37
docs/tasks/M16-GAP-00043.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00043: modifier:DYNAMIC_PAINT LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00043
|
||||
- parent: M16-GAP-00042
|
||||
- status: in_progress
|
||||
- gap: modifier:DYNAMIC_PAINT
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:DYNAMIC_PAINT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00043-modifier-DYNAMIC_PAINT.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00043.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00043.py -- tests/files/web/generated/M16-GAP-00043-modifier-DYNAMIC_PAINT.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00043
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00043
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00043/`
|
||||
- Status: `docs/status/M16-GAP-00043.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00043/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00043 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00044.md
Normal file
37
docs/tasks/M16-GAP-00044.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00044: modifier:EDGE_SPLIT LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00044
|
||||
- parent: M16-GAP-00043
|
||||
- status: in_progress
|
||||
- gap: modifier:EDGE_SPLIT
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:EDGE_SPLIT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00044-modifier-EDGE_SPLIT.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00044.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00044.py -- tests/files/web/generated/M16-GAP-00044-modifier-EDGE_SPLIT.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00044
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00044
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00044/`
|
||||
- Status: `docs/status/M16-GAP-00044.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00044/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00044 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00045.md
Normal file
37
docs/tasks/M16-GAP-00045.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00045: modifier:EXPLODE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00045
|
||||
- parent: M16-GAP-00044
|
||||
- status: in_progress
|
||||
- gap: modifier:EXPLODE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:EXPLODE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00045-modifier-EXPLODE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00045.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00045.py -- tests/files/web/generated/M16-GAP-00045-modifier-EXPLODE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00045
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00045
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00045/`
|
||||
- Status: `docs/status/M16-GAP-00045.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00045/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00045 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00046.md
Normal file
37
docs/tasks/M16-GAP-00046.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00046: modifier:FLUID LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00046
|
||||
- parent: M16-GAP-00045
|
||||
- status: in_progress
|
||||
- gap: modifier:FLUID
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:FLUID data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00046-modifier-FLUID.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00046.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00046.py -- tests/files/web/generated/M16-GAP-00046-modifier-FLUID.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00046
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00046
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00046/`
|
||||
- Status: `docs/status/M16-GAP-00046.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00046/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00046 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00047.md
Normal file
37
docs/tasks/M16-GAP-00047.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00047: modifier:GREASE_PENCIL_ARMATURE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00047
|
||||
- parent: M16-GAP-00046
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_ARMATURE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_ARMATURE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00047-modifier-GREASE_PENCIL_ARMATURE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00047.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00047.py -- tests/files/web/generated/M16-GAP-00047-modifier-GREASE_PENCIL_ARMATURE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00047
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00047
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00047/`
|
||||
- Status: `docs/status/M16-GAP-00047.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00047/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00047 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00048.md
Normal file
37
docs/tasks/M16-GAP-00048.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00048: modifier:GREASE_PENCIL_ARRAY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00048
|
||||
- parent: M16-GAP-00047
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_ARRAY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_ARRAY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00048-modifier-GREASE_PENCIL_ARRAY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00048.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00048.py -- tests/files/web/generated/M16-GAP-00048-modifier-GREASE_PENCIL_ARRAY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00048
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00048
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00048/`
|
||||
- Status: `docs/status/M16-GAP-00048.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00048/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00048 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00049.md
Normal file
37
docs/tasks/M16-GAP-00049.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00049: modifier:GREASE_PENCIL_BUILD LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00049
|
||||
- parent: M16-GAP-00048
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_BUILD
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_BUILD data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00049-modifier-GREASE_PENCIL_BUILD.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00049.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00049.py -- tests/files/web/generated/M16-GAP-00049-modifier-GREASE_PENCIL_BUILD.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00049
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00049
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00049/`
|
||||
- Status: `docs/status/M16-GAP-00049.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00049/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00049 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00050.md
Normal file
37
docs/tasks/M16-GAP-00050.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00050: modifier:GREASE_PENCIL_COLOR LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00050
|
||||
- parent: M16-GAP-00049
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_COLOR
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_COLOR data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00050-modifier-GREASE_PENCIL_COLOR.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00050.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00050.py -- tests/files/web/generated/M16-GAP-00050-modifier-GREASE_PENCIL_COLOR.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00050
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00050
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00050/`
|
||||
- Status: `docs/status/M16-GAP-00050.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00050/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00050 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00051.md
Normal file
37
docs/tasks/M16-GAP-00051.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00051: modifier:GREASE_PENCIL_DASH LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00051
|
||||
- parent: M16-GAP-00050
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_DASH
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_DASH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00051-modifier-GREASE_PENCIL_DASH.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00051.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00051.py -- tests/files/web/generated/M16-GAP-00051-modifier-GREASE_PENCIL_DASH.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00051
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00051
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00051/`
|
||||
- Status: `docs/status/M16-GAP-00051.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00051/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00051 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00052.md
Normal file
37
docs/tasks/M16-GAP-00052.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00052: modifier:GREASE_PENCIL_ENVELOPE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00052
|
||||
- parent: M16-GAP-00051
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_ENVELOPE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_ENVELOPE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00052-modifier-GREASE_PENCIL_ENVELOPE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00052.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00052.py -- tests/files/web/generated/M16-GAP-00052-modifier-GREASE_PENCIL_ENVELOPE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00052
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00052
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00052/`
|
||||
- Status: `docs/status/M16-GAP-00052.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00052/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00052 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00053.md
Normal file
37
docs/tasks/M16-GAP-00053.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00053: modifier:GREASE_PENCIL_HOOK LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00053
|
||||
- parent: M16-GAP-00052
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_HOOK
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_HOOK data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00053-modifier-GREASE_PENCIL_HOOK.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00053.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00053.py -- tests/files/web/generated/M16-GAP-00053-modifier-GREASE_PENCIL_HOOK.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00053
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00053
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00053/`
|
||||
- Status: `docs/status/M16-GAP-00053.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00053/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00053 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00054.md
Normal file
37
docs/tasks/M16-GAP-00054.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00054: modifier:GREASE_PENCIL_LATTICE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00054
|
||||
- parent: M16-GAP-00053
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_LATTICE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_LATTICE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00054-modifier-GREASE_PENCIL_LATTICE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00054.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00054.py -- tests/files/web/generated/M16-GAP-00054-modifier-GREASE_PENCIL_LATTICE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00054
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00054
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00054/`
|
||||
- Status: `docs/status/M16-GAP-00054.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00054/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00054 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00055.md
Normal file
37
docs/tasks/M16-GAP-00055.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00055: modifier:GREASE_PENCIL_LENGTH LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00055
|
||||
- parent: M16-GAP-00054
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_LENGTH
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_LENGTH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00055-modifier-GREASE_PENCIL_LENGTH.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00055.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00055.py -- tests/files/web/generated/M16-GAP-00055-modifier-GREASE_PENCIL_LENGTH.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00055
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00055
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00055/`
|
||||
- Status: `docs/status/M16-GAP-00055.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00055/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00055 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00056.md
Normal file
37
docs/tasks/M16-GAP-00056.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00056: modifier:GREASE_PENCIL_MIRROR LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00056
|
||||
- parent: M16-GAP-00055
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_MIRROR
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_MIRROR data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00056-modifier-GREASE_PENCIL_MIRROR.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00056.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00056.py -- tests/files/web/generated/M16-GAP-00056-modifier-GREASE_PENCIL_MIRROR.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00056
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00056
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00056/`
|
||||
- Status: `docs/status/M16-GAP-00056.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00056/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00056 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00057.md
Normal file
37
docs/tasks/M16-GAP-00057.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00057: modifier:GREASE_PENCIL_MULTIPLY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00057
|
||||
- parent: M16-GAP-00056
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_MULTIPLY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_MULTIPLY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00057-modifier-GREASE_PENCIL_MULTIPLY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00057.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00057.py -- tests/files/web/generated/M16-GAP-00057-modifier-GREASE_PENCIL_MULTIPLY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00057
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00057
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00057/`
|
||||
- Status: `docs/status/M16-GAP-00057.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00057/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00057 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00058.md
Normal file
37
docs/tasks/M16-GAP-00058.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00058: modifier:GREASE_PENCIL_NOISE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00058
|
||||
- parent: M16-GAP-00057
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_NOISE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_NOISE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00058-modifier-GREASE_PENCIL_NOISE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00058.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00058.py -- tests/files/web/generated/M16-GAP-00058-modifier-GREASE_PENCIL_NOISE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00058
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00058
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00058/`
|
||||
- Status: `docs/status/M16-GAP-00058.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00058/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00058 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00059.md
Normal file
37
docs/tasks/M16-GAP-00059.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00059: modifier:GREASE_PENCIL_OFFSET LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00059
|
||||
- parent: M16-GAP-00058
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_OFFSET
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_OFFSET data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00059-modifier-GREASE_PENCIL_OFFSET.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00059.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00059.py -- tests/files/web/generated/M16-GAP-00059-modifier-GREASE_PENCIL_OFFSET.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00059
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00059
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00059/`
|
||||
- Status: `docs/status/M16-GAP-00059.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00059/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00059 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00060.md
Normal file
37
docs/tasks/M16-GAP-00060.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00060: modifier:GREASE_PENCIL_OPACITY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00060
|
||||
- parent: M16-GAP-00059
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_OPACITY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_OPACITY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00060-modifier-GREASE_PENCIL_OPACITY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00060.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00060.py -- tests/files/web/generated/M16-GAP-00060-modifier-GREASE_PENCIL_OPACITY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00060
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00060
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00060/`
|
||||
- Status: `docs/status/M16-GAP-00060.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00060/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00060 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00061.md
Normal file
37
docs/tasks/M16-GAP-00061.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00061: modifier:GREASE_PENCIL_OUTLINE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00061
|
||||
- parent: M16-GAP-00060
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_OUTLINE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_OUTLINE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00061-modifier-GREASE_PENCIL_OUTLINE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00061.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00061.py -- tests/files/web/generated/M16-GAP-00061-modifier-GREASE_PENCIL_OUTLINE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00061
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00061
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00061/`
|
||||
- Status: `docs/status/M16-GAP-00061.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00061/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00061 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00062.md
Normal file
37
docs/tasks/M16-GAP-00062.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00062: modifier:GREASE_PENCIL_SHRINKWRAP LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00062
|
||||
- parent: M16-GAP-00061
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_SHRINKWRAP
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_SHRINKWRAP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00062-modifier-GREASE_PENCIL_SHRINKWRAP.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00062.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00062.py -- tests/files/web/generated/M16-GAP-00062-modifier-GREASE_PENCIL_SHRINKWRAP.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00062
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00062
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00062/`
|
||||
- Status: `docs/status/M16-GAP-00062.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00062/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00062 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00063.md
Normal file
37
docs/tasks/M16-GAP-00063.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00063: modifier:GREASE_PENCIL_SIMPLIFY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00063
|
||||
- parent: M16-GAP-00062
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_SIMPLIFY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_SIMPLIFY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00063-modifier-GREASE_PENCIL_SIMPLIFY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00063.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00063.py -- tests/files/web/generated/M16-GAP-00063-modifier-GREASE_PENCIL_SIMPLIFY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00063
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00063
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00063/`
|
||||
- Status: `docs/status/M16-GAP-00063.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00063/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00063 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00064.md
Normal file
37
docs/tasks/M16-GAP-00064.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00064: modifier:GREASE_PENCIL_SMOOTH LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00064
|
||||
- parent: M16-GAP-00063
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_SMOOTH
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_SMOOTH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00064-modifier-GREASE_PENCIL_SMOOTH.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00064.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00064.py -- tests/files/web/generated/M16-GAP-00064-modifier-GREASE_PENCIL_SMOOTH.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00064
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00064
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00064/`
|
||||
- Status: `docs/status/M16-GAP-00064.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00064/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00064 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00065.md
Normal file
37
docs/tasks/M16-GAP-00065.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00065: modifier:GREASE_PENCIL_SUBDIV LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00065
|
||||
- parent: M16-GAP-00064
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_SUBDIV
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_SUBDIV data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00065-modifier-GREASE_PENCIL_SUBDIV.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00065.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00065.py -- tests/files/web/generated/M16-GAP-00065-modifier-GREASE_PENCIL_SUBDIV.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00065
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00065
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00065/`
|
||||
- Status: `docs/status/M16-GAP-00065.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00065/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00065 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00066.md
Normal file
37
docs/tasks/M16-GAP-00066.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00066: modifier:GREASE_PENCIL_TEXTURE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00066
|
||||
- parent: M16-GAP-00065
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_TEXTURE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_TEXTURE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00066-modifier-GREASE_PENCIL_TEXTURE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00066.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00066.py -- tests/files/web/generated/M16-GAP-00066-modifier-GREASE_PENCIL_TEXTURE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00066
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00066
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00066/`
|
||||
- Status: `docs/status/M16-GAP-00066.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00066/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00066 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00067.md
Normal file
37
docs/tasks/M16-GAP-00067.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00067: modifier:GREASE_PENCIL_THICKNESS LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00067
|
||||
- parent: M16-GAP-00066
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_THICKNESS
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_THICKNESS data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00067-modifier-GREASE_PENCIL_THICKNESS.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00067.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00067.py -- tests/files/web/generated/M16-GAP-00067-modifier-GREASE_PENCIL_THICKNESS.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00067
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00067
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00067/`
|
||||
- Status: `docs/status/M16-GAP-00067.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00067/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00067 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00068.md
Normal file
37
docs/tasks/M16-GAP-00068.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00068: modifier:GREASE_PENCIL_TIME LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00068
|
||||
- parent: M16-GAP-00067
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_TIME
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_TIME data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00068-modifier-GREASE_PENCIL_TIME.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00068.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00068.py -- tests/files/web/generated/M16-GAP-00068-modifier-GREASE_PENCIL_TIME.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00068
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00068
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00068/`
|
||||
- Status: `docs/status/M16-GAP-00068.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00068/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00068 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00069.md
Normal file
37
docs/tasks/M16-GAP-00069.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00069: modifier:GREASE_PENCIL_TINT LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00069
|
||||
- parent: M16-GAP-00068
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_TINT
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_TINT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00069-modifier-GREASE_PENCIL_TINT.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00069.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00069.py -- tests/files/web/generated/M16-GAP-00069-modifier-GREASE_PENCIL_TINT.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00069
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00069
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00069/`
|
||||
- Status: `docs/status/M16-GAP-00069.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00069/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00069 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00070.md
Normal file
37
docs/tasks/M16-GAP-00070.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00070: modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00070
|
||||
- parent: M16-GAP-00069
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00070-modifier-GREASE_PENCIL_VERTEX_WEIGHT_ANGLE.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00070.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00070.py -- tests/files/web/generated/M16-GAP-00070-modifier-GREASE_PENCIL_VERTEX_WEIGHT_ANGLE.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00070
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00070
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00070/`
|
||||
- Status: `docs/status/M16-GAP-00070.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00070/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00070 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
37
docs/tasks/M16-GAP-00071.md
Normal file
37
docs/tasks/M16-GAP-00071.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00071: modifier:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00071
|
||||
- parent: M16-GAP-00070
|
||||
- status: in_progress
|
||||
- gap: modifier:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY
|
||||
- ownerFamily: MODIFIER
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable modifier:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.
|
||||
|
||||
## 输入与范围
|
||||
|
||||
- Fixture: `tests/files/web/generated/M16-GAP-00071-modifier-GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00071.py`
|
||||
- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp`
|
||||
- Checker: `tools/web/check-generated-gap.mjs`
|
||||
- Do: field read, desktop/WASM comparison, save/reopen, structured report.
|
||||
- Do not: other gaps, Firefox/WebKit, or full editor behavior.
|
||||
|
||||
## 验收
|
||||
|
||||
build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00071.py -- tests/files/web/generated/M16-GAP-00071-modifier-GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00071
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00071
|
||||
|
||||
Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask.
|
||||
|
||||
## 交付与回滚
|
||||
|
||||
- Reports: `tests/golden/M16-GAP-00071/`
|
||||
- Status: `docs/status/M16-GAP-00071.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00071/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00071 --write`
|
||||
- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.
|
||||
Reference in New Issue
Block a user