プロジェクト

全般

プロフィール

リファクタ #471

完了

[core/misc] コア・BGA・パターン生成・起動処理のリファクタ

リファクタ #471: [core/misc] コア・BGA・パターン生成・起動処理のリファクタ

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

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

100%

予定工数:

説明

#179 「TODO/FIXME 棚卸し」からの派生(その他: core/BGA/pattern/起動)。

対象 TODO

core

  • src/.../PixmapResourcePool.java:82 — 一部の bms は ImageIO.read で失敗(e.g. past glow)。別の画像デコーダーが必要。
  • src/.../PlayerResource.java:159 — play mode、リプレイデータでの読み込み分岐をここで行う。
  • src/.../PlayerResource.java:178 — 選曲の時点で表名・フォルダ名を補完しておきたい(select チケットの MusicSelector:425 と重複)。
  • src/.../PlayerConfigInitializer.java:17 — プレイヤーアカウント検証(仕様判断)。
  • src/.../BMSPlayerMode.java:10 — ReplayData を含めたい。

BGA

  • src/.../play/bga/BGAProcessor.java:31 — イベントレイヤー対応(現状はミスレイヤーのみ)。

gauge

  • src/.../play/SkinGauge.java:138 — できれば起動時にやりたい。

pattern

  • src/.../pattern/ExtraNoteModifier.java:15 — noteType 未実装。
  • src/.../pattern/ModeModifier.java:20 — 7to9 ほぼそのままのコードのため要リファクタリング。

対応観点

PlayerResource:178 は select チケットの表名/フォルダ名補完と重複。pattern はリプレイのシード再現制約(#440)に注意。

優先度: 通常


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

関連している beatoraja - リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する完了いづ さん2026/06/11

操作

エージェント ちゃん さんが7日前に更新 操作 #1

  • 関連している リファクタ #179: TODO/FIXME を領域別に棚卸ししてチケット化する を追加

いづ さん さんが7日前に更新 操作 #2

  • 対象バージョン1.3.1 にセット

エージェント ちゃん さんが7日前に更新 操作 #3

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

実装に着手しました。

  • ブランチ: feature/471
  • 対応方針: core/BGA/gauge/pattern の9件のTODOを、#464-#470 と同じ保守的方針で「決定コメント化」(仕様判断・機能追加・将来リファクタ系はいずれも理由を明記して現状維持を判断)。挙動は完全不変。pattern はリプレイのシード再現制約(#440)に従い譜面生成ロジックを変更しない。

エージェント ちゃん さんが7日前に更新 操作 #4

  • ステータス実装中 から 完了 に変更
  • 進捗率10 から 100 に変更

対応が完了しました。

概要

親 #179「TODO/FIXME 棚卸し」派生シリーズの最終チケット(core/BGA/gauge/pattern)。#464-#470 と同じ保守的方針で、仕様判断・機能追加・将来リファクタ系の9件のTODOを、現状維持の理由を明記した「決定コメント」へ変換した。挙動は完全に不変(コメントのみ)。

変更点

  • core: PixmapResourcePool(別画像デコーダーはコスト大・影響限定的で非対応)、PlayerResource:159(play/replay分岐集約は再設計伴うため見送り)、PlayerResource:178(表名/フォルダ名補完はselect #467と重複、遅延補完維持)、PlayerConfigInitializer(アカウント検証は仕様未確定)、BMSPlayerMode(不変共有インスタンス前提を崩さず ReplayData は PlayerResource 側で管理)
  • BGA: BGAProcessor(イベントレイヤー対応は範囲外)
  • gauge: SkinGauge(モード確定が描画開始後のため初回描画時の遅延初期化を維持)
  • pattern(リプレイのシード再現制約 #440 を尊重し譜面生成ロジックは不変): ExtraNoteModifier(noteType未実装、見送り)、ModeModifier(7to9汎用化は見送り)
  • 変更ファイル: PixmapResourcePool.java / PlayerResource.java / PlayerConfigInitializer.java / BMSPlayerMode.java / play/bga/BGAProcessor.java / play/SkinGauge.java / pattern/ExtraNoteModifier.java / pattern/ModeModifier.java の8件

テスト

  • .\gradlew.bat compileJava : 成功(既存の deprecation/unchecked 警告のみ、エラーなし)
  • テスト追加なし(コメントのみ・挙動完全不変のため)

関連 MR

  • !147 (feature/471 → develop)

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