flâneur

Karl Koch | On layout choreography

karlkoch.me · 1,093 words · saved by 1 readers

Layout animation keeps spatial memory intact when lists reorder, panels expand, and items enter or leave. FLIP turns layout jumps into transform-based motion.

Interfaces teleport all the time. Remove an item from a list and everything below it snaps upward; insert a row and the existing content jumps down. Expand a panel and the neighbouring blocks instantly reflow around it. The layout is technically correct, but for one frame the reader loses the connection between the state change and the objects that moved. Layout choreography gives that reflow a visible path. The jump The simplest version of a dynamic list is just state: const [items, setItems] = useState(initialItems); return ( <ul> {items.map((item) => ( <li key={item.id}> {item.label}…

saved by

related reading