# real-ezthedev/ezdungeongenerator architecture

> Architecture diagram of the GitHub repository real-ezthedev/ezdungeongenerator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/real-ezthedev/ezdungeongenerator
- Repository: https://github.com/real-ezthedev/ezdungeongenerator

## Overview

EzDungeonGenerator is a Godot collection of dungeon-generation approaches. The likely user workflow is to select a generator and obtain a dungeon layout, with visualization available as a separate capability. The tree identifies BSP, cellular automata, Delaunay triangulation, and drunkard’s walk implementations; it also shows BSP and Delaunay supporting types. No source excerpts or workflow documentation were provided, so specific calls and data transfers cannot be verified; inferred workflow links are dashed and uncited.

Main entry points: [`bsp/bsp_generator.gd`](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/bsp_generator.gd) (BSP generator), [`cellular_automata/cellular_automata_generator.gd`](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/cellular_automata/cellular_automata_generator.gd) (Cellular automata), [`delaunay_triangulation/delaunay_triangulation.gd`](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/delaunay_triangulation.gd) (Delaunay generator), [`drunkards_walk/drunkards_walk_generator.gd`](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/drunkards_walk/drunkards_walk_generator.gd) (Drunkard’s walk)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_generation["Dungeon generation"]
  node_bsp_generator["BSP generator<br/>[bsp_generator.gd]"]
  node_cellular_generator["Cellular automata"]
  node_delaunay_generator["Delaunay generator"]
  node_drunkards_generator["Drunkard’s walk"]
end

subgraph group_bsp_support["BSP support"]
  node_bsp_info["BSP dungeon info<br/>[BSPDungeonInfo.gd]"]
  node_bsp_room["BSP room node<br/>[BSPRoomNode.gd]"]
end

subgraph group_triangulation_support["Triangulation support"]
  node_triangle["Triangle<br/>[Triangle.gd]"]
  node_triangulation_edge["Triangulation edge"]
  node_circle["Circle<br/>[circle.gd]"]
  node_min_heap["Min heap<br/>[min_heap.gd]"]
end

subgraph group_presentation["Visualization"]
  node_visualizer["Dungeon visualizer"]
end

node_godot_user(("Godot user"))
node_layout["Dungeon layout"]

node_godot_user -.->|"selects"| node_bsp_generator
node_godot_user -.->|"selects"| node_cellular_generator
node_godot_user -.->|"selects"| node_delaunay_generator
node_godot_user -.->|"selects"| node_drunkards_generator
node_bsp_generator -.->|"generates"| node_layout
node_cellular_generator -.->|"generates"| node_layout
node_delaunay_generator -.->|"generates"| node_layout
node_drunkards_generator -.->|"generates"| node_layout
node_godot_user -.->|"views"| node_visualizer

click node_bsp_generator "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/bsp_generator.gd"
click node_cellular_generator "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/cellular_automata/cellular_automata_generator.gd"
click node_delaunay_generator "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/delaunay_triangulation.gd"
click node_drunkards_generator "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/drunkards_walk/drunkards_walk_generator.gd"
click node_bsp_info "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/BSPDungeonInfo.gd"
click node_bsp_room "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/BSPRoomNode.gd"
click node_triangle "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/Triangle.gd"
click node_triangulation_edge "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/triangulation_edge.gd"
click node_circle "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/circle.gd"
click node_min_heap "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/min_heap.gd"
click node_visualizer "https://github.com/real-ezthedev/ezdungeongenerator/blob/main/dungeon_visualizer.gd"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_bsp_generator,node_cellular_generator,node_delaunay_generator,node_drunkards_generator,node_godot_user toneBlue
class node_bsp_info,node_bsp_room toneAmber
class node_triangle,node_triangulation_edge,node_circle,node_min_heap toneMint
class node_visualizer toneRose
class node_layout toneIndigo
```

## Components

### Dungeon generation

- [BSP generator](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/bsp_generator.gd): `bsp/bsp_generator.gd`
- [Cellular automata](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/cellular_automata/cellular_automata_generator.gd): `cellular_automata/cellular_automata_generator.gd`
- [Delaunay generator](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/delaunay_triangulation.gd): `delaunay_triangulation/delaunay_triangulation.gd`
- [Drunkard’s walk](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/drunkards_walk/drunkards_walk_generator.gd): `drunkards_walk/drunkards_walk_generator.gd`

### BSP support

- [BSP dungeon info](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/BSPDungeonInfo.gd): `bsp/BSPDungeonInfo.gd`
- [BSP room node](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/bsp/BSPRoomNode.gd): `bsp/BSPRoomNode.gd`

### Triangulation support

- [Triangle](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/Triangle.gd): `delaunay_triangulation/Triangle.gd`
- [Triangulation edge](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/triangulation_edge.gd): `delaunay_triangulation/triangulation_edge.gd`
- [Circle](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/circle.gd): `delaunay_triangulation/circle.gd`
- [Min heap](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/delaunay_triangulation/min_heap.gd): `delaunay_triangulation/min_heap.gd`

### Visualization

- [Dungeon visualizer](https://github.com/real-ezthedev/ezdungeongenerator/blob/main/dungeon_visualizer.gd): `dungeon_visualizer.gd`

### Other components

- **Godot user**
- **Dungeon layout**

## Connections

- Godot user → BSP generator: selects
- Godot user → Cellular automata: selects
- Godot user → Delaunay generator: selects
- Godot user → Drunkard’s walk: selects
- BSP generator → Dungeon layout: generates
- Cellular automata → Dungeon layout: generates
- Delaunay generator → Dungeon layout: generates
- Drunkard’s walk → Dungeon layout: generates
- Godot user → Dungeon visualizer: views
