Investigating why some visual effects don't pause
                    when the tree is paused. Namely, the particles
                    generated by the GPUParticles2D node
                    seem to continue moving around when paused and my
                    shaders that use TIME keep animating
                    even when paused.
For GPUParticles2D, this issue seems
                    related: https://github.com/godotengine/godot/issues/85213
And it appears that someone is working on a fix.
For my shader, it appears that the canonical solution for this is to use a global shader variable:
RandomShaper
No version of this branch for 4.0 is needed, since it introduces global shader variables, with which one can easily implement their own version of this.
See: