操作
機能 #365
完了機能 #340: [Phase 1] 非依存コア(パーサ/スキンIR/DB/タイミング)
ferrhythm-score: 体力ゲージ・スコア・クリアランプ判定(非依存純ロジック)
機能 #365:
ferrhythm-score: 体力ゲージ・スコア・クリアランプ判定(非依存純ロジック)
説明
目的¶
判定結果(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-timing(Judgement)。
要確定(実装時)¶
- ゲージ仕様の準拠先(LR2 / beatoraja)と具体的な増減量 は、判定窓と同様に「音ゲーの肝」なので実装着手時にユーザーと確定する(数値はソースで裏取り)。
検証(コンテナ)¶
境界値・代表ケース中心の TDD(各ゲージのフルコンボ通過 / ボーダー丁度 / サバイバル枯渇、EX-SCORE・ランク境界、ランプ判定)。cargo test / clippy / fmt グリーン。
担当¶
Codex 委譲(source-only)
依存¶
Phase 1(#349 判定、#350 譜面の #TOTAL/ノート数)
操作