# M16-GAP-00184 Status status: done task: anim.keyframe_delete_v3d operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture contains one selected/active object with a custom `delete_target` property and an Action keyed at frames 1, 3, and 5. A foreground `VIEW_3D` context invokes `ANIM_OT_keyframe_delete_v3d(confirm=false)` (`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 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-00185`