# coastalredwood/zeal architecture

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

- Interactive diagram: https://gitdiagram.com/coastalredwood/zeal
- Repository: https://github.com/coastalredwood/zeal

## Overview

Zeal is a Windows game-client extension that adds quality-of-life commands, controls, UI, and rendering/gameplay fixes to legacy TAKP clients. The main workflow is a player action or client event entering through commands, binds, or hooks; Zeal dispatches the relevant feature logic, which updates client state or presents information through the UI, chat, or map. The README documents capabilities beyond the sampled excerpts; links for those branches reflect documented scope, not inspected call sites.

Main entry points: [`Zeal/zeal.cpp`](https://github.com/coastalredwood/zeal/blob/main/Zeal/zeal.cpp) (Zeal Service), [`Zeal/commands.cpp`](https://github.com/coastalredwood/zeal/blob/main/Zeal/commands.cpp) (Commands), [`Zeal/chat.cpp`](https://github.com/coastalredwood/zeal/blob/main/Zeal/chat.cpp) (Chat Enhancements), [`Zeal/hook_wrapper.cpp`](https://github.com/coastalredwood/zeal/blob/main/Zeal/hook_wrapper.cpp) (Hooks and Patches)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Entry and Core"]
  node_zeal["Zeal Service<br/>[zeal.cpp]"]
  node_commands["Commands<br/>[commands.cpp]"]
  node_binds["Key Binds<br/>[binds.cpp]"]
  node_tick["Client Tick<br/>[tick.cpp]"]
  node_settings[("Settings<br/>[zeal_settings.cpp]")]
end

subgraph group_gameplay["Gameplay Features"]
  node_camera["Camera Controls<br/>[camera_mods.cpp]"]
  node_movement["Movement"]
  node_targeting["Targeting and Assist<br/>[assist.cpp]"]
  node_autofire["Ranged Autofire<br/>[autofire.cpp]"]
  node_inventory["Items and Inventory<br/>[items.cpp]"]
  node_bandolier["Equipment Sets<br/>[bandolier.cpp]"]
  node_raid["Raid Features<br/>[raid.cpp]"]
end

subgraph group_presentation["UI and Information"]
  node_chat["Chat Enhancements<br/>[chat.cpp]"]
  node_triggers["Chat Triggers<br/>[triggers.cpp]"]
  node_ui["UI Manager<br/>[ui_manager.cpp]"]
  node_ui_features["Custom UI Windows<br/>[ui_options.cpp]"]
  node_map["In-game Map<br/>[zone_map.cpp]"]
  node_map_data["Map Data<br/>[zone_map_data.cpp]"]
  node_spellsets["Spell Sets<br/>[spellsets.cpp]"]
end

subgraph group_platform["Client Integration"]
  node_hooks["Hooks and Patches<br/>[hook_wrapper.cpp]"]
  node_helm["Helm Fixes<br/>[helm_manager.cpp]"]
  node_entity[("Entity Tracking<br/>[entity_manager.cpp]")]
end

node_player(("Player"))
node_client["TAKP Client"]
node_external_tools(("Third-party Tools"))

node_player -->|"enters commands"| node_commands
node_player -->|"presses binds"| node_binds
node_commands -->|"dispatches"| node_zeal
node_binds -->|"dispatches"| node_zeal
node_client -->|"ticks"| node_tick
node_client -->|"invokes hooks"| node_hooks
node_zeal -->|"installs hooks"| node_hooks
node_zeal -->|"reads and writes"| node_settings
node_zeal -->|"dispatches"| node_camera
node_zeal -->|"dispatches"| node_movement
node_zeal -->|"dispatches"| node_targeting
node_zeal -->|"dispatches"| node_autofire
node_commands -->|"dispatches"| node_inventory
node_commands -->|"dispatches"| node_bandolier
node_zeal -->|"dispatches"| node_raid
node_zeal -->|"enhances"| node_chat
node_chat -->|"processes triggers"| node_triggers
node_zeal -->|"initializes"| node_ui
node_ui -->|"manages windows"| node_ui_features
node_ui -->|"loads UI"| node_client
node_zeal -->|"provides map"| node_map
node_map -->|"reads map data"| node_map_data
node_zeal -->|"provides spell sets"| node_spellsets
node_hooks -->|"intercepts wear changes"| node_helm
node_hooks -->|"tracks entities"| node_entity
node_chat -->|"displays messages"| node_player
node_map -->|"displays map"| node_player
node_ui_features -->|"presents controls"| node_player
node_external_tools -.->|"uses pipe support"| node_chat

click node_zeal "https://github.com/coastalredwood/zeal/blob/main/Zeal/zeal.cpp"
click node_commands "https://github.com/coastalredwood/zeal/blob/main/Zeal/commands.cpp"
click node_binds "https://github.com/coastalredwood/zeal/blob/main/Zeal/binds.cpp"
click node_tick "https://github.com/coastalredwood/zeal/blob/main/Zeal/tick.cpp"
click node_settings "https://github.com/coastalredwood/zeal/blob/main/Zeal/zeal_settings.cpp"
click node_hooks "https://github.com/coastalredwood/zeal/blob/main/Zeal/hook_wrapper.cpp"
click node_camera "https://github.com/coastalredwood/zeal/blob/main/Zeal/camera_mods.cpp"
click node_movement "https://github.com/coastalredwood/zeal/blob/main/Zeal/player_movement.cpp"
click node_targeting "https://github.com/coastalredwood/zeal/blob/main/Zeal/assist.cpp"
click node_autofire "https://github.com/coastalredwood/zeal/blob/main/Zeal/autofire.cpp"
click node_inventory "https://github.com/coastalredwood/zeal/blob/main/Zeal/items.cpp"
click node_bandolier "https://github.com/coastalredwood/zeal/blob/main/Zeal/bandolier.cpp"
click node_raid "https://github.com/coastalredwood/zeal/blob/main/Zeal/raid.cpp"
click node_chat "https://github.com/coastalredwood/zeal/blob/main/Zeal/chat.cpp"
click node_triggers "https://github.com/coastalredwood/zeal/blob/main/Zeal/triggers.cpp"
click node_ui "https://github.com/coastalredwood/zeal/blob/main/Zeal/ui_manager.cpp"
click node_ui_features "https://github.com/coastalredwood/zeal/blob/main/Zeal/ui_options.cpp"
click node_map "https://github.com/coastalredwood/zeal/blob/main/Zeal/zone_map.cpp"
click node_map_data "https://github.com/coastalredwood/zeal/blob/main/Zeal/zone_map_data.cpp"
click node_spellsets "https://github.com/coastalredwood/zeal/blob/main/Zeal/spellsets.cpp"
click node_helm "https://github.com/coastalredwood/zeal/blob/main/Zeal/helm_manager.cpp"
click node_entity "https://github.com/coastalredwood/zeal/blob/main/Zeal/entity_manager.cpp"

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_zeal,node_commands,node_binds,node_tick,node_settings,node_client toneBlue
class node_camera,node_movement,node_targeting,node_autofire,node_inventory,node_bandolier,node_raid toneAmber
class node_chat,node_triggers,node_ui,node_ui_features,node_map,node_map_data,node_spellsets toneMint
class node_hooks,node_helm,node_entity toneRose
class node_player,node_external_tools toneIndigo
```

## Components

### Entry and Core

- [Zeal Service](https://github.com/coastalredwood/zeal/blob/main/Zeal/zeal.cpp): `Zeal/zeal.cpp`
- [Commands](https://github.com/coastalredwood/zeal/blob/main/Zeal/commands.cpp): `Zeal/commands.cpp`
- [Key Binds](https://github.com/coastalredwood/zeal/blob/main/Zeal/binds.cpp): `Zeal/binds.cpp`
- [Client Tick](https://github.com/coastalredwood/zeal/blob/main/Zeal/tick.cpp): `Zeal/tick.cpp`
- [Settings](https://github.com/coastalredwood/zeal/blob/main/Zeal/zeal_settings.cpp): `Zeal/zeal_settings.cpp`

### Gameplay Features

- [Camera Controls](https://github.com/coastalredwood/zeal/blob/main/Zeal/camera_mods.cpp): `Zeal/camera_mods.cpp`
- [Movement](https://github.com/coastalredwood/zeal/blob/main/Zeal/player_movement.cpp): `Zeal/player_movement.cpp`
- [Targeting and Assist](https://github.com/coastalredwood/zeal/blob/main/Zeal/assist.cpp): `Zeal/assist.cpp`
- [Ranged Autofire](https://github.com/coastalredwood/zeal/blob/main/Zeal/autofire.cpp): `Zeal/autofire.cpp`
- [Items and Inventory](https://github.com/coastalredwood/zeal/blob/main/Zeal/items.cpp): `Zeal/items.cpp`
- [Equipment Sets](https://github.com/coastalredwood/zeal/blob/main/Zeal/bandolier.cpp): `Zeal/bandolier.cpp`
- [Raid Features](https://github.com/coastalredwood/zeal/blob/main/Zeal/raid.cpp): `Zeal/raid.cpp`

### UI and Information

- [Chat Enhancements](https://github.com/coastalredwood/zeal/blob/main/Zeal/chat.cpp): `Zeal/chat.cpp`
- [Chat Triggers](https://github.com/coastalredwood/zeal/blob/main/Zeal/triggers.cpp): `Zeal/triggers.cpp`
- [UI Manager](https://github.com/coastalredwood/zeal/blob/main/Zeal/ui_manager.cpp): `Zeal/ui_manager.cpp`
- [Custom UI Windows](https://github.com/coastalredwood/zeal/blob/main/Zeal/ui_options.cpp): `Zeal/ui_options.cpp`
- [In-game Map](https://github.com/coastalredwood/zeal/blob/main/Zeal/zone_map.cpp): `Zeal/zone_map.cpp`
- [Map Data](https://github.com/coastalredwood/zeal/blob/main/Zeal/zone_map_data.cpp): `Zeal/zone_map_data.cpp`
- [Spell Sets](https://github.com/coastalredwood/zeal/blob/main/Zeal/spellsets.cpp): `Zeal/spellsets.cpp`

### Client Integration

- [Hooks and Patches](https://github.com/coastalredwood/zeal/blob/main/Zeal/hook_wrapper.cpp): `Zeal/hook_wrapper.cpp`
- [Helm Fixes](https://github.com/coastalredwood/zeal/blob/main/Zeal/helm_manager.cpp): `Zeal/helm_manager.cpp`
- [Entity Tracking](https://github.com/coastalredwood/zeal/blob/main/Zeal/entity_manager.cpp): `Zeal/entity_manager.cpp`

### Other components

- **Player**
- **TAKP Client**
- **Third-party Tools**

## Connections

- Player → Commands: enters commands
- Player → Key Binds: presses binds
- Commands → Zeal Service: dispatches
- Key Binds → Zeal Service: dispatches
- TAKP Client → Client Tick: ticks
- TAKP Client → Hooks and Patches: invokes hooks
- Zeal Service → Hooks and Patches: installs hooks
- Zeal Service → Settings: reads and writes
- Zeal Service → Camera Controls: dispatches
- Zeal Service → Movement: dispatches
- Zeal Service → Targeting and Assist: dispatches
- Zeal Service → Ranged Autofire: dispatches
- Commands → Items and Inventory: dispatches
- Commands → Equipment Sets: dispatches
- Zeal Service → Raid Features: dispatches
- Zeal Service → Chat Enhancements: enhances
- Chat Enhancements → Chat Triggers: processes triggers
- Zeal Service → UI Manager: initializes
- UI Manager → Custom UI Windows: manages windows
- UI Manager → TAKP Client: loads UI
- Zeal Service → In-game Map: provides map
- In-game Map → Map Data: reads map data
- Zeal Service → Spell Sets: provides spell sets
- Hooks and Patches → Helm Fixes: intercepts wear changes
- Hooks and Patches → Entity Tracking: tracks entities
- Chat Enhancements → Player: displays messages
- In-game Map → Player: displays map
- Custom UI Windows → Player: presents controls
- Third-party Tools → Chat Enhancements: uses pipe support
