18 lines
1.3 KiB
Markdown
18 lines
1.3 KiB
Markdown
# M16-GAP-00188 Status
|
|
|
|
status: done
|
|
task: anim.keyframe_insert_by_name operator LOCAL_EXACT slice
|
|
updated: 2026-08-22 America/New_York
|
|
|
|
scope:
|
|
|
|
- The minimal fixture contains one selected/active object with a custom `insert_target` property, an Action keyed at frames 1 and 5, and a named Keying Set targeting that property. A foreground `VIEW_3D` context invokes `ANIM_OT_keyframe_insert_by_name(type=WebGapAnimKeyframeInsertByNameSet)` (`poll=true`, `FINISHED`) at frame 3, inserting the current key while preserving the two existing keys.
|
|
|
|
evidence:
|
|
|
|
- Desktop evidence records the Action changing from `[1, 5]` to `[1, 3, 5]`; the inserted key is the only selected key (`[false, true, false]`), the custom property remains at 3.0 and save/reopen is exact.
|
|
- WASM/Main reads the same Action as one `[\"insert_target\"][0]` channel with two keyframes before the operation fixture and three keyframes after it. WASM save/reopen is exact, and malformed Blend input is rejected without Main mutation.
|
|
- Fixture generation, foreground `VIEW_3D` checker, npm comparator, direct idempotent comparator, and artifact hashing passed. No production reader or protocol change was required because the existing generic Action/F-Curve reader exposes this custom-property channel.
|
|
|
|
nextTask: `M16-GAP-00189`
|