Some imports come from apps using a right handed system.
Especially when mixing imports from different apps and/or directly created babylon.js meshes 1 and 2 together can prove insurmountable.
Proposed solution.
Add additional options’ parameters where appropriate that would ensure textures are not reflected.
add the property reflection to a mesh in the form
mesh.reflection = N; //N a Vector3 which is the normal of a plane through the mesh origin (mesh position) in which the mesh is relected.
I am happy to do a PR for 1. For 2, I am happy to produce a reflection matrix that can be applied to a mesh but have no clue how such a matrix is applied to the world matrix.
I belive using the reflection together with a rotation on a mesh will be able to orientate a mesh from a RHS to display within our LHS as it was in the RHS.
I will first produce a reflection function in a PG as an example to check it works.
Timescale unknown but definitely after the v5.0 launch
I think the problem has already a solution (If I understand correctly): The texture can be loaded with invertY OR the texture.vScale can be set to -1 OR the mesh uvs can be inverted
EDIT I know think I need to go back to looking closer at left hand and right hand systems for 2. I still think there is some mileage in looking at correcting, via a new parameter, image direction on creation particularly for cylinders and polygons with holes.
Text reflection can occur if in constructing a mesh uv values are flipped on the faces of the mesh, (u, v) values are still read from the bottom left of the image.
It appears that just forming a reflection matrix that only works by adjusting the worldMatrix is not sufficient as depending on the plane of reflection some triangular facets need their normals reflected while other need their indices reversed. Back to the drawing board.