I was trying to come up with a way of generating random dungeons but didn't know if you could emit exits. This is why I've made it run backwards from a 'fixed' exit to an emitted start + teleporter. But it looks like you may be able to emit exits:
Here's my idea adjusted to compensate for not being able to emit exits:
1: Place down exit as the starting point
1a: Take 6 pieces: A square, a square with one exit, a crossroads, a round room, a corridor, square/circle with teleport location logic. (all within the same grid size)
2: Place two tags on each exit of all shapes (red/blue).
3: Save each shape into an array of 5 emitters which are set above the grid on a platform.
3a: Put two dephysicalised pieces of material either side of that platform, leading down into the grid and place followers on both for red/blue tags.
3b: At the bottom of those two dephysicalised pieces, place a cross piece with a raytracer on it.
3c: Check for solid surface ahead. Also use this to rotate the emitters so they face an opening before emitting.
3d: If solid wall detected, emit square/circle.
4: Attach each emitter to a randomiser, setting the most common pieces (corridor, crossroads and square with exit) to emit more often. Set the round room and the square as the rarest emitted object. Add timer to the emitter logic to end when no more tags are available. When only one tag left, emit square/circle with teleport logic.
5: Launch project dungeon generator at the exit point.
6: Exit to a blank location and pause for the next dungeon to be rendered
7: On finishing, teleport to start location.