This should be `v2.subtract(v0, qScratch)`. I couldn't think of any situation where the code you have would be wrong, but its easier to follow if the two vectors are computed with the same origin.

Also you should document that this function assumes a counter-clockwise vertex winding order.