プロジェクト

全般

プロフィール

機能 #317

完了

ノーツレーダー細分化: CHARGE/LN サブ軸の新設と BSS の LN 再分類

機能 #317: ノーツレーダー細分化: CHARGE/LN サブ軸の新設と BSS の LN 再分類

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

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

100%

予定工数:

説明

目的

#313 タクソノミーに CHARGE/LN のサブ軸が未定義(§4 に CHARGE 節がない)だったため、LN/CHARGE サブ軸を新設し、BSS を SCRATCH から LN 親へ再分類する。#293(弱点分析)のドリルダウンで LN 系の弱点を表現できるようにする。

親設計: #313。前提: #314(Phase 1 raw)/ #315(Phase 2 raw)/ #316(本体 0–200 正規化・anchor 較正)の縦串・正規化基盤。

方針確認(ユーザー指示): BSS は リネームせず再分類のみ(物理キー scratch_bss は維持)。LN サブ軸は ln_density / ln_overlap / ln_max_simultaneous の3軸(CN/HCN 分離は今回見送り)。

スコープ

1. 設計拡張(#313 文書更新)

  • docs/notes-radar-subdivision-design.md§4.8 CHARGE/LN 節を追加し、下記サブ軸を定義。
  • BSS の所属を明記: 物理キーは scratch_bss のまま(破壊的変更回避)だが、論理カテゴリは LN 親としてドリルダウンにぶら下げる(リネームしない)。

2. 新設 LN/CHARGE サブ軸(3軸)

axis_key 定義 raw 入力(既存流用)
ln_density 保持密度=LN総保持秒/曲長 longNoteSecondsTotal(raw: feature_ln_seconds_total)
ln_overlap LN中の同時押し=他レーンLN保持中の打鍵(擬似/ロック処理) chargeNotesDuringLongNote(raw: feature_charge_notes_during_ln)
ln_max_simultaneous 最大同時LN保持数 maxSimultaneousLongNotes(raw: feature_max_simultaneous_ln)

raw 入力は #314 で既に算出・伝送済みなので、主作業は「正規化サブ軸としての露出+anchor 較正」

3. 実装(#315/#316 と同型の縦串)

  • NotesRadarFeature 末尾に 3 コンポーネント追加(後方互換:既存不変)。
  • NotesRadarCalculator.calculate: 既存 metrics を流用し #316 同様に radarFromAnchors(... / durationSeconds, *_SCORE_ANCHORS, SUBAXIS_RADAR_ANCHORS) で 0–200 化。
  • SongDataDto / SongDataResultSetHandler / SQLiteSongDatabaseAccessor(SONG_COLUMNS / FEATURE_COLUMNS_SQL / Table 自動ALTER)/ IRChartDatafeature_ln_density / feature_ln_overlap / feature_ln_max_simultaneous を追加。
  • anchor 数値は #316 同様、実データ分布(分位点)から較正(暫定線形 → 実データ後確定)。

4. BSS 再分類

  • コード上の scratch_bss(カラム/IRキー/server EAV)は 不変
  • タクソノミー文書と #293 接続側でのカテゴリ所属を LN 親へ(必要に応じて両記でなく LN 主所属)。

5. テスト

  • 各サブ軸の anchor 区間境界(直下/直上)・単調性・0/200 クランプ、既存6軸・既存 raw の不変(回帰)。EMPTY ゼロ・DTO round-trip・旧スキーマ0デフォルト・IR キー数。

バックフィル

  • #145 同方式:全曲更新(gradlew updateAllSongs)で再計算し、新カラムを埋める(自動 ALTER で旧 DB も列追加)。

関連

  • #313(設計)/ #314 / #315 / #316(正規化・anchor)
  • #293(弱点分析パネル)への接続(CHARGE 親→ LN サブ軸のドリルダウン、BSS を含む)。

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

次のチケットに後続 beatoraja - 機能 #316: ノーツレーダー細分化 Phase 3: B分類パターン軸の 0–200 anchor 実データ較正と本体正規化完了いづ さん2026/06/242026/06/24

操作

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