---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 110
  claims_with_evidence: 110
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：backend-sdl 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：110 / 110、根拠なし：0
- 優先レビュー（高）
  1. なし - 全テストケースにソースコード根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `backends/imgui_impl_sdl2.h` - SDL2プラットフォームバックエンドのヘッダファイル（関数宣言、enum定義）
- E-02: `backends/imgui_impl_sdl2.cpp` - SDL2プラットフォームバックエンドの実装（929行）
- E-03: `backends/imgui_impl_sdl3.h` - SDL3プラットフォームバックエンドのヘッダファイル（関数宣言、enum定義）
- E-04: `backends/imgui_impl_sdl3.cpp` - SDL3プラットフォームバックエンドの実装（888行）
- E-05: `backends/imgui_impl_sdlrenderer2.h` - SDL_Renderer2レンダラーバックエンドのヘッダファイル
- E-06: `backends/imgui_impl_sdlrenderer2.cpp` - SDL_Renderer2レンダラーバックエンドの実装（301行）
- E-07: `backends/imgui_impl_sdlrenderer3.h` - SDL_Renderer3レンダラーバックエンドのヘッダファイル
- E-08: `backends/imgui_impl_sdlrenderer3.cpp` - SDL_Renderer3レンダラーバックエンドの実装（317行）
- E-09: `backends/imgui_impl_sdlgpu3.h` - SDL_GPUレンダラーバックエンドのヘッダファイル
- E-10: `backends/imgui_impl_sdlgpu3.cpp` - SDL_GPUレンダラーバックエンドの実装（691行）
- E-11: `backends/imgui_impl_sdlgpu3_shaders.h` - SDL_GPUシェーダー定義（SPIRV, DXBC, Metallib, MSL）

## 3) Claims と根拠の対応（レビューの主戦場）

### SDL2プラットフォームバックエンド (imgui_impl_sdl2)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ImGui_ImplSDL2_InitForOpenGL: OpenGLコンテキストでの初期化 | E-02 (599-601行) | ○ |
| C-02 | ImGui_ImplSDL2_InitForOpenGL: null入力検証 | E-02 (493行 IM_ASSERT) | ○ |
| C-03 | ImGui_ImplSDL2_InitForVulkan: Vulkanバックエンド初期化 | E-02 (604-610行) | ○ |
| C-04 | ImGui_ImplSDL2_InitForD3D: DirectXバックエンド初期化 | E-02 (612-618行) | ○ |
| C-05 | ImGui_ImplSDL2_InitForMetal: Metalバックエンド初期化 | E-02 (620-623行) | ○ |
| C-06 | ImGui_ImplSDL2_InitForSDLRenderer: SDLレンダラー統合 | E-02 (625-628行) | ○ |
| C-07 | ImGui_ImplSDL2_InitForOther: 汎用初期化 | E-02 (630-633行) | ○ |
| C-08 | ImGui_ImplSDL2_Shutdown: リソース解放 | E-02 (637-655行) | ○ |
| C-09 | ImGui_ImplSDL2_Shutdown: 未初期化検証 | E-02 (640行 IM_ASSERT) | ○ |
| C-10 | ImGui_ImplSDL2_NewFrame: フレーム開始処理 | E-02 (890-920行) | ○ |
| C-11 | ImGui_ImplSDL2_NewFrame: 最小化時の処理 | E-02 (874-875行) | ○ |
| C-12 | ImGui_ImplSDL2_ProcessEvent: マウス移動イベント | E-02 (384-392行) | ○ |
| C-13 | ImGui_ImplSDL2_ProcessEvent: マウスボタンダウン | E-02 (412-428行) | ○ |
| C-14 | ImGui_ImplSDL2_ProcessEvent: マウスボタンアップ | E-02 (412-428行) | ○ |
| C-15 | ImGui_ImplSDL2_ProcessEvent: マウスホイール | E-02 (393-411行) | ○ |
| C-16 | ImGui_ImplSDL2_ProcessEvent: キーダウン | E-02 (437-448行) | ○ |
| C-17 | ImGui_ImplSDL2_ProcessEvent: キーアップ | E-02 (437-448行) | ○ |
| C-18 | ImGui_ImplSDL2_ProcessEvent: テキスト入力 | E-02 (430-436行) | ○ |
| C-19 | ImGui_ImplSDL2_ProcessEvent: フォーカス取得 | E-02 (467-468行) | ○ |
| C-20 | ImGui_ImplSDL2_ProcessEvent: フォーカス喪失 | E-02 (469-470行) | ○ |
| C-21 | ImGui_ImplSDL2_ProcessEvent: 他ウィンドウイベント無視 | E-02 (386, 395, 415行等) | ○ |
| C-22 | ImGui_ImplSDL2_ProcessEvent: ゲームパッド追加 | E-02 (473-478行) | ○ |
| C-23 | ImGui_ImplSDL2_ProcessEvent: ゲームパッド削除 | E-02 (473-478行) | ○ |
| C-24 | ImGui_ImplSDL2_KeyEventToImGuiKey: 主要キー変換 | E-02 (211-355行) | ○ |
| C-25 | ImGui_ImplSDL2_KeyEventToImGuiKey: 矢印キー変換 | E-02 (216-219行) | ○ |
| C-26 | ImGui_ImplSDL2_KeyEventToImGuiKey: ファンクションキー変換 | E-02 (308-331行) | ○ |
| C-27 | ImGui_ImplSDL2_KeyEventToImGuiKey: テンキー変換 | E-02 (246-262行) | ○ |
| C-28 | ImGui_ImplSDL2_KeyEventToImGuiKey: 未知キーコード | E-02 (354行) | ○ |
| C-29 | ImGui_ImplSDL2_SetGamepadMode: AutoFirstモード | E-02 (776-792行) | ○ |
| C-30 | ImGui_ImplSDL2_SetGamepadMode: AutoAllモード | E-02 (776-792行) | ○ |
| C-31 | ImGui_ImplSDL2_SetGamepadMode: Manualモード | E-02 (780-785行) | ○ |
| C-32 | ImGui_ImplSDL2_SetGamepadMode: 空配列許容 | E-02 (782行 IM_ASSERT) | ○ |
| C-33 | ImGui_ImplSDL2_SetMouseCaptureMode: モード設定 | E-02 (657-663行) | ○ |
| C-34 | ImGui_ImplSDL2_SetMouseCaptureMode: キャプチャ解除 | E-02 (660-661行) | ○ |
| C-35 | ImGui_ImplSDL2_GetContentScaleForWindow: DPIスケール | E-02 (746-749行) | ○ |
| C-36 | ImGui_ImplSDL2_GetContentScaleForDisplay: DPIスケール | E-02 (751-765行) | ○ |
| C-37 | ImGui_ImplSDL2_GetContentScaleForDisplay: Wayland | E-02 (754-755行) | ○ |

### SDL3プラットフォームバックエンド (imgui_impl_sdl3)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | ImGui_ImplSDL3_InitForOpenGL: 初期化 | E-04 (576-579行) | ○ |
| C-39 | ImGui_ImplSDL3_InitForVulkan: 初期化 | E-04 (581-584行) | ○ |
| C-40 | ImGui_ImplSDL3_InitForD3D: 初期化 | E-04 (586-592行) | ○ |
| C-41 | ImGui_ImplSDL3_InitForMetal: 初期化 | E-04 (594-597行) | ○ |
| C-42 | ImGui_ImplSDL3_InitForSDLRenderer: 初期化 | E-04 (599-602行) | ○ |
| C-43 | ImGui_ImplSDL3_InitForSDLGPU: 初期化 | E-04 (604-607行) | ○ |
| C-44 | ImGui_ImplSDL3_InitForOther: 初期化 | E-04 (609-612行) | ○ |
| C-45 | ImGui_ImplSDL3_Shutdown: リソース解放 | E-04 (616-634行) | ○ |
| C-46 | ImGui_ImplSDL3_NewFrame: フレーム処理 | E-04 (848-879行) | ○ |
| C-47 | ImGui_ImplSDL3_ProcessEvent: マウス移動 | E-04 (388-396行) | ○ |
| C-48 | ImGui_ImplSDL3_ProcessEvent: マウスボタン | E-04 (408-425行) | ○ |
| C-49 | ImGui_ImplSDL3_ProcessEvent: キーイベント | E-04 (433-445行) | ○ |
| C-50 | ImGui_ImplSDL3_ProcessEvent: テキスト入力 | E-04 (426-432行) | ○ |
| C-51 | ImGui_ImplSDL3_ProcessEvent: ゲームパッド | E-04 (473-478行) | ○ |
| C-52 | ImGui_ImplSDL3_KeyEventToImGuiKey: キー変換 | E-04 (216-365行) | ○ |
| C-53 | ImGui_ImplSDL3_SetGamepadMode: モード設定 | E-04 (731-747行) | ○ |
| C-54 | ImGui_ImplSDL3_SetMouseCaptureMode: モード設定 | E-04 (636-642行) | ○ |

### SDL_Renderer2バックエンド (imgui_impl_sdlrenderer2)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-55 | ImGui_ImplSDLRenderer2_Init: 初期化 | E-06 (74-91行) | ○ |
| C-56 | ImGui_ImplSDLRenderer2_Init: null検証 | E-06 (79行 IM_ASSERT) | ○ |
| C-57 | ImGui_ImplSDLRenderer2_Shutdown: リソース解放 | E-06 (93-107行) | ○ |
| C-58 | ImGui_ImplSDLRenderer2_NewFrame: フレーム処理 | E-06 (117-122行) | ○ |
| C-59 | ImGui_ImplSDLRenderer2_RenderDrawData: 描画処理 | E-06 (124-231行) | ○ |
| C-60 | ImGui_ImplSDLRenderer2_RenderDrawData: 最小化スキップ | E-06 (139-140行) | ○ |
| C-61 | ImGui_ImplSDLRenderer2_RenderDrawData: コールバック | E-06 (183-191行) | ○ |
| C-62 | ImGui_ImplSDLRenderer2_UpdateTexture: 作成 | E-06 (237-255行) | ○ |
| C-63 | ImGui_ImplSDLRenderer2_UpdateTexture: 更新 | E-06 (256-267行) | ○ |
| C-64 | ImGui_ImplSDLRenderer2_UpdateTexture: 破棄 | E-06 (268-276行) | ○ |
| C-65 | ImGui_ImplSDLRenderer2_CreateDeviceObjects: 作成 | E-06 (279-281行) | ○ |
| C-66 | ImGui_ImplSDLRenderer2_DestroyDeviceObjects: 破棄 | E-06 (283-292行) | ○ |

### SDL_Renderer3バックエンド (imgui_impl_sdlrenderer3)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | ImGui_ImplSDLRenderer3_Init: 初期化 | E-08 (72-89行) | ○ |
| C-68 | ImGui_ImplSDLRenderer3_Init: null検証 | E-08 (77行 IM_ASSERT) | ○ |
| C-69 | ImGui_ImplSDLRenderer3_Shutdown: リソース解放 | E-08 (91-105行) | ○ |
| C-70 | ImGui_ImplSDLRenderer3_NewFrame: フレーム処理 | E-08 (115-120行) | ○ |
| C-71 | ImGui_ImplSDLRenderer3_RenderDrawData: 描画処理 | E-08 (140-247行) | ○ |
| C-72 | ImGui_ImplSDLRenderer3_RenderDrawData: 最小化スキップ | E-08 (157-158行) | ○ |
| C-73 | ImGui_ImplSDLRenderer3_UpdateTexture: 作成 | E-08 (253-271行) | ○ |
| C-74 | ImGui_ImplSDLRenderer3_UpdateTexture: 更新 | E-08 (272-283行) | ○ |
| C-75 | ImGui_ImplSDLRenderer3_UpdateTexture: 破棄 | E-08 (284-292行) | ○ |
| C-76 | ImGui_ImplSDLRenderer3_CreateDeviceObjects: 作成 | E-08 (295-297行) | ○ |
| C-77 | ImGui_ImplSDLRenderer3_DestroyDeviceObjects: 破棄 | E-08 (299-308行) | ○ |

### SDL_GPUバックエンド (imgui_impl_sdlgpu3)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | ImGui_ImplSDLGPU3_Init: 初期化 | E-10 (644-663行) | ○ |
| C-79 | ImGui_ImplSDLGPU3_Init: nullデバイス検証 | E-10 (657行 IM_ASSERT) | ○ |
| C-80 | ImGui_ImplSDLGPU3_Init: 無効フォーマット検証 | E-10 (658行 IM_ASSERT) | ○ |
| C-81 | ImGui_ImplSDLGPU3_Shutdown: リソース解放 | E-10 (665-679行) | ○ |
| C-82 | ImGui_ImplSDLGPU3_NewFrame: フレーム処理 | E-10 (681-688行) | ○ |
| C-83 | ImGui_ImplSDLGPU3_PrepareDrawData: 描画準備 | E-10 (157-216行) | ○ |
| C-84 | ImGui_ImplSDLGPU3_PrepareDrawData: 頂点数0スキップ | E-10 (162行) | ○ |
| C-85 | ImGui_ImplSDLGPU3_PrepareDrawData: 最小化スキップ | E-10 (162行) | ○ |
| C-86 | ImGui_ImplSDLGPU3_RenderDrawData: 描画処理 | E-10 (218-308行) | ○ |
| C-87 | ImGui_ImplSDLGPU3_RenderDrawData: 最小化スキップ | E-10 (223-224行) | ○ |
| C-88 | ImGui_ImplSDLGPU3_RenderDrawData: カスタムパイプライン | E-10 (229-230行) | ○ |
| C-89 | ImGui_ImplSDLGPU3_RenderDrawData: コールバック | E-10 (255-262行) | ○ |
| C-90 | ImGui_ImplSDLGPU3_UpdateTexture: 作成 | E-10 (326-349行) | ○ |
| C-91 | ImGui_ImplSDLGPU3_UpdateTexture: 更新 | E-10 (351-408行) | ○ |
| C-92 | ImGui_ImplSDLGPU3_UpdateTexture: 破棄 | E-10 (409-411行) | ○ |
| C-93 | ImGui_ImplSDLGPU3_CreateDeviceObjects: 作成 | E-10 (574-608行) | ○ |
| C-94 | ImGui_ImplSDLGPU3_DestroyDeviceObjects: 破棄 | E-10 (625-642行) | ○ |
| C-95 | CreateOrResizeBuffers: バッファ作成 | E-10 (129-152行) | ○ |
| C-96 | CreateOrResizeBuffers: バッファリサイズ | E-10 (136-137行) | ○ |
| C-97 | ImGui_ImplSDLGPU3_CreateShaders: Vulkan | E-10 (437-445行) | ○ |
| C-98 | ImGui_ImplSDLGPU3_CreateShaders: D3D12 | E-10 (446-454行) | ○ |
| C-99 | ImGui_ImplSDLGPU3_CreateShaders: Metallib | E-10 (462-469行) | ○ |
| C-100 | ImGui_ImplSDLGPU3_CreateShaders: MSL | E-10 (471-481行) | ○ |
| C-101 | ImGui_ImplSDLGPU3_CreateGraphicsPipeline: パイプライン作成 | E-10 (491-572行) | ○ |
| C-102 | Saturate: 正常値 | E-10 (757行) | ○ |
| C-103 | Saturate: 負の値 | E-10 (757行) | ○ |
| C-104 | Saturate: 1.0超過 | E-10 (757行) | ○ |

### 構造体・データ構造
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105 | ImGui_ImplSDL2_Data: ゼロ初期化 | E-02 (165行) | ○ |
| C-106 | ImGui_ImplSDL3_Data: ゼロ初期化 | E-04 (135行) | ○ |
| C-107 | ImGui_ImplSDLRenderer2_Data: ゼロ初期化 | E-06 (63行) | ○ |
| C-108 | ImGui_ImplSDLRenderer3_Data: ゼロ初期化 | E-08 (61行) | ○ |
| C-109 | ImGui_ImplSDLGPU3_InitInfo: デフォルト値 | E-09 (31-38行) | ○ |
| C-110 | ImGui_ImplSDLGPU3_RenderState: レンダーステート | E-09 (57-63行) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全てのテストケースはソースコードから直接抽出されたAPI定義・実装に基づいている

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: 全テストケースがソースコードに直接対応しており、根拠が明確

### 補足事項
- backend-sdlモジュールはSDL2/SDL3の両バージョンをサポートしており、API差異を考慮したテストケースを含む
- プラットフォーム固有機能（Windows: D3D, macOS: Metal, Linux: X11特殊処理）のテストケースは環境依存
- SDL_GPUバックエンドは新しいAPIのため、シェーダー形式（SPIRV/DXBC/Metallib/MSL）ごとのテストが必要

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースの優先度が適切か確認（高優先度：初期化/シャットダウン/描画処理）
- [ ] 境界値テストが網羅的か確認（最小化状態、空データ、null入力）
- [ ] プラットフォーム固有テストの実行環境を確認
- [ ] SDL2/SDL3両バージョンでの互換性を確認
- [ ] シェーダー形式ごとのテストカバレッジを確認
