Builds the walkable graph for a map
The map's collision geometry
Every node standing in a cell column, ordered from the ground up.
The bounds check is load-bearing, not defensive: column keys are packed into a single number, so a lookup that runs off one edge of the map would otherwise wrap around and quietly answer with a column on the opposite side - which is how a bot ends up being told it can jump a gap the width of the map.
The column X
The column Z
The nodes in that column, or nothing if it is off the map
Searches for the cheapest route between two nodes.
Plenty of the map is one-way - a standing jump clears about two thirds of a block, so any ledge you drop off is a ledge you cannot climb back up. Rather than refusing to move at all when the destination is on the wrong side of one, the search falls back to the closest place it did manage to reach and says so.
The route, flagged as partial if the destination could not actually be reached
The walkable graph for a map: everywhere the player can stand, and how to get between those places. Built once per map by probing a ColliderSet with the player's own collision sphere, so the graph is a consequence of the real geometry rather than of block names - a prop you can walk over produces nodes, and a prop you cannot does not, without anything having to classify it.
Building is the expensive part of navigation and takes a moment on a large map, so a Pathfinder only does it the first time something actually asks for a route.