works accurately, not very fast at far distances works in phases now, first prioritizes movement that goes close (but might not find shortest route) then if gets stuck restarts and uses normal breadth-first pathfinding (which is way slower but always finds shortest route)
kinda feels like floodfill ngl took 2 weeks or so to finish