Reaction Choreography
When an animation plays or exports, Molkit compares each adjacent pair of states and looks for chemistry: lone pairs or orbitals that vanish, bonds that form or break, radical electrons that move. When it recognizes a reaction pattern, it choreographs the transition into timed sub-animations instead of a plain move-and-crossfade. Detection is automatic and reads only what you drew; there is nothing to configure per reaction. How objects pair up between states at all is covered on the matching page, including the emerge and collapse treatment of unmatched objects.
What gets detected
Between each state pair, the engine looks for:
- Nucleophilic attack: one atom loses an orbital, another loses a lone pair, and a new bond connects them in the next state. If the orbital atom also loses a bond, that bond’s far atom is treated as the leaving group, and a lone pair gained there is part of the pattern.
- Electron transfers: a matched atom’s lone-pair or radical count drops while another atom’s rises. Donors pair with acceptors through a curved mechanism arrow first, then through a forming bond; radicals can also pair by proximity. Lone-pair transfers require an arrow or a forming bond, so stray lone-pair edits are not animated as transfers.
- Radical pairing: a forming bond whose endpoints carry radical electrons inserts a short rotation beat before the transition, turning each radical to face its partner before the bond appears.
Detection also scans your curved mechanism arrows. Arrows anchored to the donor and acceptor match most reliably; unanchored arrows are matched by nearest atom and direction. See mechanism arrows for anchoring.
The three-beat transition
A choreographed transition runs almost twice as long as a plain one and splits into overlapping beats:
- Approach (roughly the first third): structures move into position while the lone pair and orbital stay fully visible.
- Merge (middle stretch): the lone pair and orbital dissolve as the forming bond fades in. A breaking bond fades out during this window, so the bond visibly breaks before its atoms leave.
- Solidify (final stretch): the new bond reaches full opacity and the leaving group’s new lone pair appears.
During the transition, electron dots travel from donor to acceptor: a paired dot for a lone-pair transfer, single dots for radicals. Dots follow your drawn arrow path when one exists, otherwise a gentle arc. Preview and exported SVG produce identical motion.
Arrow wipes and draw-on
Mechanism arrows normally wipe in during the hold before their transition, and the hold extends automatically so the wipe fits. They then wipe out across the first 80 percent of the transition. Arrows belonging to the destination state wipe in during the hold after structures settle, so they never move with the molecules.
Arrows recognized as part of a choreography skip the hold wipe and instead draw on during the transition itself: the attack arrow draws early, the departure arrow starts around a third of the way in, and both fade out near the end, in sync with the electrons they describe.
Timing controls
- Automatic timing: holds lengthen with on-frame text (about a quarter second per word past two) and with arrow wipes; choreographed transitions get the stretched duration on their own.
- Per-pair overrides: in the preview window, expand the Pair Timing section to set Hold A, Trans, and Hold B in seconds (blank means auto) plus an easing curve (Ease In-Out, Ease In, Ease Out, Linear, Bounce, Snap). Each field has a reset, and Reset All clears every pair.
- Speed presets: right-click the duration label between two states in the state strip and pick Quick, Normal, or Slow for that transition.
Choreography detection itself has no off switch; removing the triggering lone pairs, orbitals, or arrows from your states returns a pair to the plain transition.