Seems there is a bug in calcTangentBasis

used vertex instead of normal to cross product