# 画面遷移図

Dear ImGUIはImmediate Mode GUIライブラリであり、従来のアプリケーションの「画面遷移」とは異なる構造を持ちます。
各ウィンドウは独立して表示/非表示を切り替えられ、メニューやボタンから呼び出されます。

## ウィンドウ呼び出し関係図

```mermaid
flowchart TB
    subgraph Application["アプリケーション"]
        Main["main()"]
    end

    subgraph CoreWindows["コア機能ウィンドウ"]
        Demo["Demo Window<br/>ShowDemoWindow()"]
        Metrics["Metrics/Debugger<br/>ShowMetricsWindow()"]
        DebugLog["Debug Log<br/>ShowDebugLogWindow()"]
        IDStack["ID Stack Tool<br/>ShowIDStackToolWindow()"]
        About["About Window<br/>ShowAboutWindow()"]
        StyleEditor["Style Editor<br/>ShowStyleEditor()"]
        UserGuide["User Guide<br/>ShowUserGuide()"]
        FontAtlas["Font Atlas<br/>ShowFontAtlas()"]
    end

    subgraph ExampleApps["サンプルアプリケーション"]
        MainMenu["Main Menu Bar"]
        Console["Console"]
        Log["Log"]
        Layout["Simple Layout"]
        PropEditor["Property Editor"]
        LongText["Long Text"]
        AutoResize["Auto Resize"]
        ConstrainedResize["Constrained Resize"]
        Overlay["Simple Overlay"]
        Fullscreen["Fullscreen"]
        WinTitles["Window Titles"]
        CustomRender["Custom Rendering"]
        Documents["Documents"]
        AssetsBrowser["Assets Browser"]
    end

    subgraph DemoSections["デモセクション（Demo Window内）"]
        Widgets["Widgets"]
        LayoutDemo["Layout"]
        Popups["Popups"]
        Tables["Tables"]
        Inputs["Inputs"]
    end

    Main --> Demo
    Main --> Metrics
    Main --> DebugLog
    Main --> IDStack
    Main --> About

    Demo -->|"Examples Menu"| MainMenu
    Demo -->|"Examples Menu"| Console
    Demo -->|"Examples Menu"| Log
    Demo -->|"Examples Menu"| Layout
    Demo -->|"Examples Menu"| PropEditor
    Demo -->|"Examples Menu"| LongText
    Demo -->|"Examples Menu"| AutoResize
    Demo -->|"Examples Menu"| ConstrainedResize
    Demo -->|"Examples Menu"| Overlay
    Demo -->|"Examples Menu"| Fullscreen
    Demo -->|"Examples Menu"| WinTitles
    Demo -->|"Examples Menu"| CustomRender
    Demo -->|"Examples Menu"| Documents
    Demo -->|"Examples Menu"| AssetsBrowser

    Demo -->|"Tools Menu"| Metrics
    Demo -->|"Tools Menu"| DebugLog
    Demo -->|"Tools Menu"| IDStack
    Demo -->|"Tools Menu"| StyleEditor
    Demo -->|"Tools Menu"| About

    Demo -->|"CollapsingHeader"| Widgets
    Demo -->|"CollapsingHeader"| LayoutDemo
    Demo -->|"CollapsingHeader"| Popups
    Demo -->|"CollapsingHeader"| Tables
    Demo -->|"CollapsingHeader"| Inputs

    Metrics --> DebugLog
    Metrics --> IDStack
    Metrics --> FontAtlas

    Demo --> UserGuide
```

## メニュー構造

```mermaid
flowchart LR
    subgraph DemoMenu["Demo Window メニュー"]
        direction TB
        Examples["Examples"]
        Tools["Tools"]
    end

    subgraph ExamplesSubmenu["Examples サブメニュー"]
        E1["Main Menu Bar"]
        E2["Console"]
        E3["Log"]
        E4["Simple Layout"]
        E5["Property Editor"]
        E6["Long Text"]
        E7["Auto Resize"]
        E8["Constrained Resize"]
        E9["Simple Overlay"]
        E10["Fullscreen"]
        E11["Window Titles"]
        E12["Custom Rendering"]
        E13["Documents"]
        E14["Assets Browser"]
    end

    subgraph ToolsSubmenu["Tools サブメニュー"]
        T1["Metrics/Debugger"]
        T2["Debug Log"]
        T3["ID Stack Tool"]
        T4["Style Editor"]
        T5["About Dear ImGui"]
    end

    Examples --> E1
    Examples --> E2
    Examples --> E3
    Examples --> E4
    Examples --> E5
    Examples --> E6
    Examples --> E7
    Examples --> E8
    Examples --> E9
    Examples --> E10
    Examples --> E11
    Examples --> E12
    Examples --> E13
    Examples --> E14

    Tools --> T1
    Tools --> T2
    Tools --> T3
    Tools --> T4
    Tools --> T5
```

## 補足

- Dear ImGUIはImmediate Mode GUIであり、各ウィンドウはフレームごとに描画コードが実行されます
- ウィンドウの表示/非表示はブール変数（`bool*`）で制御されます
- 複数のウィンドウを同時に表示することが可能です
- ウィンドウ間の「遷移」は存在せず、各ウィンドウは独立して動作します
