# zidras/dbm-warmane architecture

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

- Interactive diagram: https://gitdiagram.com/zidras/dbm-warmane
- Repository: https://github.com/zidras/dbm-warmane

## Overview

DBM-Warmane is a World of Warcraft 3.3.5a addon that provides encounter timers and warnings across raids, dungeons, world bosses, and events. The principal workflow is game encounter activity reaching encounter-specific modules, which provide DBM’s alerts to the player; the README also documents commands and a configurable options interface. The tree supports these subsystem paths, but no source excerpts were supplied, so internal call ownership and detailed event-to-alert wiring cannot be verified. Voice packs and Bunny’s WeakAuras backport are documented integrations.

Main entry points: [`DBM-Core/DBM-Core.lua`](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Core.lua) (Encounter Runtime), [`DBM-GUI/DBM-GUI.lua`](https://github.com/zidras/dbm-warmane/blob/main/DBM-GUI/DBM-GUI.lua) (Options Interface), [`DBM-AQ20`](https://github.com/zidras/dbm-warmane/tree/main/DBM-AQ20) (Raid Encounters), [`DBM-Party-WotLK`](https://github.com/zidras/dbm-warmane/tree/main/DBM-Party-WotLK) (Dungeon Encounters)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_encounters["Encounter Modules"]
  node_raids["Raid Encounters"]
  node_dungeons["Dungeon Encounters"]
  node_world["World Encounters"]
  node_events["Events And PvP"]
end

subgraph group_runtime["DBM Core"]
  node_core["Encounter Runtime<br/>[DBM-Core.lua]"]
  node_timers["Timer Bars"]
  node_warnings["Boss Warnings<br/>[DBM-Core.lua]"]
  node_range["Range Check<br/>[DBM-RangeCheck.lua]"]
  node_arrows["Direction Arrows<br/>[DBM-Arrow.lua]"]
  node_health["Boss Health<br/>[DBM-BossHealth.lua]"]
  node_info["Info Frame<br/>[DBM-InfoFrame.lua]"]
  node_commands["Slash Commands<br/>[Commands.lua]"]
end

subgraph group_interface["User Interface"]
  node_gui["Options Interface<br/>[DBM-GUI.lua]"]
  node_options["Settings Panels"]
  node_profiles[("Saved Profiles<br/>[AceDB-3.0.lua]")]
end

subgraph group_integrations["Optional Integrations"]
  node_voice["Voice Packs"]
  node_weakauras["Bunny WeakAuras"]
end

node_wow(("WoW Client"))
node_player(("Player"))

node_wow -->|"encounter activity"| node_raids
node_wow -->|"encounter activity"| node_dungeons
node_wow -->|"encounter activity"| node_world
node_wow -->|"encounter activity"| node_events
node_raids -->|"provide encounter alerts"| node_core
node_dungeons -->|"provide encounter alerts"| node_core
node_world -->|"provide encounter alerts"| node_core
node_events -->|"provide encounter alerts"| node_core
node_player -->|"enter commands"| node_commands
node_commands -->|"open options"| node_gui
node_player -->|"open minimap"| node_gui
node_gui -->|"configure"| node_options
node_core -->|"show timers"| node_timers
node_core -->|"show warnings"| node_warnings
node_core -->|"offer range checks"| node_range
node_core -->|"offer arrows"| node_arrows
node_core -->|"show boss health"| node_health
node_core -->|"show information"| node_info
node_options -->|"save settings"| node_profiles
node_core -.->|"supports voice packs"| node_voice
node_core -.->|"integrates with"| node_weakauras

click node_raids "https://github.com/zidras/dbm-warmane/tree/main/DBM-AQ20"
click node_dungeons "https://github.com/zidras/dbm-warmane/tree/main/DBM-Party-WotLK"
click node_world "https://github.com/zidras/dbm-warmane/tree/main/DBM-Azeroth"
click node_events "https://github.com/zidras/dbm-warmane/tree/main/DBM-WorldEvents"
click node_core "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Core.lua"
click node_timers "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-TimerTracker.lua"
click node_warnings "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Core.lua"
click node_range "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-RangeCheck.lua"
click node_arrows "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Arrow.lua"
click node_health "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-BossHealth.lua"
click node_info "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-InfoFrame.lua"
click node_commands "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/modules/Commands.lua"
click node_gui "https://github.com/zidras/dbm-warmane/blob/main/DBM-GUI/DBM-GUI.lua"
click node_options "https://github.com/zidras/dbm-warmane/tree/main/DBM-GUI/modules/options"
click node_profiles "https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/Libs/Ace3/AceDB-3.0/AceDB-3.0.lua"

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_raids,node_dungeons,node_world,node_events,node_wow toneBlue
class node_core,node_timers,node_warnings,node_range,node_arrows,node_health,node_info,node_commands toneAmber
class node_gui,node_options,node_profiles toneMint
class node_voice,node_weakauras toneRose
class node_player toneIndigo
```

## Components

### Encounter Modules

- [Raid Encounters](https://github.com/zidras/dbm-warmane/tree/main/DBM-AQ20): `DBM-AQ20`
- [Dungeon Encounters](https://github.com/zidras/dbm-warmane/tree/main/DBM-Party-WotLK): `DBM-Party-WotLK`
- [World Encounters](https://github.com/zidras/dbm-warmane/tree/main/DBM-Azeroth): `DBM-Azeroth`
- [Events And PvP](https://github.com/zidras/dbm-warmane/tree/main/DBM-WorldEvents): `DBM-WorldEvents`

### DBM Core

- [Encounter Runtime](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Core.lua): `DBM-Core/DBM-Core.lua`
- [Timer Bars](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-TimerTracker.lua): `DBM-Core/DBM-TimerTracker.lua`
- [Boss Warnings](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Core.lua): `DBM-Core/DBM-Core.lua`
- [Range Check](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-RangeCheck.lua): `DBM-Core/DBM-RangeCheck.lua`
- [Direction Arrows](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-Arrow.lua): `DBM-Core/DBM-Arrow.lua`
- [Boss Health](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-BossHealth.lua): `DBM-Core/DBM-BossHealth.lua`
- [Info Frame](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/DBM-InfoFrame.lua): `DBM-Core/DBM-InfoFrame.lua`
- [Slash Commands](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/modules/Commands.lua): `DBM-Core/modules/Commands.lua`

### User Interface

- [Options Interface](https://github.com/zidras/dbm-warmane/blob/main/DBM-GUI/DBM-GUI.lua): `DBM-GUI/DBM-GUI.lua`
- [Settings Panels](https://github.com/zidras/dbm-warmane/tree/main/DBM-GUI/modules/options): `DBM-GUI/modules/options`
- [Saved Profiles](https://github.com/zidras/dbm-warmane/blob/main/DBM-Core/Libs/Ace3/AceDB-3.0/AceDB-3.0.lua): `DBM-Core/Libs/Ace3/AceDB-3.0/AceDB-3.0.lua`

### Optional Integrations

- **Voice Packs**
- **Bunny WeakAuras**

### Other components

- **WoW Client**
- **Player**

## Connections

- WoW Client → Raid Encounters: encounter activity
- WoW Client → Dungeon Encounters: encounter activity
- WoW Client → World Encounters: encounter activity
- WoW Client → Events And PvP: encounter activity
- Raid Encounters → Encounter Runtime: provide encounter alerts
- Dungeon Encounters → Encounter Runtime: provide encounter alerts
- World Encounters → Encounter Runtime: provide encounter alerts
- Events And PvP → Encounter Runtime: provide encounter alerts
- Player → Slash Commands: enter commands
- Slash Commands → Options Interface: open options
- Player → Options Interface: open minimap
- Options Interface → Settings Panels: configure
- Encounter Runtime → Timer Bars: show timers
- Encounter Runtime → Boss Warnings: show warnings
- Encounter Runtime → Range Check: offer range checks
- Encounter Runtime → Direction Arrows: offer arrows
- Encounter Runtime → Boss Health: show boss health
- Encounter Runtime → Info Frame: show information
- Settings Panels → Saved Profiles: save settings
- Encounter Runtime → Voice Packs: supports voice packs
- Encounter Runtime → Bunny WeakAuras: integrates with
