Currently Noise and Wave texture nodes use noise functions within [0,1] range for distortion effect. We either add or subtract noise from coordinates, never do both at same time. This leads to texture drastically shifting on diagonal axis of a plane / cube. This behavior makes Distortion input hard to control or animate. Capabilities of driving it with other texture are also limited, diagonal shifting is very apparent.
This can be easily fixed by offsetting noise function to signed range and make it zero-centered. This way noise is uniformly added and subtracted from coordinates. Texture pattern sticks to main coordinates which makes it way easier to control.
Diagonal shifting can be "artistic decision" but I believe that users would want uniform distortion in vast majority of cases. After my changes diagonal shifting could be easily achieved by adding another noise node to coordinates.
This patch will change appearance of textures in some corner cases when input was driven by another texture with high amplitude and/or frequency (last example in video).
Before we used noise() for distortion effect. This patch change it to snoise() which is zero-centered but also has twice the range. To maintain same distortion amount I added versioning code that halve distortion value, directly in node or by adding multiply node for used sockets.