Shader graph world space stretching

Hi there! I’m trying to create a screen door effect using shader graph. Basically, far away you can only see a big grid, and when you get close you can see a small grid of “pixels” too. I want to be able to apply this to walls so that it appears that anything beyond the walls and skybox are “gridded”.
All the images for this question are labeled in this imgur:

Now I wanted these to be in world space so the grids line up as I tile different wall pieces. This can be fixed by adding a position node set to world or absolute world (side question: what’s the difference)

However, when you rotate any object with this shader, the grid stretches out. How can I avoid this stretching? I think that I need to have the grid position in world space but the rotation in object/independent space? That’s where my knowledge really breaks down.

Apparently there’s a triplanar node that can do something like this, which would be really cool. But it only works on textures and this is entirely procedurally generated.

I have a feeling I need to put some special UV position into my rectangle node in the subgraph, but what would do the trick?

Finally, as Unity Answers only allows two images (the rest are in the imgur), here’s the most important (I think)


Combined grid shader

Hopefully this is still relevant, but in Unity 2022.2 they added a URP Sample Buffer node, which can be set to BlitSource and used to pass screen data to. Based on other tutorials I saw prior to this existing, use a Lerp with the A coming from the URP Sample Buffer, the B coming from your output of the screen effect and the T being an intensity of the B effect onto the A.