I am trying to understand the MeshBuilder and its strategies because I want to decide if I may be better off just using vertex data.
First I want to understand the reason why vertices are ordered the way they are for the box builder:
https://playground.babylonjs.com/#ICLXQ8#235
The order is +z, -z, +x, -x, +y, -y as explained in Map Materials to Individual Mesh Faces | Babylon.js Documentation
Is there a reason why z is first ? Perhaps because it is the forward direction.
shows the construction.
The next question is why are sides rotated (with default uvs, and no wrap) with respect to each other ? Is that ordering systematic ? Probably, but what is the principle ?
I think I understand the purpose of the wrap option (reorient faces upright on the sides) but the implementation is hard to follow. Is is possible to explain that procedure ?
Finally, I could not find examples for the top/bottomBaseAt options. I think they are linked to wrap, and may define how wrap reorients sides.
useRightHandedSystem seems to result in mirroring of textures, perhaps because there is no attempt at taking the option into account (which may be the most transparent option).