This nullspace projector based detection of when we run out of
dimensions does not actually work.
Preparation for uniformly using Jbar in the soft objectives as
well. Cleaned up prioritization interface which points to a potential
(probable) bug that lurks in the code (I left it for now): the bias of
higher levels is not properly propagated down, so it cannot be
compensated for hard and soft objectives.
Unfortunately it looks impossible to separate the velocity space
unification issue from some others, but this commit breaks some of the
fundamental functionality that should have been preserved. Maybe the
constraints need to remain in "teleport" space? I'm too tired to keep
working on this... jetlag in combination with deadlines is not a good
recipe.
Getting closer to something reasonable as well as unified. Back to
acceleration-based formulation, but extracted that out into a separate
Integrator class. The blender now just cares (in principle at least)
about biases, and the integrator uses a velocity-saturated PD control
scheme together with Euler integration. The velocity saturation is an
overall scale of the acceleration vector, based on max velocities for
the individual DOF. This should hopefully be good enough to handle
unit differences between joint types. It also creates possibilities
for adaptive max velocities to handle proximity to workspace limits or
other kinematic singularities.
old glitch that created jitter