Capture M16 gap execution artifacts
This commit is contained in:
@@ -9,10 +9,10 @@
|
||||
| 字段 | 值 |
|
||||
| --- | --- |
|
||||
| 里程碑 | M16 Main、Mesh、Modifier、Sculpt |
|
||||
| 当前任务 | `M16-GAP-00139` |
|
||||
| parent manifest | `tests/golden/M16-GAP-00138/manifest.json` |
|
||||
| 任务卡 | [`tasks/M16-GAP-00139.md`](tasks/M16-GAP-00139.md) |
|
||||
| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00139` |
|
||||
| 当前任务 | `M16-GAP-00174` |
|
||||
| parent manifest | `tests/golden/M16-GAP-00173/manifest.json` |
|
||||
| 任务卡 | [`tasks/M16-GAP-00174.md`](tasks/M16-GAP-00174.md) |
|
||||
| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00174` |
|
||||
|
||||
领取前执行:
|
||||
|
||||
|
||||
17
docs/status/M16-GAP-00139.md
Normal file
17
docs/status/M16-GAP-00139.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00139 Status
|
||||
|
||||
status: done
|
||||
task: action.select_leftright operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor left-side selection on `object:WebGapSelectLeftRightObject`, using `mode=LEFT` at frame 3.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose matching three location channels with frames 1 and 3 selected.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00140`
|
||||
17
docs/status/M16-GAP-00140.md
Normal file
17
docs/status/M16-GAP-00140.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00140 Status
|
||||
|
||||
status: done
|
||||
task: action.select_less operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor selection-island shrinking on `object:WebGapSelectLessObject`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose matching three location channels with only frame 3 selected after `select_less`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00141`
|
||||
17
docs/status/M16-GAP-00141.md
Normal file
17
docs/status/M16-GAP-00141.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00141 Status
|
||||
|
||||
status: done
|
||||
task: action.select_linked operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor linked selection on `object:WebGapSelectLinkedObject`, starting from `location[0]` frame 3.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose matching three location channels with frames 1, 3 and 5 selected after `select_linked`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00142`
|
||||
17
docs/status/M16-GAP-00142.md
Normal file
17
docs/status/M16-GAP-00142.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00142 Status
|
||||
|
||||
status: done
|
||||
task: action.select_more operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor neighboring-key selection on `object:WebGapSelectMoreObject`, starting from `location[0]` frame 3.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose matching three location channels with frames 1, 3 and 5 selected after `select_more`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00143`
|
||||
17
docs/status/M16-GAP-00143.md
Normal file
17
docs/status/M16-GAP-00143.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00143 Status
|
||||
|
||||
status: done
|
||||
task: action.snap operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor current-frame snapping on `object:WebGapSnapObject`, using `type=CFRA` at frame 4.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose matching location channels with keyframes `[1,4,5]` and frame 4 selected.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00144`
|
||||
17
docs/status/M16-GAP-00144.md
Normal file
17
docs/status/M16-GAP-00144.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00144 Status
|
||||
|
||||
status: done
|
||||
task: action.stash operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor Action stashing on `object:WebGapStashObject`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose no active Action plus one NLA track containing one strip for the stashed Action.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00145`
|
||||
17
docs/status/M16-GAP-00145.md
Normal file
17
docs/status/M16-GAP-00145.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00145 Status
|
||||
|
||||
status: done
|
||||
task: action.stash_and_create operator LOCAL_EXACT slice
|
||||
updated: 2026-08-20 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor stash-and-create on `object:WebGapStashCreateObject`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose one NLA track/strip containing the stashed Action while active Action is empty.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00146`
|
||||
18
docs/status/M16-GAP-00146.md
Normal file
18
docs/status/M16-GAP-00146.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00146 Status
|
||||
|
||||
status: done
|
||||
task: action.unlink operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor unlink on `WebGapActionUnlinkObject`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop reports no active Action while retaining the fake-user `WebGapActionUnlinkObjectAction` with three location channels.
|
||||
- WASM/Main exposes the same retained Action as an `animations` record with `unlinked: true` and target `unlinked`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Reader rebuild, fixture generation, desktop checker, npm comparator, direct comparator and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00147`
|
||||
17
docs/status/M16-GAP-00147.md
Normal file
17
docs/status/M16-GAP-00147.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00147 Status
|
||||
|
||||
status: done
|
||||
task: action.view_all operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `action.view_all` view state on the Animation workspace main region.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same Action Editor `view2d.cur` and mask after `action.view_all`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Reader rebuild, fixture generation, desktop checker, npm comparator, direct comparator and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00148`
|
||||
17
docs/status/M16-GAP-00148.md
Normal file
17
docs/status/M16-GAP-00148.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00148 Status
|
||||
|
||||
status: done
|
||||
task: action.view_frame operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `action.view_frame` centering around current frame 3.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same Action Editor `view2d.cur` and mask around current frame 3.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Existing reader `view2d` support, fixture generation, desktop checker, npm comparator, direct comparator and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00149`
|
||||
17
docs/status/M16-GAP-00149.md
Normal file
17
docs/status/M16-GAP-00149.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00149 Status
|
||||
|
||||
status: done
|
||||
task: action.view_selected operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `action.view_selected` selection and view state around selected frame 3.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same Action Editor selection on frame 3 for all three location channels and the same `view2d.cur` and mask.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00150`
|
||||
17
docs/status/M16-GAP-00150.md
Normal file
17
docs/status/M16-GAP-00150.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00150 Status
|
||||
|
||||
status: done
|
||||
task: anim.change_frame operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Animation Editor `anim.change_frame` moves the current frame to 4 for a minimal animated object.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same current frame 4 and three Action channels with frames 1, 3, and 5.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00151`
|
||||
17
docs/status/M16-GAP-00151.md
Normal file
17
docs/status/M16-GAP-00151.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00151 Status
|
||||
|
||||
status: done
|
||||
task: anim.channel_select_keys operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channel_select_keys` selects all keys on the first location channel.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same selection: location index 0 at frames 1, 3, and 5; the other channels remain unselected.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00152`
|
||||
17
docs/status/M16-GAP-00152.md
Normal file
17
docs/status/M16-GAP-00152.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00152 Status
|
||||
|
||||
status: done
|
||||
task: anim.channel_view_pick operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channel_view_pick` frames the shared location-channel range.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same Action Editor `view2d.cur` and mask around frames 1 through 5.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00153`
|
||||
17
docs/status/M16-GAP-00153.md
Normal file
17
docs/status/M16-GAP-00153.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00153 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_bake operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_bake` bakes selected location channels over scene frames 1 through 5 at step 1.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose identical 1, 2, 3, 4, 5 keyframes on all three location channels.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00154`
|
||||
17
docs/status/M16-GAP-00154.md
Normal file
17
docs/status/M16-GAP-00154.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00154 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_clean_empty operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_clean_empty` removes an empty AnimData container while preserving a populated Action.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main show the empty object's AnimData removed and the keep object's three location channels at frames 1, 3, and 5.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00155`
|
||||
17
docs/status/M16-GAP-00155.md
Normal file
17
docs/status/M16-GAP-00155.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00155 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_click operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_click` selects the first location channel.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same selected location index 0 keys at frames 1, 3, and 5; other channels remain unselected.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00156`
|
||||
17
docs/status/M16-GAP-00156.md
Normal file
17
docs/status/M16-GAP-00156.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00156 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_collapse operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_collapse` collapses all channels.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main preserve the same three location channels at frames 1, 3, and 5 after `all=true` collapse.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00157`
|
||||
17
docs/status/M16-GAP-00157.md
Normal file
17
docs/status/M16-GAP-00157.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00157 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_delete operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_delete` deletes the selected location[0] FCurve.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main show the Action emptied after deleting the only location channel; the WASM snapshot correctly omits the empty animation.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00158`
|
||||
17
docs/status/M16-GAP-00158.md
Normal file
17
docs/status/M16-GAP-00158.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00158 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_editable_toggle operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_editable_toggle` toggles the selected location channels to non-editable.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose all three location FCurves with `editable: false`.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00159`
|
||||
17
docs/status/M16-GAP-00159.md
Normal file
17
docs/status/M16-GAP-00159.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00159 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_expand operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_expand(all=true)` expands the `Object Transforms` channel group.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the group as `Object Transforms` with `expanded: true` on all three location channels.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00160`
|
||||
17
docs/status/M16-GAP-00160.md
Normal file
17
docs/status/M16-GAP-00160.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00160 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_fcurves_enable operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_fcurves_enable` preserves three location F-Curves and exposes their enabled state.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose all three `location_missing` channels with `enabled: true` after the operator path.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00161`
|
||||
17
docs/status/M16-GAP-00161.md
Normal file
17
docs/status/M16-GAP-00161.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00161 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_group operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_group` assigns the three selected location F-Curves to `WebGapTransforms`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose all three channels with the exact `WebGapTransforms` group.
|
||||
- Save/reopen is exact; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00162`
|
||||
17
docs/status/M16-GAP-00162.md
Normal file
17
docs/status/M16-GAP-00162.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00162 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_move operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_move` moves the first location F-Curve down.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three location channels in order `[1, 0, 2]`.
|
||||
- Save/reopen preserves the channel order exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00163`
|
||||
17
docs/status/M16-GAP-00163.md
Normal file
17
docs/status/M16-GAP-00163.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00163 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_rename operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_rename` renames the first disabled F-Curve RNA path to `rotation_euler`.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three channels: `rotation_euler[0]`, `location_missing[1]`, and `location_missing[2]` with identical keyframes.
|
||||
- WASM preserves the disabled flags for the two invalid control paths; save/reopen preserves the animation snapshot exactly.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, malformed Blend rejection, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00164`
|
||||
18
docs/status/M16-GAP-00164.md
Normal file
18
docs/status/M16-GAP-00164.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00164 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_select_all operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_select_all` selects all three F-Curve channels without selecting keyframes.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three `location` channels with `selected: true` and unchanged keyframe selection.
|
||||
- The reader exposes the persisted `FCURVE_SELECTED` flag through the optional SceneIR channel field `selected`.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, WebEngine rebuild, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00165`
|
||||
18
docs/status/M16-GAP-00165.md
Normal file
18
docs/status/M16-GAP-00165.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00165 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_select_box operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_select_box` selects all three F-Curve channels without selecting keyframes.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three `location` channels with `selected: true` and unchanged keyframe selection.
|
||||
- The reader reuses the persisted `FCURVE_SELECTED` flag through the optional SceneIR channel field `selected`.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00166`
|
||||
18
docs/status/M16-GAP-00166.md
Normal file
18
docs/status/M16-GAP-00166.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00166 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_select_filter operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_select_filter` persists the `Location` channel filter in the Dope Sheet editor workflow.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same Action Editor `filterText: "Location"` and the same three animation channels.
|
||||
- The reader maps persisted `SpaceAction.ads.searchstr` to the optional editor area `filterText` field; protocol validation bounds the string to 64 bytes.
|
||||
- Save/reopen preserves the editor workflow and animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, WebEngine rebuild, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00167`
|
||||
18
docs/status/M16-GAP-00167.md
Normal file
18
docs/status/M16-GAP-00167.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00167 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_setting_disable operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_setting_disable(type=PROTECT)` disables editability on all three selected F-Curve channels.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three animation channels with `editable: false`.
|
||||
- The existing reader mapping of the persisted F-Curve protection flag is sufficient for this setting.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, context governance, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00168`
|
||||
18
docs/status/M16-GAP-00168.md
Normal file
18
docs/status/M16-GAP-00168.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00168 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_setting_enable operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_setting_enable(type=PROTECT)` protects all three selected F-Curve channels.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three animation channels with `editable: false`.
|
||||
- The existing reader mapping of the persisted F-Curve protection flag is sufficient for this setting.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00169`
|
||||
18
docs/status/M16-GAP-00169.md
Normal file
18
docs/status/M16-GAP-00169.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00169 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_setting_toggle operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_setting_toggle(type=PROTECT)` toggles protection on all three selected F-Curve channels.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three animation channels with `editable: false` after the toggle.
|
||||
- The existing reader mapping of the persisted F-Curve protection flag is sufficient for this setting.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00170`
|
||||
18
docs/status/M16-GAP-00170.md
Normal file
18
docs/status/M16-GAP-00170.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00170 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_ungroup operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_ungroup` removes all selected F-Curves from their Action Group.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three animation channels with no group after ungrouping.
|
||||
- The existing reader mapping of F-Curve group pointers is sufficient for the grouped and ungrouped states.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00171`
|
||||
17
docs/status/M16-GAP-00171.md
Normal file
17
docs/status/M16-GAP-00171.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00171 Status
|
||||
|
||||
status: done
|
||||
task: anim.channels_view_selected operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- Action Editor `anim.channels_view_selected` preserves the three selected F-Curves and exposes the resulting `view2d` state.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same three selected animation channels and the same six-decimal normalized Action Editor `view2d` bounds.
|
||||
- Save/reopen preserves both the animation snapshot and editor workflow exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00172`
|
||||
17
docs/status/M16-GAP-00172.md
Normal file
17
docs/status/M16-GAP-00172.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# M16-GAP-00172 Status
|
||||
|
||||
status: done
|
||||
task: anim.clear_useless_actions operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- `anim.clear_useless_actions` removes the fake-user-only Action with no F-Curves while preserving the used Action and the fake-user Action library with F-Curves.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same two preserved Actions, each with three location channels and frames 1, 3, and 5; the empty Action is absent.
|
||||
- Save/reopen preserves the animation snapshot exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00173`
|
||||
18
docs/status/M16-GAP-00173.md
Normal file
18
docs/status/M16-GAP-00173.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00173 Status
|
||||
|
||||
status: done
|
||||
task: anim.copy_driver_button operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The minimal fixture exposes one scripted driver on `drive_target`; the reader exports its path, expression, type, flags, and variables for WASM/Main.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop and WASM/Main expose the same driver (`["drive_target"]`, expression `frame * 2.0 + 1.0`, type `SCRIPTED`), with value `3.0`.
|
||||
- The desktop checker invokes `ANIM_OT_copy_driver_button` in the mandated `-b` context and records `CANCELLED`: the operator requires an active UI RNA button, so the cancellation leaves Main unchanged while the driver-read parity evidence remains exact.
|
||||
- Save/reopen preserves the driver exactly; malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
|
||||
nextTask: `M16-GAP-00174`
|
||||
18
docs/status/M16-GAP-00174.md
Normal file
18
docs/status/M16-GAP-00174.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# M16-GAP-00174 Status
|
||||
|
||||
status: in_progress
|
||||
task: anim.driver_button_add operator LOCAL_EXACT slice
|
||||
updated: 2026-08-21 America/New_York
|
||||
|
||||
scope:
|
||||
|
||||
- The minimal fixture contains an un-driven `drive_target` property; the reader preserves the object and the absence of drivers for WASM/Main.
|
||||
|
||||
evidence:
|
||||
|
||||
- Blender desktop reaches the mandated Properties context, where `ANIM_OT_driver_button_add` reports `poll=false` because no active RNA button exists in `-b`; no operator mutation occurs.
|
||||
- Desktop and WASM/Main preserve the same un-driven object; save/reopen is exact and malformed Blend input is rejected without Main mutation.
|
||||
- Fixture generation, desktop checker, npm comparator, direct comparator, and artifact hashing passed.
|
||||
- Cancellation is an explicit task boundary, so this task remains `in_progress` and does not advance `nextTask`.
|
||||
|
||||
nextTask: `M16-GAP-00174`
|
||||
37
docs/tasks/M16-GAP-00140.md
Normal file
37
docs/tasks/M16-GAP-00140.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00140: operator:action.select_less LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00140
|
||||
- parent: M16-GAP-00139
|
||||
- status: in_progress
|
||||
- gap: operator:action.select_less
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.select_less 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-00140-operator-action.select_less.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00140.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-00140.py -- tests/files/web/generated/M16-GAP-00140-operator-action.select_less.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00140
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00140
|
||||
|
||||
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-00140/`
|
||||
- Status: `docs/status/M16-GAP-00140.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00140/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00140 --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-00141.md
Normal file
37
docs/tasks/M16-GAP-00141.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00141: operator:action.select_linked LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00141
|
||||
- parent: M16-GAP-00140
|
||||
- status: in_progress
|
||||
- gap: operator:action.select_linked
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.select_linked 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-00141-operator-action.select_linked.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00141.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-00141.py -- tests/files/web/generated/M16-GAP-00141-operator-action.select_linked.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00141
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00141
|
||||
|
||||
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-00141/`
|
||||
- Status: `docs/status/M16-GAP-00141.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00141/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00141 --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-00142.md
Normal file
37
docs/tasks/M16-GAP-00142.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00142: operator:action.select_more LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00142
|
||||
- parent: M16-GAP-00141
|
||||
- status: in_progress
|
||||
- gap: operator:action.select_more
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.select_more 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-00142-operator-action.select_more.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00142.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-00142.py -- tests/files/web/generated/M16-GAP-00142-operator-action.select_more.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00142
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00142
|
||||
|
||||
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-00142/`
|
||||
- Status: `docs/status/M16-GAP-00142.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00142/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00142 --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-00143.md
Normal file
37
docs/tasks/M16-GAP-00143.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00143: operator:action.snap LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00143
|
||||
- parent: M16-GAP-00142
|
||||
- status: in_progress
|
||||
- gap: operator:action.snap
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.snap 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-00143-operator-action.snap.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00143.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-00143.py -- tests/files/web/generated/M16-GAP-00143-operator-action.snap.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00143
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00143
|
||||
|
||||
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-00143/`
|
||||
- Status: `docs/status/M16-GAP-00143.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00143/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00143 --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-00144.md
Normal file
37
docs/tasks/M16-GAP-00144.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00144: operator:action.stash LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00144
|
||||
- parent: M16-GAP-00143
|
||||
- status: in_progress
|
||||
- gap: operator:action.stash
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.stash 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-00144-operator-action.stash.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00144.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-00144.py -- tests/files/web/generated/M16-GAP-00144-operator-action.stash.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00144
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00144
|
||||
|
||||
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-00144/`
|
||||
- Status: `docs/status/M16-GAP-00144.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00144/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00144 --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-00145.md
Normal file
37
docs/tasks/M16-GAP-00145.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00145: operator:action.stash_and_create LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00145
|
||||
- parent: M16-GAP-00144
|
||||
- status: in_progress
|
||||
- gap: operator:action.stash_and_create
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.stash_and_create 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-00145-operator-action.stash_and_create.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00145.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-00145.py -- tests/files/web/generated/M16-GAP-00145-operator-action.stash_and_create.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00145
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00145
|
||||
|
||||
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-00145/`
|
||||
- Status: `docs/status/M16-GAP-00145.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00145/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00145 --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-00146.md
Normal file
37
docs/tasks/M16-GAP-00146.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00146: operator:action.unlink LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00146
|
||||
- parent: M16-GAP-00145
|
||||
- status: in_progress
|
||||
- gap: operator:action.unlink
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.unlink 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-00146-operator-action.unlink.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00146.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-00146.py -- tests/files/web/generated/M16-GAP-00146-operator-action.unlink.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00146
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00146
|
||||
|
||||
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-00146/`
|
||||
- Status: `docs/status/M16-GAP-00146.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00146/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00146 --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-00147.md
Normal file
37
docs/tasks/M16-GAP-00147.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00147: operator:action.view_all LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00147
|
||||
- parent: M16-GAP-00146
|
||||
- status: in_progress
|
||||
- gap: operator:action.view_all
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.view_all 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-00147-operator-action.view_all.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00147.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-00147.py -- tests/files/web/generated/M16-GAP-00147-operator-action.view_all.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00147
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00147
|
||||
|
||||
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-00147/`
|
||||
- Status: `docs/status/M16-GAP-00147.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00147/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00147 --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-00148.md
Normal file
37
docs/tasks/M16-GAP-00148.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00148: operator:action.view_frame LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00148
|
||||
- parent: M16-GAP-00147
|
||||
- status: in_progress
|
||||
- gap: operator:action.view_frame
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.view_frame 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-00148-operator-action.view_frame.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00148.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-00148.py -- tests/files/web/generated/M16-GAP-00148-operator-action.view_frame.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00148
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00148
|
||||
|
||||
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-00148/`
|
||||
- Status: `docs/status/M16-GAP-00148.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00148/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00148 --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-00149.md
Normal file
37
docs/tasks/M16-GAP-00149.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00149: operator:action.view_selected LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00149
|
||||
- parent: M16-GAP-00148
|
||||
- status: in_progress
|
||||
- gap: operator:action.view_selected
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:action.view_selected 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-00149-operator-action.view_selected.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00149.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-00149.py -- tests/files/web/generated/M16-GAP-00149-operator-action.view_selected.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00149
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00149
|
||||
|
||||
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-00149/`
|
||||
- Status: `docs/status/M16-GAP-00149.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00149/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00149 --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-00150.md
Normal file
37
docs/tasks/M16-GAP-00150.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00150: operator:anim.change_frame LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00150
|
||||
- parent: M16-GAP-00149
|
||||
- status: in_progress
|
||||
- gap: operator:anim.change_frame
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.change_frame 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-00150-operator-anim.change_frame.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00150.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-00150.py -- tests/files/web/generated/M16-GAP-00150-operator-anim.change_frame.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00150
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00150
|
||||
|
||||
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-00150/`
|
||||
- Status: `docs/status/M16-GAP-00150.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00150/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00150 --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-00151.md
Normal file
37
docs/tasks/M16-GAP-00151.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00151: operator:anim.channel_select_keys LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00151
|
||||
- parent: M16-GAP-00150
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channel_select_keys
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channel_select_keys 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-00151-operator-anim.channel_select_keys.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00151.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-00151.py -- tests/files/web/generated/M16-GAP-00151-operator-anim.channel_select_keys.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00151
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00151
|
||||
|
||||
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-00151/`
|
||||
- Status: `docs/status/M16-GAP-00151.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00151/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00151 --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-00152.md
Normal file
37
docs/tasks/M16-GAP-00152.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00152: operator:anim.channel_view_pick LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00152
|
||||
- parent: M16-GAP-00151
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channel_view_pick
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channel_view_pick 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-00152-operator-anim.channel_view_pick.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00152.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-00152.py -- tests/files/web/generated/M16-GAP-00152-operator-anim.channel_view_pick.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00152
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00152
|
||||
|
||||
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-00152/`
|
||||
- Status: `docs/status/M16-GAP-00152.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00152/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00152 --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-00153.md
Normal file
37
docs/tasks/M16-GAP-00153.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00153: operator:anim.channels_bake LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00153
|
||||
- parent: M16-GAP-00152
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_bake
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_bake 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-00153-operator-anim.channels_bake.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00153.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-00153.py -- tests/files/web/generated/M16-GAP-00153-operator-anim.channels_bake.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00153
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00153
|
||||
|
||||
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-00153/`
|
||||
- Status: `docs/status/M16-GAP-00153.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00153/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00153 --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-00154.md
Normal file
37
docs/tasks/M16-GAP-00154.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00154: operator:anim.channels_clean_empty LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00154
|
||||
- parent: M16-GAP-00153
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_clean_empty
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_clean_empty 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-00154-operator-anim.channels_clean_empty.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00154.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-00154.py -- tests/files/web/generated/M16-GAP-00154-operator-anim.channels_clean_empty.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00154
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00154
|
||||
|
||||
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-00154/`
|
||||
- Status: `docs/status/M16-GAP-00154.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00154/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00154 --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-00155.md
Normal file
37
docs/tasks/M16-GAP-00155.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00155: operator:anim.channels_click LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00155
|
||||
- parent: M16-GAP-00154
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_click
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_click 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-00155-operator-anim.channels_click.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00155.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-00155.py -- tests/files/web/generated/M16-GAP-00155-operator-anim.channels_click.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00155
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00155
|
||||
|
||||
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-00155/`
|
||||
- Status: `docs/status/M16-GAP-00155.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00155/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00155 --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-00156.md
Normal file
37
docs/tasks/M16-GAP-00156.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00156: operator:anim.channels_collapse LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00156
|
||||
- parent: M16-GAP-00155
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_collapse
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_collapse 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-00156-operator-anim.channels_collapse.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00156.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-00156.py -- tests/files/web/generated/M16-GAP-00156-operator-anim.channels_collapse.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00156
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00156
|
||||
|
||||
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-00156/`
|
||||
- Status: `docs/status/M16-GAP-00156.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00156/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00156 --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-00157.md
Normal file
37
docs/tasks/M16-GAP-00157.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00157: operator:anim.channels_delete LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00157
|
||||
- parent: M16-GAP-00156
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_delete
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_delete 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-00157-operator-anim.channels_delete.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00157.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-00157.py -- tests/files/web/generated/M16-GAP-00157-operator-anim.channels_delete.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00157
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00157
|
||||
|
||||
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-00157/`
|
||||
- Status: `docs/status/M16-GAP-00157.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00157/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00157 --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-00158.md
Normal file
37
docs/tasks/M16-GAP-00158.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00158: operator:anim.channels_editable_toggle LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00158
|
||||
- parent: M16-GAP-00157
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_editable_toggle
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_editable_toggle 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-00158-operator-anim.channels_editable_toggle.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00158.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-00158.py -- tests/files/web/generated/M16-GAP-00158-operator-anim.channels_editable_toggle.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00158
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00158
|
||||
|
||||
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-00158/`
|
||||
- Status: `docs/status/M16-GAP-00158.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00158/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00158 --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-00159.md
Normal file
37
docs/tasks/M16-GAP-00159.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00159: operator:anim.channels_expand LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00159
|
||||
- parent: M16-GAP-00158
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_expand
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_expand 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-00159-operator-anim.channels_expand.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00159.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-00159.py -- tests/files/web/generated/M16-GAP-00159-operator-anim.channels_expand.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00159
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00159
|
||||
|
||||
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-00159/`
|
||||
- Status: `docs/status/M16-GAP-00159.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00159/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00159 --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-00160.md
Normal file
37
docs/tasks/M16-GAP-00160.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00160: operator:anim.channels_fcurves_enable LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00160
|
||||
- parent: M16-GAP-00159
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_fcurves_enable
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_fcurves_enable 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-00160-operator-anim.channels_fcurves_enable.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00160.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-00160.py -- tests/files/web/generated/M16-GAP-00160-operator-anim.channels_fcurves_enable.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00160
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00160
|
||||
|
||||
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-00160/`
|
||||
- Status: `docs/status/M16-GAP-00160.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00160/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00160 --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-00161.md
Normal file
37
docs/tasks/M16-GAP-00161.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00161: operator:anim.channels_group LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00161
|
||||
- parent: M16-GAP-00160
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_group
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_group 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-00161-operator-anim.channels_group.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00161.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-00161.py -- tests/files/web/generated/M16-GAP-00161-operator-anim.channels_group.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00161
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00161
|
||||
|
||||
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-00161/`
|
||||
- Status: `docs/status/M16-GAP-00161.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00161/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00161 --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-00162.md
Normal file
37
docs/tasks/M16-GAP-00162.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00162: operator:anim.channels_move LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00162
|
||||
- parent: M16-GAP-00161
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_move
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_move 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-00162-operator-anim.channels_move.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00162.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-00162.py -- tests/files/web/generated/M16-GAP-00162-operator-anim.channels_move.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00162
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00162
|
||||
|
||||
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-00162/`
|
||||
- Status: `docs/status/M16-GAP-00162.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00162/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00162 --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-00163.md
Normal file
37
docs/tasks/M16-GAP-00163.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00163: operator:anim.channels_rename LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00163
|
||||
- parent: M16-GAP-00162
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_rename
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_rename 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-00163-operator-anim.channels_rename.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00163.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-00163.py -- tests/files/web/generated/M16-GAP-00163-operator-anim.channels_rename.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00163
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00163
|
||||
|
||||
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-00163/`
|
||||
- Status: `docs/status/M16-GAP-00163.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00163/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00163 --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-00164.md
Normal file
37
docs/tasks/M16-GAP-00164.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00164: operator:anim.channels_select_all LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00164
|
||||
- parent: M16-GAP-00163
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_select_all
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_select_all 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-00164-operator-anim.channels_select_all.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00164.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-00164.py -- tests/files/web/generated/M16-GAP-00164-operator-anim.channels_select_all.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00164
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00164
|
||||
|
||||
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-00164/`
|
||||
- Status: `docs/status/M16-GAP-00164.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00164/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00164 --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-00165.md
Normal file
37
docs/tasks/M16-GAP-00165.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00165: operator:anim.channels_select_box LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00165
|
||||
- parent: M16-GAP-00164
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_select_box
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_select_box 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-00165-operator-anim.channels_select_box.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00165.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-00165.py -- tests/files/web/generated/M16-GAP-00165-operator-anim.channels_select_box.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00165
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00165
|
||||
|
||||
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-00165/`
|
||||
- Status: `docs/status/M16-GAP-00165.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00165/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00165 --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-00166.md
Normal file
37
docs/tasks/M16-GAP-00166.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00166: operator:anim.channels_select_filter LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00166
|
||||
- parent: M16-GAP-00165
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_select_filter
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_select_filter 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-00166-operator-anim.channels_select_filter.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00166.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-00166.py -- tests/files/web/generated/M16-GAP-00166-operator-anim.channels_select_filter.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00166
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00166
|
||||
|
||||
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-00166/`
|
||||
- Status: `docs/status/M16-GAP-00166.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00166/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00166 --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-00167.md
Normal file
37
docs/tasks/M16-GAP-00167.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00167: operator:anim.channels_setting_disable LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00167
|
||||
- parent: M16-GAP-00166
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_setting_disable
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_setting_disable 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-00167-operator-anim.channels_setting_disable.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00167.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-00167.py -- tests/files/web/generated/M16-GAP-00167-operator-anim.channels_setting_disable.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00167
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00167
|
||||
|
||||
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-00167/`
|
||||
- Status: `docs/status/M16-GAP-00167.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00167/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00167 --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-00168.md
Normal file
37
docs/tasks/M16-GAP-00168.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00168: operator:anim.channels_setting_enable LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00168
|
||||
- parent: M16-GAP-00167
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_setting_enable
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_setting_enable 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-00168-operator-anim.channels_setting_enable.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00168.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-00168.py -- tests/files/web/generated/M16-GAP-00168-operator-anim.channels_setting_enable.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00168
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00168
|
||||
|
||||
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-00168/`
|
||||
- Status: `docs/status/M16-GAP-00168.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00168/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00168 --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-00169.md
Normal file
37
docs/tasks/M16-GAP-00169.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00169: operator:anim.channels_setting_toggle LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00169
|
||||
- parent: M16-GAP-00168
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_setting_toggle
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_setting_toggle 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-00169-operator-anim.channels_setting_toggle.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00169.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-00169.py -- tests/files/web/generated/M16-GAP-00169-operator-anim.channels_setting_toggle.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00169
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00169
|
||||
|
||||
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-00169/`
|
||||
- Status: `docs/status/M16-GAP-00169.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00169/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00169 --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-00170.md
Normal file
37
docs/tasks/M16-GAP-00170.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00170: operator:anim.channels_ungroup LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00170
|
||||
- parent: M16-GAP-00169
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_ungroup
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_ungroup 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-00170-operator-anim.channels_ungroup.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00170.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-00170.py -- tests/files/web/generated/M16-GAP-00170-operator-anim.channels_ungroup.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00170
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00170
|
||||
|
||||
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-00170/`
|
||||
- Status: `docs/status/M16-GAP-00170.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00170/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00170 --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-00171.md
Normal file
37
docs/tasks/M16-GAP-00171.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00171: operator:anim.channels_view_selected LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00171
|
||||
- parent: M16-GAP-00170
|
||||
- status: in_progress
|
||||
- gap: operator:anim.channels_view_selected
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.channels_view_selected 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-00171-operator-anim.channels_view_selected.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00171.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-00171.py -- tests/files/web/generated/M16-GAP-00171-operator-anim.channels_view_selected.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00171
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00171
|
||||
|
||||
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-00171/`
|
||||
- Status: `docs/status/M16-GAP-00171.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00171/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00171 --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-00172.md
Normal file
37
docs/tasks/M16-GAP-00172.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00172: operator:anim.clear_useless_actions LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00172
|
||||
- parent: M16-GAP-00171
|
||||
- status: in_progress
|
||||
- gap: operator:anim.clear_useless_actions
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.clear_useless_actions 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-00172-operator-anim.clear_useless_actions.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00172.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-00172.py -- tests/files/web/generated/M16-GAP-00172-operator-anim.clear_useless_actions.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00172
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00172
|
||||
|
||||
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-00172/`
|
||||
- Status: `docs/status/M16-GAP-00172.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00172/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00172 --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-00173.md
Normal file
37
docs/tasks/M16-GAP-00173.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00173: operator:anim.copy_driver_button LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00173
|
||||
- parent: M16-GAP-00172
|
||||
- status: in_progress
|
||||
- gap: operator:anim.copy_driver_button
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.copy_driver_button 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-00173-operator-anim.copy_driver_button.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00173.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-00173.py -- tests/files/web/generated/M16-GAP-00173-operator-anim.copy_driver_button.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00173
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00173
|
||||
|
||||
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-00173/`
|
||||
- Status: `docs/status/M16-GAP-00173.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00173/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00173 --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-00174.md
Normal file
37
docs/tasks/M16-GAP-00174.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# M16-GAP-00174: operator:anim.driver_button_add LOCAL_EXACT slice
|
||||
|
||||
- task: M16-GAP-00174
|
||||
- parent: M16-GAP-00173
|
||||
- status: in_progress
|
||||
- gap: operator:anim.driver_button_add
|
||||
- ownerFamily: OPERATOR
|
||||
- targetImplementationClass: LOCAL_EXACT
|
||||
|
||||
## 目标
|
||||
|
||||
Make the same minimal fixture produce observable operator:anim.driver_button_add 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-00174-operator-anim.driver_button_add.blend`
|
||||
- Generator: `tools/web/generated/M16-GAP-00174.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-00174.py -- tests/files/web/generated/M16-GAP-00174-operator-anim.driver_button_add.blend
|
||||
npm --prefix web run test:generated-gap -- --task M16-GAP-00174
|
||||
node tools/web/check-generated-gap.mjs --task M16-GAP-00174
|
||||
|
||||
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-00174/`
|
||||
- Status: `docs/status/M16-GAP-00174.md`
|
||||
- Manifest: `tests/golden/M16-GAP-00174/manifest.json`
|
||||
- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00174 --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