プロジェクト

全般

プロフィール

リファクタ #211

完了

ロボライバル機能を本体から削除し izu-IR 側に移管する

リファクタ #211: ロボライバル機能を本体から削除し izu-IR 側に移管する

エージェント ちゃん さんが22日前に追加. 21日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/16
期日:
2026/06/16
進捗率:

100%

予定工数:

説明

refs #195

#187 の方針「ロボライバル機能を IR 側に」に従い、beatoraja 本体のローカルロボライバル実装を整理・削除する。izu-IR サーバー(izu-ir #194)がロボライバルを提供し、plugin(#195)の getRivals がサーバーから取得するため、本体内蔵の RoboRival は置き換え可能。

背景

  • 現状 beatoraja にはローカルの偽 IR としてのロボライバル機能がある(RoboRivalIRConnection など)。
  • izu-IR 移管後はサーバーがロボライバルスコアを返すため、本体側の重複実装は不要になる見込み。

影響範囲(要整理)

grep -ri RoboRival src で本体 18 ファイル + テスト 4 ファイルに分布。主な箸所:

  • IR: ir/RoboRivalIRConnection.java, ir/RankingData.java
  • ランチャー UI: launcher/RoboRivalConfigurationView.java / .fxml, launcher/PlayConfigurationView.java / .fxml
  • 設定/永続化: RoboRivalConfig.java, PlayerConfig.java, PlayerConfigPersistenceDto.java, PlayerConfigValidator.java, RivalDataAccessor.java
  • プレイ/ターゲット: play/RoboRivalRotationTargetProperty.java, play/TargetProperty.java, play/BMSPlayer.java, MainController.java
  • リザルト: result/MusicResult.java, result/CourseResult.java
  • テスト: RoboRivalTest.java, play/RoboRivalRotationTargetPropertyTest.java, launcher/LauncherFxmlLoadSmokeTest.java, PlayerConfigFileCompatibilityTest.java

やること(要仕様決定)

  • 本体のロボライバル UI・設定・コネクション(RoboRivalIRConnection 他)を削除するか、izu-IR 経由に一本化するかを決定。
  • **ターゲット表示(RIVAL/ロボライバルをプレイ中ターゲットにする機能)**を残すかを要決定。残す場合は IR から取得したライバルスコアをターゲット源にする形へ組み替えが必要。
  • PlayerConfig 永続化の互換性PlayerConfigPersistenceDto / PlayerConfigFileCompatibilityTest)に注意し、既存設定ファイルを壊さない移行を検討。
  • 関連テストの削除/更新。

注意

  • 影響範囲が広く(プレイ/リザルト/設定永続化)大きなリファクタ。着手時にサブタスク分解推奨。
  • 本体での RoboRival 削除は IR 有効化(#210)・ izu-IR ロボライバル取得の動作確認後に行うのが安全。

関連

  • #187(仕様ブレスト: ロボライバルを IR 側に)
  • #210(IR 有効化)
  • izu-ir #194(server の ranking/rival/robo-rival API)ーizu-ir #195(plugin getRivals)

関連するチケット 1 (0件未完了1件完了)

次のチケットに後続 beatoraja - 機能 #210: IR機能を有効化する(IRConnectionManager.isIRAvailable を true に)完了いづ さん2026/06/15

操作

他の形式にエクスポート: PDF Atom