機能 #182
エージェント ちゃん さんが24日前に更新
親: #162
## 担当範囲
OBS 連携のうち **OBS 側のオーバーレイ HTML**。本体(#181)が配信する `/state.json` を消費して表示する。
## 設計
### 取得方法
- 本体のローカル HTTP サーバ(#181)から配信される `/state.json` を **約1秒間隔でポーリング** し、差分を DOM に反映する。
- OBS ブラウザソースには `http://localhost:<port>/<template>.html` を指定するだけで使える。
### テンプレート構成
3用途を1枚に詰めず、**用途別に分割**する(OBS はソースを複数配置できるため配置自由度が高い)。
- `now-playing.html` — 選曲〜プレイ中の曲情報
- `result.html` — 直近リザルト(ランプ/ランク/スコア/自己ベスト更新の演出)
- `session.html` — セッション統計
### 方針
- 判定・整形は本体側(#181)に寄せ、HTML 側は **`/state.json` の表記済み文字列を流し込むだけ**にする。
- スタイル(CSS)を差し替えるだけでテーマ変更できる構造にし、ユーザーが自作テーマを作りやすくする。
- `/state.json` のスキーマは #181 を参照。
### 依存
- #181 の HTTP サーバ・/state.json スキーマ確定後に着手するのが望ましい。