The Line
if (q1.x == q2.x && q1.y == q2.y && q1.z == q2.z && q1.w == q2.w) {
return q1;
}
should be changed too
if (q1.x == q2.x && q1.y == q2.y && q1.z == q2.z && q1.w == q2.w) {
interpolated.set(q1);
this.set(q1);
return interpolated;
}
I say serious in that this bug made me go crazy thinking I had done something wrong!! ;)