Files
VRCWT-OSC/doc/workflow.md
messypy dd165d9301
Some checks failed
build-windows-exe / build (push) Failing after 1m13s
Clean project layout and fix release workflow
2026-07-27 23:01:24 +09:00

79 lines
2.3 KiB
Markdown

# Workflow
## 全体の流れ
```mermaid
flowchart TD
A[アプリ起動] --> B[設定読み込み]
B --> C[VRChat ログの探索]
C --> D[GUI 起動]
D --> E[タイマーで定期更新]
E --> F[現在のワールド判定]
E --> G[入退室ログ更新]
E --> H[履歴データ更新]
E --> I[OCR / 翻訳 / 設定反映]
G --> J[Discord 送信が必要なら通知]
H --> K[日別履歴表示]
K --> L[選択した訪問を export]
L --> M[visit_YYYYMMDD.log を保存]
```
## 起動時
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'
```
## 保存されるもの
- `runtime/runtime.log`
- `runtime/join_leave.log`
- `runtime/world_history.json`
- `runtime/visit_YYYYMMDD.log`
- `runtime/latest_ocr.png`
- `runtime/latest_screenshot.png`