Skip to content
hyrorre edited this page Jul 1, 2026 · 4 revisions

Welcome to the bmz-player wiki!

TODO

  • BGAが重なって表示されている
  • IR送信後、選曲画面のランキングが更新されない
  • play skin turntable の回転方向が逆
  • decide/resultのfadeoutスキップボタンをKey1/3/5/7からE1/E2に変更検討
  • E1+E2 でも decide のキャンセル操作を行えるよう変更
  • 難易度表のデフォルトを追加 (DP/PMS)
  • ln_policyをAUTO/FORCEとLN/CN/HCNに分けることでselect skinのLN変更機能を有効化
  • IR側でln_policyが見やすくなるよう表示を調整
  • アシストオプション、詳細オプション実装
  • Select画面の操作変更とスキン側の不一致について考える
  • Select画面の操作が一部profile.tomlに設定されており複雑なので整理
  • egui設定ウィンドウを整理
  • skin 独自拡張(ref/timer) 仕様検討
    • NHS / FHS
    • Ranking 切り替え (Ranking / Rival / Self-only)
    • WMII result skin 対応
    • select skin の option panel系
  • クライアント側 DB 設計見直し
    • library.db の旧コース成績テーブルを落とす
      • migration.rs (line 282) でまだ course_scores / course_score_charts / course_replays / course_replay_slots / course_trophy_achievements を作っています。現在の責務では score.db 側が正なので、旧 library rows 移行不要方針なら、library migration で DROP TABLE IF EXISTS してよさそうです。最優先候補。
    • score_history.course_score_id に FK を張る
      • migration.rs (line 546) のコメントは「course_scores が library.db にあったので FK なし」のままです。今は同じ score.db 内なので、REFERENCES course_scores(id) ON DELETE SET NULL にできます。履歴行は残しつつリンクだけ消す設計が自然です。
    • score_history.ghost の扱いを見直す
      • best_ghost は score_best.ghost (line 432) だけを読んでいます。一方で score_history.ghost も毎回保存していますが、現行利用はほぼありません。score.db を小さく保つなら、履歴 ghost は削除/外部化し、自己ベスト ghost だけ残す案が有力です。
    • score.db の重複気味 index を削る
      • score_best は PRIMARY KEY (chart_sha256, ln_policy, double_option, rule_mode) があるのに、同じ列の idx_score_best_chart も作っています。replay_slots や course_replay_slots も PK prefix と重なる index があります。小さい DB 要件なら精査して落とす価値があります。
    • network.db の retention を明示する
      • payload_json は成功時に空にしていますが、ir_score_jobs / ir_score_submissions 自体は増え続けます。network.db は score.db ほど厳密でなくてよいので、「成功済みは N 日または N 件で削除」「失敗/送信中だけ保持」みたいな pruning を入れる候補です。

Clone this wiki locally