Tried it but it makes no difference for the powered ragdoll. Test is standing ragdoll spreading arms like T-pose. Because of missing stiffness each joint misses a fraction of the target angle and the hands end up lower than they should be. This effect is the same if i use the skeleton container or not.
Is there internal difference between a powered joint and a hard limit joint, and should the new method improve both of them?
Maybe there is something else necessary like CustomArticulatedTransformController, like you use in your ragdoll demo?
I am not sure new method is really running (throwing around unpowered ragdoll seems a lot more stiff but there are still temporary gaps, so i'm not sure).
One other idea i have to reduce the gap problem is:
Instead of using parent body orientation to do the point to point constraint, use gramm schmidt along the gap error if error is large. This improves kinematic joint, so it should work for eyery other too.
I'll try this first...
---
There are some interesting differences between exact / iterative solver:
Using exact solver the balancing ragdoll moves very smooth. Iterative has some micro-jitter / flickering motion (small enough it can be filtered for graphics).
But a big downside is that exact solver adds much more energy.
You can see this in your ragdoll demo if you disable cone limits making it a pure ball socket (i did by commenting the limits code in joint lib).
Then when you pick a ragdoll, lift it up and keep it hanging in air, the end bones (hands, feet, head) begin to spin and jitter - entire ragdoll never comes to rest.
(It seems the new method makes this effect worse in my demo)
Things like that would justify a hacky fix if possible (something like damping per skeleton - conserving whole skeleton energy, but reduce relative vleocity between bones?)
For this reason i never was very interested in exact solver, but now - because of the smooth motion - now i am
