This reminds me of the documentation for how the game Liquid War did their pathfinding. The interesting relevance is that it does not use a uniform grid when calculating the gradients, but instead coalesces squares into power-of-two squares to "cheat"