Here is a good discussion of the different position corrections:
https://code.google.com/p/box2d/source/browse/trunk/Box2D/Box2D/Dynamics/b2Island.cpp
Here is a good discussion of the different position corrections:
https://code.google.com/p/box2d/source/browse/trunk/Box2D/Box2D/Dynamics/b2Island.cpp
Just sharing a update... I was able to get my version of persistent contact manifolds working today to warm-starting. Actually this is what improves a lot the results. Check by yourselves:
My version works such that if the manifold is full I replace the closest point in the existing manifold with the new point. If the new contact it is close to the existing ones, I just discard it. The engine will support later an similar version of how Bullet does with btPersistentManifold now as long I found the fastest way to do it.