Implemented edge flip for corridors. For each cell which only has horizontal or vertical neighbors the edge between two cells is flipped. This works great but there are some edge cases that still need to be handled.
Geometry generation is now in an okay state. Next improvements are significantly harder and have almost no visual effect. For example merging the "pillar" geometry (green) correctly. At the moment these are just overlapping tubes.
Decided to work on the room layouts instead and started with a classical grid dungeon layout. Corridors still look incorrect and need an edge flip to align the flow of the ceiling correctly.
Added walls to the room and removed the pillars in the room itself. These can still be placed in the data structure but my random generator isn't using them at the moment. The geometry is now mostly done for my purposes. The next step will be tooling to create and edit rooms manually.
Combined the Delaunay triangulation with the Bezier curves to create the "walls" of a room. Next step will be figuring out how to create surfaces between curves.