          quat.mul( q, q, ct.rot );                   // Apply it to world space bind
            QuatUtil.pmulInvert( q, q, pt.rot );        // To Local

            pose.setLocalRot( lnk.idx, q );             // Save
            if( i === 0 ) pose.setLocalPos( lnk.idx, ct.pos ); // TODO - Maybe need to remove or change

            pt.mul( q, lnk.bind.pos, lnk.bind.scl );    // Set WorldSpace Transform for next bone
        }
    }

}



//sqrLen . sqrDist, dist,, len
function distanceConstraint( a, b, at