I worked on map generation over a month ago, then set it aside; I was spinning wheels on rendering and prioritized the conflict loop instead. It’s back and more robust.
My implementation is a directed acyclic graph; you start from the root node and have a series of choices about where you can go, eventually narrowing down to a single terminal node. Traversal works (disabling nodes you can’t visit), and since the nodes are practically buttons, I got controller navigation for free (ish).
