FIG-001/ GRID-EXIT

exit in place, then FLIP the survivors.

A fixed 3-column processing strip. Each card combines layout with enter/exit animations inside <AnimatePresence>: completing a job fades its card out in the slot it currently occupies, and only then do the surviving cards slide over — one smooth FLIP, no snapping.

  • In the default sync mode, an exiting card keeps its grid slot until its exit animation finishes — the card fades out exactly where it stands, even when earlier removals have already moved it to a new column. Survivors don't reflow mid-exit.
  • The layout prop does the second half: once the slot frees up, each surviving card FLIPs from its old column to its new one on the same spring — position is animated with transforms, so nothing repaints or stutters.
  • The cards render from a keyed {#each} with a stable key per job. Stable keys are what let AnimatePresence distinguish "this card left" from "every card changed" — without them, exits and FLIPs can't be attributed to the right element.
↩ all examples
pattern · exit + FLIP mode · live running source
// processing queue 03 / 03 slots
sync.orders_v2
rows
91,557
elapsed
0:00
ingest.users
rows
50,336
elapsed
0:00
etl.payments
rows
70,814
elapsed
0:00
mode: sync / layout: flip
category · grid-exit
sheet · sheet 01 / 01
⟳ to re-run

Grid Exit