Assuming this (in magenta) is what Blender SmartUV unwrapped as the lid

Flipping your texture along the Y Axis gives this

We notice the magenta zone looks a lot like what you have in your scene.
Which is why I’m 90% sure that adding this line will solve the issue (unless it’s what you’ve already tried “inverting the texture” ?)
mat.diffuseTexture.invertY = !mat.diffuseTexture.invertY
The idea of using simple shapes and debug texture is that it helps troubleshooting what goes wrong in the export pipeline.
It doesn’t mean using BabylonJS built-in primitives (nor replacing your models with primitives in your project ^^), because they don’t have UV mapping issues. It means to draw / export / import a simple model and a simple debug texture the same way you do with the chest, so you can notice more easily what happens.
Good luck ! Uvs never work the first time ![]()