There's a long-standing issue with UV transformations in glTF, that stems from rotated non-uniform scaling as shown in your node above.
As always, "order of operations" matters, and UVs have an extra wrinkle with the ordering of rotation vs. scaling. If one comes before the other, the 2D plot of UV coordinates will not be sheared, but the texture image in the final render may appear sheared. Using the opposite ordering, the final texture image will not shear, but the 2D plot of UV space will appear sheared.
In glTF, for historical reasons, the KHR_texture_transform
extension specifies the former. But some client implementations, including ThreeJS and model-viewer, insist on the latter, contradicting the glTF spec for compatibility with their own historical texture transform implementations.
So although your model "looks right" in model-viewer, technically it's not following the KHR_texture_transform
spec exactly. Blender and Adobe Dimension are showing you the truth of what's been specified. The only way to get it working "everywhere" is to avoid using both rotation and non-uniform scaling in the same texture.
For further reading, see this issue: https://github.com/KhronosGroup/glTF/issues/1563
and this PR: https://github.com/KhronosGroup/glTF/pull/1624