UV map difference between Plane and Shape geometry

When I apply a texture to a plane, it appears correctly.

However, when i create a plane using shape and ShapeGeometry, the position and scale of the texture is incorrect

It appears the UV maps are different.

Is this expected? or is this a bug?

Here’s the code on how to repeat three-shape-texture-issue - CodeSandbox

I found this reply in another post and it appears to fix the problem.

Can be added to the end of ShapeGeometry constructor?

Try with a shape with (0,0) at its lower left corner. This should set the texture mapping the way you want.

ctx.moveTo(0, height);
ctx.lineTo(width, height);
ctx.lineTo(width, 0);
ctx.lineTo(0, 0);