19 lines
1.2 KiB
Markdown
19 lines
1.2 KiB
Markdown
# M16-GAP-00198 Status
|
|
|
|
status: done
|
|
task: anim.merge_animation operator LOCAL_EXACT slice
|
|
updated: 2026-08-22 America/New_York
|
|
|
|
scope:
|
|
|
|
- The minimal fixture contains two selected mesh objects. The active object owns `WebGapAnimMergeActiveAction`; the source object owns `WebGapAnimMergeSourceAction`, each with one three-key custom-property channel.
|
|
- Blender invokes `ANIM_OT_merge_animation` with `poll=true` and `FINISHED`, moving the source slot into the active action. Both objects then observe `WebGapAnimMergeActiveAction` with both channels; the source action has no remaining users.
|
|
|
|
evidence:
|
|
|
|
- Desktop evidence records the exact pre/post action channels, operator status, active/selected state, and save/reopen stability.
|
|
- WASM/Main reads the post-operation fixture with two `WebGapAnimMergeActiveAction` animation entries (one per object), both carrying the merged channels; save/reopen is exact and malformed Blend input is rejected without Main mutation.
|
|
- Fixture generation, background desktop operator checker, npm comparator, direct idempotent comparator, Python syntax checks, and artifact hashing passed. No production reader or protocol change was made.
|
|
|
|
nextTask: `M16-GAP-00199`
|