# ER図

## 概要

本ドキュメントは、Dear ImGuiプロジェクトのER図（Entity-Relationship Diagram）を記載するものです。

**本プロジェクトはデータベースを使用していないため、ER図は存在しません。**

Dear ImGuiは純粋なGUIライブラリであり、データベース機能を持ちません。

## ER図

```mermaid
erDiagram
    %% Dear ImGui - No Database Tables
    %% This project does not use any database.
    %% The following is a placeholder diagram.

    NO_DATABASE {
        string message "本プロジェクトにはデータベースがありません"
    }
```

## 補足：内部データ構造（参考）

Dear ImGuiはINIファイル形式で設定を保存しますが、これはデータベースではありません。参考として、設定保存に関連する内部構造の関係を以下に示します。

```mermaid
erDiagram
    %% Dear ImGui Internal Settings Structures (Reference Only)
    %% These are NOT database tables, but in-memory C++ structures
    %% saved to INI files for persistence.

    ImGuiContext ||--o{ ImGuiWindowSettings : "manages"
    ImGuiContext ||--o{ ImGuiTableSettings : "manages"
    ImGuiContext ||--o{ ImGuiSettingsHandler : "uses"

    ImGuiTableSettings ||--o{ ImGuiTableColumnsSettings : "contains"

    ImGuiContext {
        bool SettingsLoaded
        float SettingsDirtyTimer
        string SettingsIniData
    }

    ImGuiWindowSettings {
        ImGuiID ID
        ImVec2ih Pos
        ImVec2ih Size
        ImGuiID ViewportId
        ImGuiID DockId
        bool Collapsed
    }

    ImGuiTableSettings {
        ImGuiID ID
        short ColumnsCount
        bool RefScale
    }

    ImGuiTableColumnsSettings {
        float WidthOrWeight
        ImGuiID UserID
        short Index
        short DisplayOrder
        short SortOrder
        byte SortDirection
        byte IsEnabled
        byte IsStretch
    }

    ImGuiSettingsHandler {
        string TypeName
        ImGuiID TypeHash
    }
```

**注意**: 上記の図は参考情報であり、実際のデータベーステーブルを表すものではありません。これらはDear ImGuiの内部C++構造体であり、INIファイル形式でシリアライズされます。

## 備考

- Dear ImGuiはImmediate Mode GUIライブラリであり、データベース機能は提供していません
- データ永続化が必要な場合は、アプリケーション側で独自に実装する必要があります
- 上記の内部構造は `imgui_internal.h` で定義されています
