Add documentation for modules and runtime instructions

- Created detailed documentation for the device_manager, model, model_extra, osc, overlay, overlay_image, transcription, translation, transliteration, utils, watchdog, and websocket modules.
- Added a comprehensive run events payloads document outlining the payloads sent during various run events in the controller.
- Included runtime instructions and dependencies for setting up the project in a Windows environment.
- Introduced a mypy configuration file to manage type checking and ignore errors in specific modules temporarily.
This commit is contained in:
misyaguziya
2025-10-09 13:11:59 +09:00
parent b0fd63afbd
commit 5efa9c37d6
23 changed files with 2147 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
# models/websocket — 詳細設計
目的: 外部クライアント(例えば第三者のアプリ)へ翻訳済みテキストやイベントをブロードキャストする軽量 WebSocket サーバー。
API:
- class WebSocketServer(host='127.0.0.1', port=8765)
- start(): 別スレッドで asyncio ループを生成しサーバを起動。
- stop(): サーバ停止、全クライアント切断。
- set_message_handler(handler): クライアントからのメッセージ受信時のコールバックを登録。handler(server, websocket, message)
- send(message): 非同期キューに積んで全クライアントへ送信(スレッドセーフ)。
- broadcast(message): asyncio を経由して即時ブロードキャスト。
実装上の工夫:
- サーバ本体は別スレッドで asyncio イベントループを run_forever している。
- 送信用に内部キュー `_send_queue` を持ち、_send_loop で順次送信する。これにより GUI 等から安全に send() を呼べる。
依存: websocketsasyncio