Apply the PRIMARY (deciduous) dentition preset — a STRUCTURAL
interactive edit (not a reset), routed through the batch gate. targetFor
is the state each tooth ends up in; only teeth that actually change are
passed to the gate so unchanged teeth are not marked plan-edited / mirrored
(per-tooth no-op signaling). Uninitialized plan stays a pure passthrough.
The edentulous flip + button state live INSIDE the gated closure so on the
deferred-confirm path they take effect only on Accept — otherwise Cancel
would leave edentulous flipped while every tooth
is untouched (flag/teeth mismatch). notifyStateChange() moves inside too so
the whole-mouth refresh fires when the batch actually applies.
Apply the PRIMARY (deciduous) dentition preset — a STRUCTURAL interactive edit (not a reset), routed through the batch gate.
targetForis the state each tooth ends up in; only teeth that actually change are passed to the gate so unchanged teeth are not marked plan-edited / mirrored (per-tooth no-op signaling). Uninitialized plan stays a pure passthrough. Theedentulousflip + button state live INSIDE the gated closure so on the deferred-confirm path they take effect only on Accept — otherwise Cancel would leaveedentulousflipped while every tooth is untouched (flag/teeth mismatch).notifyStateChange()moves inside too so the whole-mouth refresh fires when the batch actually applies.