when there is no uv, we call the function `map_to_sphere()` to create temporary uv for computing the tangent. It could happen that a triangle has vertices with the u coordinates going across the line where u wraps from 1 to 0. In this case, just computing the difference of the u coordinates results in the wrong triangle area. To fix this problem, we compute distance in toroidal (wrap around) space. This is safe for coordinates generated by `map_to_sphere()` function, because it is not supposed to map the positions of a triangle to u coordinates that span larger than 0.5. Pull Request: https://projects.blender.org/blender/blender/pulls/139880
MikkTSpace
A common standard for tangent space used in baking tools to produce normal maps.
More information can be found at http://www.mikktspace.com/.