Clean project layout and fix release workflow
Some checks failed
build-windows-exe / build (push) Failing after 1m13s

This commit is contained in:
messypy
2026-07-27 23:01:24 +09:00
parent 3ff33e40e3
commit dd165d9301
80 changed files with 2908 additions and 5661 deletions

View File

@@ -1,70 +1,78 @@
# ワークフロー
# Workflow
## 起動から利用まで
## 全体の流れ
```mermaid
flowchart TD
A[起動] --> B[config を読む]
B --> C[OSC サーバーを起動]
C --> D[VRChat を開く]
D --> E[ExMenu から機能を選ぶ]
E --> F{どの機能か}
A[アプリ起動] --> B[設定読み込み]
B --> C[VRChat ログの探索]
C --> D[GUI 起動]
D --> E[タイマーで定期更新]
E --> F[現在のワールド判定]
E --> G[入退室ログ更新]
E --> H[履歴データ更新]
E --> I[OCR / 翻訳 / 設定反映]
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
G --> J[Discord 送信が必要なら通知]
H --> K[日別履歴表示]
K --> L[選択した訪問を export]
L --> M[visit_YYYYMMDD.log を保存]
```
## DiscordSend の流れ
## 起動時
```mermaid
flowchart TD
A[DiscordSend を受信] --> B[Discord ウィンドウを探す]
B --> C{Discord が見つかる?}
C -->|はい| D[Ctrl+Shift+M を送る]
C -->|いいえ| E[ブラウザ版 Discord を探す]
E --> D
D --> F[VRChat に戻す]
1. `config/config.toml` を読み込む。
2. GUI 設定を反映する。
3. `runtime/` 配下のログや履歴を確認する。
4. ネイティブ GUI を開く。
5. タイマーで定期更新を開始する。
## ログ収集
1. VRChat の最新ログを探す。
2. ログの末尾を読み、`OnPlayerJoined` / `OnPlayerLeft` / `Entering Room` / `worldId=` などを拾う。
3. 現在のワールド名、人数、入退室イベントを更新する。
4. 必要なら `runtime/join_leave.log` に追記する。
5. 履歴用の `runtime/world_history.json` を参照して、訪問区間を組み立てる。
## GUI 更新
1. 画面はタブごとに描画を切り替える。
2. ログタブは現在の入退室状況を表示する。
3. 翻訳タブは OCR と翻訳結果を表示する。
4. 設定タブは `top most`、文字サイズ、更新間隔、履歴条件を変更できる。
5. 履歴タブは日付カレンダーと、その日の訪問一覧を表示する。
## 履歴タブ
1. 設定で `history_regex``history_from``history_to` を指定する。
2. カレンダーから日付を選ぶ。
3. その日の訪問ワールド一覧を出す。
4. 訪問を複数選択できる。
5. `Export` を押すと `runtime/visit_YYYYMMDD.log` を出力する。
6. 出力内容は選択した訪問のワールド名と、条件に一致した入退室行になる。
## エクスポート例
```text
Date: 2026-06-29
Filter: POPPOHOUSE|Holiday-Cottage
World: POPPOHOUSE
[22:15] join ちりー@
[22:15] join ゆらいか
World: Holiday-Cottage
[20:47] join 毎日がHoliday'
[20:48] leave 毎日がHoliday'
```
## 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[監視を停止する]
```
- `runtime/runtime.log`
- `runtime/join_leave.log`
- `runtime/world_history.json`
- `runtime/visit_YYYYMMDD.log`
- `runtime/latest_ocr.png`
- `runtime/latest_screenshot.png`
## 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 に保存]
```