https://developer.nvidia.com/gpugems/gpugems3/part-v-physics...
For a more lay explanation you solve constraints directly by moving elements around and using the difference between their current position and previous position as their velocity. If you've some experience of numerical integration it's quite similar to verlet integration. This approach is good because it lets you have constraints with infinite stiffness without the simulation exploding.
The original papers consider points (like a mass-spring system) but it's also been extended to rigidbodies.
[1] https://ipc-sim.github.io/ (see related projects section at bottom)
I'm new to physics engines—I just started figuring out how to upgrade my simple grid cellular automata engine to a 2D engine for my toy sim tool (https://github.com/breck7/simoji) —and have been surprised by existing implementations, because it just seems not how the universe actually computes. I had not seen PBD before and it seems to be a closer model.