VRC Rogue 2026/05/23

概要
main で実機確認できた初期同期の成功状態を基準として固定し、fix/dungeon-combat の差分を段階的に取り込むための整理を行いました。
変更点
同期
- 初期同期の成功状態を基準として整理しました
- 2 クライアントで同一マップ形状、同一
seed、同一floorが表示される状態をmainの比較基準として扱うようにしました。 - 非オーナー参加時でも Start 後の盤面同期が入ることを、デバッグログと実機表示の両方で確認しました。
- 2 クライアントで同一マップ形状、同一
- 段階取り込み用ブランチを作成しました
mainの成功状態からintegrate/dungeon-sync-stepsを切り、探索的な同期変更を本線と分離しました。- 基準コミットを維持したまま、取り込み単位ごとに検証できる状態にしました。
ドキュメント
- 同期取り込みメモを追加しました
- 同期取り込み用の計画メモを追加し、現状の成功範囲、
fix/dungeon-combatの変更意図、取り込み順、検証項目を整理しました。 fix/dungeon-combatを完成ブランチではなく、FlatBuffer8 切り分けを含む検証ブランチとして扱う前提を明文化しました。
- 同期取り込み用の計画メモを追加し、現状の成功範囲、
- TODO の同期項目を現状に合わせて更新しました
- 初期同期で確認済みの項目と、移動後・戦闘後・late joiner・owner 離脱など未確認の項目を分けて記載しました。
DungeonGeneratorの scalarintpack 化を最初の取り込み候補として残しました。
修正
- 同期差分の見通しが悪く、どこから取り込むべきか判断しづらい
- 原因:
fix/dungeon-combatには本線候補の payload 改修と、DEBUG_DISABLE_*やMinimalSyncProbeのような切り分け専用変更が混在していました。 - 対応: 同期基準、採用候補、保留、調査専用の変更を資料上で分離し、
DungeonGeneratorから段階取り込みする順序を固定しました。
- 原因:
設計メモ
- 同期修正は cherry-pick ではなく目的単位で取り込む
fix/dungeon-combat先頭コミットは probe と同期停止フラグを含むため、そのまま持ち込まず、payload 安全化のような本線候補だけを段階的に移す方針にしました。
次に確認すること
DungeonGenerator.csのstringpacked sync を scalarintwords へ置き換える Stage 1 を、この統合作業ブランチで実装する必要があります。- Stage 1 適用後に Build & Test 2 クライアントで、seed / floor 一致、盤面一致、1 手移動後の追随を確認する必要があります。
GameManager側 packed sync の採用可否は、DEBUG_DISABLE_*を除外した状態で別段階として判断する必要があります。