bend linear motion into curves
An easing function maps linear progress from 0 to 1 onto a curve, so motion can slow down into its end point or overshoot and settle instead of moving at one constant speed. The plot on the left draws each curve, and each square on the right follows its curve over the same 1.5 seconds. Use it for any move with a known start, end and duration, such as a menu sliding in or a camera pan.
Replace linear tweens with easing: compute t = elapsed / duration clamped between 0 and 1, set position = lerp(start, end, easeOutCubic(t)), use about 0.3 s for UI moves, and switch to easeOutBack when the motion should overshoot slightly before settling.