This is an incomplete pathfinding visualiser that uses BFS to find the shortest path from one randomly generated point (A) to another (B). You can draw walls between A and B to better understand how the algorithm works.
In this version of BFS, the entire graph is preprocessed first so that all subsequent shortest path queries are resolved in linear time (i.e. it doesn't stop when B is found). Later, I'll add the ability to drag the two points along with a few other things like clearing the walls and choosing other algorithms.