1. Recursive Backtracker
Start at a random cell, mark visited, push to stack. While stack not empty: pick a random unvisited neighbor, remove the wall between, push. If no neighbor, backtrack. Results in a perfect maze.
2. Solver
A* expands the most promising cell first (f = g + h). g is steps from start, h is Manhattan distance to goal. Guaranteed shortest path, far faster than blind BFS on open mazes.
- Perfect maze — exactly one solution
- Canvas-rendered — no DOM grid
- Reproducible seeds