# M16-GAP-00209 Status status: done task: anim.slot_unassign_from_id operator LOCAL_EXACT slice updated: 2026-08-22 America/New_York scope: - The minimal fixture assigns `OBWebGapUnassignIdSlot` to `WebGapAnimUnassignIdObject` through `WebGapAnimUnassignIdAction` and keys one custom property. - Desktop runs `ANIM_OT_slot_unassign_from_id` with the animated ID context. The reader preserves the Action animation and exposes the retained slot identifier plus assigned/handle state. evidence: - Desktop evidence records `poll=true`, `FINISHED`, `ID_SLOT_UNASSIGNED`, the nonzero-to-zero handle transition, retained `lastSlotIdentifier`, and exact save/reopen. Repeated checker runs preserve the initial evidence and fixture hash. - WASM/Main observes `slotAssigned=false` and handle `0` with the expected keyframes, preserves it across save/reopen, and rejects malformed Blend input without Main mutation. - The generator, npm comparator, direct comparator, WebEngine rebuild, and task-context checks passed. Chromium-only policy was preserved; no Firefox/WebKit run was made. nextTask: `M16-GAP-00210`