# M16-GAP-00183 Status status: done task: anim.keyframe_delete_by_name operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture contains one selected object with a custom `delete_target` property and an Action keyed at frames 1, 3, and 5. A named Keying Set targets that property. A foreground `VIEW_3D` context invokes `ANIM_OT_keyframe_delete_by_name(type=WebGapAnimKeyframeDeleteByNameSet)` (`poll=true`, `FINISHED`) at frame 3, deleting only the current keyframe and preserving the two surrounding keys. evidence: - Desktop evidence records the selected/active object and named Keying Set changing from `[1, 3, 5]` to `[1, 5]`; the custom property remains at 3.0 and save/reopen is exact. - WASM/Main reads the same Action as one `[\"delete_target\"][0]` channel with three keyframes before the operation fixture and two 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-00184`