Skip to content

feat: コマンドリストに派生技 (follow-up moves) を追加 (#9)#11

Open
kirin0198 wants to merge 8 commits into
mainfrom
feat/issue-009-follow-up-moves
Open

feat: コマンドリストに派生技 (follow-up moves) を追加 (#9)#11
kirin0198 wants to merge 8 commits into
mainfrom
feat/issue-009-follow-up-moves

Conversation

@kirin0198
Copy link
Copy Markdown
Owner

Summary

  • CommandMove 型に followUps?: CommandMove[](再帰型)を追加し、疾駆け等の派生技をデータモデルで表現可能に
  • CommandListPanel の展開 UI を拡張し、variants / followUps 両方に対応。親技直後の派生選択で ~ コネクター自動挿入
  • キンバリーの疾駆け(special)3種・風車 4+HK(unique)1種の派生技データを追加し、special / unique 両カテゴリで動作検証

Related

変更内容

データモデル (TASK-A)

  • src/lib/combo/command-list-types.ts: CommandMove.followUps?: CommandMove[] を追加(カテゴリ非依存・再帰構造)
  • ID 命名規則: {characterId}-{parent}-{derivation}

UI 拡張 (TASK-B)

  • src/components/input/CommandListPanel.tsx:
    • 展開状態を expandedPath: string[] に変更(多階層対応)
    • lastSelectedMoveId 状態を追加
    • 派生技セクション(紫系スタイリング)を追加
    • コネクター自動挿入: 親技直後 → ~、それ以外 → >

データ追加 (TASK-C / TASK-D)

  • キンバリー疾駆け配下: 急停止 / 影すくい / 武神翔霸
  • キンバリー風車 4+HK 配下: 風車派生

テスト (TASK-E / WR-002)

  • CommandListPanel.test.tsx 新規作成(14件)
  • command-list-types.test.ts 新規作成(30件 + 実 JSON 検証 58件)
  • 全 29 キャラ JSON に対する ID 重複 / 循環参照チェックを追加
  • テスト総数: 170件 → 233件(+63件)

ドキュメント (WR-001)

  • docs/SPEC.md UC-013 に AC9 / AC10・正常フロー 4' を追加
  • docs/ARCHITECTURE.md セクション 15.5 / 17 / ADR-008 を追加

Test plan

  • キンバリーのコンボ登録画面でコマンドリストタブを開く
  • 疾駆け(236+K)をクリックして展開し、強度バリアント(L/M/H/OD)と派生セクション(急停止/影すくい/武神翔霸)が表示されることを確認
  • 疾駆け(強)を選択 → 武神翔霸 を選択してシーケンスが 236HK ~ HP 相当で繋がることを確認
  • 風車(4+HK)をクリックして展開し、派生技が表示されることを確認
  • 風車 → 派生 を選択してシーケンスが 4HK ~ ... で繋がることを確認
  • variants を持たない派生技の表示と選択を確認
  • 親技以外を経由した後の派生選択で > コネクターが使われることを確認
  • 既存キャラ(派生技なし)が従来通り動作すること

品質指標

  • 全テスト 233件 pass(+63件追加)
  • TypeScript / ESLint / Prettier clean
  • pre-push 脆弱性スキャン pass
  • セキュリティ監査 CRITICAL/WARNING 0件(INFO 2件は将来 API 化時の予防策)
  • DB/API/notation 変換への影響なし(静的 JSON + UI のみ)

🤖 Generated with Claude Code

kirin0198 and others added 8 commits April 18, 2026 00:54
- CommandMove インターフェースに followUps?: CommandMove[] を追加(再帰構造)
- JSDoc にカテゴリ非依存・再帰構造・ID 命名規則を記述
- command-list-types.test.ts を新規作成
- collectAllMoveIds / findDuplicateIds / hasCircularReference ヘルパー
- unique カテゴリの followUps 動作テスト
- Related: ISSUE-009
- variants または followUps の有無で展開可能技を判定(カテゴリ非依存)
- 展開エリアに派生セクション(派生: ラベル + 紫系ボタン)を追加
- lastSelectedMoveId 状態を追加(派生コネクター判定用)
- 派生コネクター自動挿入: 親技直後の派生クリックで ~ を挿入
- バリアント選択時も lastSelectedMoveId に親技 ID を記録
- 派生技自身の variants に対応した再帰展開レンダリング
- aria-label に派生技のアクセシビリティラベルを付与
- Related: ISSUE-009
- kimberly-shikkuke に followUps 配列を追加(special カテゴリ配下 3 件)
- kimberly-shikkuke-stop: 急停止(疾駆け中 LK)
- kimberly-shikkuke-kage-sukui: 影すくい(疾駆け中 MK)
- kimberly-shikkuke-bushin-shoha: 武神翔霸(疾駆け中 HP)
- 既存の variants(L/M/H/OD)は維持
- Related: ISSUE-009
- kimberly-4hk(風車, unique カテゴリ)に followUps 配列を追加
- kimberly-4hk-followup: 風車2段目(HK 派生)
- unique カテゴリの followUps 対応を実データで検証
- Related: ISSUE-009
- CommandListPanel.test.tsx を新規作成(src/components/input/__tests__/)
- special カテゴリの followUps 表示テスト(variants + followUps 両方)
- unique カテゴリの followUps 表示テスト(variants なし)
- 派生技クリックで ~ コネクター自動挿入テスト
- 親技以外経由後の派生クリックで > コネクターテスト
- variants と followUps を両方持つ親技の展開挙動テスト
- 派生技自身が variants を持つ場合の再帰展開テスト
- loadCommandList を vi.mock でモック
- CommandListPanel の expandedPath を string[] に変更(多階層展開対応)
- Related: ISSUE-009
- Add AC9: follow-up moves displayed on parent expansion
- Add AC10: '~' connector auto-inserted after parent move
- Add normal flow step 4' for follow-up selection
- Related: ISSUE-009
- Import kimberly.json directly and validate moves tree for ID uniqueness
- Import kimberly.json and validate moves tree for circular references
- Add data integrity check confirming followUps exist in kimberly.json
- Use import.meta.glob to load all 29 character JSON files dynamically
- Generate per-character ID deduplication and circular reference tests
- Add vite/client reference for import.meta.glob type support
- Related: ISSUE-009
- docs/issues/ISSUE-009.md: 方針書(派生技データモデル追加)
- docs/ARCHITECTURE.md: セクション 15.5 / 17 / ADR-008 追加
- Related: ISSUE-009

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 疾駆け等の派生技(follow-up moves)をコマンドリストデータモデルに追加

1 participant