Why does my material only render correctly on certain faces? I have been getting started with materials and wanted to create a lo-fi scene with a dark marble material. I followed a tutorial to create the marble material, which works great. I then modified it using another tutorial to make it look more pixelated and retro. Here's the node graph:

And the preview looks like exactly what I want:

However, when I apply it to faces in my scene only some of them render the material correctly. Others distort the material into strange angles:

The faces marked with a green dot are rendered correctly, those marked with a red dot are inexplicably distorted. It works just fine if I use the more realistic material by disconnecting the snap node from the bottom voronoi node. This happens in both Eevee and Cycles, in previews and final renders. What gives?
You’re using UV coordinates to sample your Voronoi texture. This is fine, but the default UV map will not automatically compensate for stretching/scaling of the model. To illustrate, I took a cube and shrunk it along one axis:

Note how in the UV map, all six faces are still squares of equal area, even though they aren’t on the model.
Fortunately, all you need to do to fix this is to re-unwrap the mesh. If you don’t care about continuity between the faces at all, you can do the simplest thing of marking all edges as seams by selecting the whole mesh with A, then CtrlE ▸ Mark Seam. Then you can do U ▸ Unwrap, which will automatically compensate for face size:

As you can see, this fixes the texture stretching.