Baumgarte stabilization
A trick in constraint solvers that feeds a fraction of the positional error back as a velocity bias, so the same solver that fixes speeds also slowly pushes overlaps apart.
A contact or joint constraint is really a statement about positions — these bodies must not overlap — but the solver works in velocities. Without correction, the positional error drifts unnoticed. Baumgarte stabilization adds a term β·C/Δt to the velocity target, where C is the error (the penetration): the solver is handed a little extra velocity that eats the overlap away over a few frames.
The method comes from Joachim Baumgarte in 1972, originally for differential-algebraic equations in multibody dynamics. It is cheap and lives in countless game engines, but has a well-known downside: it injects energy, so contacts bounce and jitter if β is set too high. That is why modern solvers often switch to split-impulse or a separate position solver that corrects the pose without touching energy.