# ワークフロー

## 起動から利用まで

```mermaid
flowchart TD
    A[起動] --> B[config を読む]
    B --> C[OSC サーバーを起動]
    C --> D[VRChat を開く]
    D --> E[ExMenu から機能を選ぶ]
    E --> F{どの機能か}

    F -->|DiscordSend| G[Discord ミュート操作]
    F -->|vrc_log| H[VRC ログ監視]
    F -->|ocrEnabled| I[OCR 実行]
    F -->|translation| J[OCR + 翻訳]

    G --> K[VRChat に戻る]
    H --> L[Discord Webhook に通知]
    I --> M[runtime に保存]
    J --> N[クリップボードへコピー]
    J --> M
```

## DiscordSend の流れ

```mermaid
flowchart TD
    A[DiscordSend を受信] --> B[Discord ウィンドウを探す]
    B --> C{Discord が見つかる?}
    C -->|はい| D[Ctrl+Shift+M を送る]
    C -->|いいえ| E[ブラウザ版 Discord を探す]
    E --> D
    D --> F[VRChat に戻す]
```

## vrc_log の流れ

```mermaid
flowchart TD
    A[vrc_log を受信] --> B[ログ監視 ON/OFF を切り替える]
    B --> C{ON か?}
    C -->|はい| D[最新ログを読む]
    D --> E[入室 / 退室 / ワールド変更を解析]
    E --> F{通知対象か?}
    F -->|はい| G[Discord Webhook に送る]
    F -->|いいえ| H[保存だけする]
    C -->|いいえ| I[監視を停止する]
```

## ocrEnabled の流れ

```mermaid
flowchart TD
    A[ocrEnabled を受信] --> B[VRChat 画面を読み取る]
    B --> C[OCR を実行]
    C --> D[認識結果を保存]
```

## translation の流れ

```mermaid
flowchart TD
    A[translation を受信] --> B[VRChat 画面を読み取る]
    B --> C[OCR を実行]
    C --> D[不要な文字を除去]
    D --> E[日本語へ翻訳]
    E --> F[翻訳結果をクリップボードへコピー]
    E --> G[runtime に保存]
```
