This water isn't actually moving forwards, it's a 32 frame spritesheet, and the frames update in code on a Sprite3D node and log the correct frame numbers 1-32. It's a small texture, applied to a big mesh, with UV1 scale set to 31x.
The first part of the video is at 31x scale and runs pretty smoothly, the second is at 24x scale and runs really fast for some reason, the third is at 32x scale and just stops completely. At 33x it starts going backwards (not in the video).
I'm just wondering why the scale of the UV affects the sprite animation?