I'm trying to implement a physics engine based upon Catto's 2005 paper. It's working quite nicely, and I have collision caching with warmstarting working. However, I still have too much jitter to properly stack boxes - they'll shake themselves apart eventually.
I have read that the problem is Baumgarte stabilisation (beta=0.1) introducing extra momentum which adds up over time. A solution which is mentioned in one of Catto's lecture slides is to use split impulses and store extra pseudo-velocities to separate the velocity constraint from the correction of the positional drift. I get the general idea - but I'm finding it difficult to dig up any concrete details (only 5ish sparse slides - don't think it is in the original paper) of this method or code to learn from. In particular I'm a bit confused how to clamp the lambdas when they are separated. Can anyone point me in the right direction?
Btw, this is for a pico-8 project - so a more complicated solver is probably out and I can't use another library (and the fun is in the learning ?). I've had a look in Box2D and Box2D-lite, but I don't think this is the approach taken (I could be mistaken).
Thanks