Haha yea the crystal this time around seems to be a bit rude haha.
for the node creation/connection generation logic, I used Binary space partitioning first to place random nodes without having g them overlap with good margin between.
And then used delaunay's triangulation to calculate neighboring connections.
After found minimum spanning tree to, create the smallest number edges to connect all the nodes.
Finally, added some of the unused lines back to the map to create cycles.
I actually had created dungeon generation plugin for one of my tutorial videos which you can see here!