This is pretty good, but the full-screen ColorRect method doesn't apply the shader to nodes that are initialized/spawned during runtime. It only applies to what was in the scene editor.
Hi, have you checked if the nodes spawned at runtime are ordered below the color rect in the scene?
I've done some testing and it seems to be working correctly if the color rect is rendered after all the nodes you want to apply the effect on.
this applies the color swap to the node:
this doesn't: