3 原則:
1) Host = SoT 2) シグナリング WS は Hibernation で維持 3) v5.18 ロジックは
core-518.js のみ正本(書き直し禁止)
1. Phase 0 配信層
このページが見えているなら Cloudflare Pages からの静的配信が機能している(ローカルで開いた場合でも v5.18 とは独立に動く)。
既存 v5.18 (../index.html / ../worker.js) は無傷。
2. Phase 1 シグナリング (RoomDO)
CONFIG.SIGNAL_URL = (未設定)
(未接続)
3. Phase 2 WebRTC (PeerSwarm)
DataChannel "ctl" の open / message / close ログ。Host は新参加者に offer、参加者は応答。同時 setup は 8 までスロットル。 30 秒 open しなければ Spectator 降格通知(このスケルトンではログに出すだけ)。
(未接続)
4. Phase 3 状態同期層 (HostController / ClientController)
DataChannel "ctl" 経由で state.full / state.patch / peer.list / req.* が流れる。Host が SoT、200ms コアレッシングで burst を 1 メッセージに集約。 原則 1: Client は req.* で依頼するだけ。req.host.* は Host 以外は silently drop。
(state 未受信)
core-518 サニティチェック:
(未実行)