Capture M16 gap execution artifacts
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-21 21:09:40 -04:00
parent e8ce4f5d0c
commit 46c9ebfcb6
339 changed files with 20028 additions and 108 deletions

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`

View 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`