プロジェクト

全般

プロフィール

機能 #365

完了

機能 #340: [Phase 1] 非依存コア(パーサ/スキンIR/DB/タイミング)

ferrhythm-score: 体力ゲージ・スコア・クリアランプ判定(非依存純ロジック)

機能 #365: ferrhythm-score: 体力ゲージ・スコア・クリアランプ判定(非依存純ロジック)

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

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

100%

予定工数:

説明

目的

判定結果(Judgement)を入力に、体力ゲージ・スコア・クリアランプ/ランクを導出する純ロジック群。判定(#349)と地続きのプラットフォーム非依存層で、コンテナ TDD で固める。現状この層の受け皿チケットが無いため新設。

スコープ

  • 体力ゲージ: ゲージ種別(ASSIST EASY / EASY / NORMAL(GROOVE) / HARD / EX-HARD / HAZARD 等)ごとの増減量・上限/下限・クリアライン(NORMAL系=終了時ボーダー%、HARD系=サバイバル0%)。回復量は譜面 #TOTAL とノート数依存(#TOTAL・ノート数は chart(#350) から入力として受け取り疎結合にする)。
  • スコア: EX-SCORE(PG=2 / GR=1)、達成率%、ランク(MAX/AAA/AA/.../F)、コンボ・最大コンボ、各判定カウント集計。
  • クリアランプ判定: ゲージ種別と結果から FAILED/ASSIST/EASY/CLEAR/HARD/EXHARD/FULLCOMBO/PERFECT/MAX 等を導出。
  • 判定モデルは [[judge-model]](ferrhythm-timing)準拠。Judgement は ferrhythm-timing から受け取る。

配置

  • 新規クレート(例 ferrhythm-score)を crates/ 配下に追加。依存: ferrhythm-core, ferrhythm-timingJudgement)。

要確定(実装時)

  • ゲージ仕様の準拠先(LR2 / beatoraja)と具体的な増減量 は、判定窓と同様に「音ゲーの肝」なので実装着手時にユーザーと確定する(数値はソースで裏取り)。

検証(コンテナ)

境界値・代表ケース中心の TDD(各ゲージのフルコンボ通過 / ボーダー丁度 / サバイバル枯渇、EX-SCORE・ランク境界、ランプ判定)。cargo test / clippy / fmt グリーン。

担当

Codex 委譲(source-only)

依存

Phase 1(#349 判定、#350 譜面の #TOTAL/ノート数)

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