# joustingmatch/obsidianultra architecture

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

- Interactive diagram: https://gitdiagram.com/joustingmatch/obsidianultra
- Repository: https://github.com/joustingmatch/obsidianultra

## Overview

Obsidian is a Luau UI library, with separate SaveManager and ThemeManager addons. The README identifies the product but provides no implementation details, and source excerpts were unavailable, so the graph is intentionally limited; addon wiring and internal call relationships are not asserted.

Main entry points: [`Library.lua`](https://github.com/joustingmatch/obsidianultra/blob/main/Library.lua) (Obsidian UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_core["UI library"]
  node_library["Obsidian UI<br/>[Library.lua]"]
  node_entry["Package entry<br/>[init.luau]"]
end

subgraph group_addons["Addons"]
  node_save["SaveManager<br/>[SaveManager.lua]"]
  node_theme["ThemeManager<br/>[ThemeManager.lua]"]
end

node_developer(("Roblox developer"))
node_interface["User interface"]

node_developer -->|"uses"| node_library
node_library -->|"provides UI"| node_interface

click node_library "https://github.com/joustingmatch/obsidianultra/blob/main/Library.lua"
click node_entry "https://github.com/joustingmatch/obsidianultra/blob/main/init.luau"
click node_save "https://github.com/joustingmatch/obsidianultra/blob/main/addons/SaveManager.lua"
click node_theme "https://github.com/joustingmatch/obsidianultra/blob/main/addons/ThemeManager.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_library,node_entry,node_interface toneBlue
class node_save,node_theme toneAmber
class node_developer toneIndigo
```

## Components

### UI library

- [Obsidian UI](https://github.com/joustingmatch/obsidianultra/blob/main/Library.lua): `Library.lua`
- [Package entry](https://github.com/joustingmatch/obsidianultra/blob/main/init.luau): `init.luau`

### Addons

- [SaveManager](https://github.com/joustingmatch/obsidianultra/blob/main/addons/SaveManager.lua): `addons/SaveManager.lua`
- [ThemeManager](https://github.com/joustingmatch/obsidianultra/blob/main/addons/ThemeManager.lua): `addons/ThemeManager.lua`

### Other components

- **Roblox developer**
- **User interface**

## Connections

- Roblox developer → Obsidian UI: uses
- Obsidian UI → User interface: provides UI
