Part of the AI system determining the foot position, is responsible for calculating legal foot positions.
It can do that but using ray cast, or convex cast. there are a set of function for that in the engine.
That needs further explantation to me.
What i've planned myself to do in case there is not much you can do about it is:
Use a extruded proxy-body ('kinematic' ?) to get contact points for feet.
Use that information to create 3 linear joints - one to fight penetration, two tangential to emulate friction.
That way collisions would be handled in the same way as the joints, and it should work physical correct even for dynamic - dynamic collision.
I don't know if 'recreating' joints for each frame is good idea at all, or if it would need to be done each substep to get accurate friction etc.
Can you describe what you mean with 'legal foot positions'?
would that be simply a position that is non-penetrating anything?
I don't think so - if doing that the ragdoll could not balance.
You need to try to push your feet inside the floor... otherwise you'll fall on your ass soon
However... the CCD assert seems still there.
It's very easy to get it in my app, but i've had no luck replicating it in sandbox so far.
I'll first change to your dll to ensure i don't have wrong settings compiling newton.
Maybe it's necessary to attach the pick-joint AFTER creation of the scene (assert happens as soon as i pick a body resting on floor in my app)
Will take some time...