---
generated_at: 2026-02-22 10:30:00
metrics:
  claims_total: 85
  claims_with_evidence: 85
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：backend-glfw.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

1. **根拠の有無確認**：各テストケースに対して、ソースコード上の対応する関数・処理が存在するか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：公開API、コールバック、内部関数を適切にカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：85 / 85、根拠なし：0
- 優先レビュー（高）
  1. **プラットフォーム依存コード**：Windows/macOS/Wayland/X11/Emscriptenの条件付きコンパイルに関するテストケースは実機確認が必要
  2. **コールバックチェーン**：ユーザーコールバックとの連携テストは統合テスト環境が必要
  3. **ゲームパッド入力**：GLFW 3.3+ APIとレガシーAPIの両方をテストする必要がある

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

- E-01: `backends/imgui_impl_glfw.h` - 公開API宣言（33-68行目）
- E-02: `backends/imgui_impl_glfw.cpp` - 実装ファイル全体（1-1095行目）
- E-03: `backends/imgui_impl_glfw.cpp` 行186-189 - コンテキストマップ関数
- E-04: `backends/imgui_impl_glfw.cpp` 行191-196 - GlfwClientApi列挙型
- E-05: `backends/imgui_impl_glfw.cpp` 行199-233 - ImGui_ImplGlfw_Data構造体
- E-06: `backends/imgui_impl_glfw.cpp` 行256-272 - ImGui_ImplGlfw_IsWayland()
- E-07: `backends/imgui_impl_glfw.cpp` 行276-402 - ImGui_ImplGlfw_KeyToImGuiKey()
- E-08: `backends/imgui_impl_glfw.cpp` 行406-412 - ImGui_ImplGlfw_UpdateKeyModifiers()
- E-09: `backends/imgui_impl_glfw.cpp` 行414-417 - ImGui_ImplGlfw_ShouldChainCallback()
- E-10: `backends/imgui_impl_glfw.cpp` 行419-429 - ImGui_ImplGlfw_MouseButtonCallback()
- E-11: `backends/imgui_impl_glfw.cpp` 行431-444 - ImGui_ImplGlfw_ScrollCallback()
- E-12: `backends/imgui_impl_glfw.cpp` 行447-478 - ImGui_ImplGlfw_TranslateUntranslatedKey()
- E-13: `backends/imgui_impl_glfw.cpp` 行480-497 - ImGui_ImplGlfw_KeyCallback()
- E-14: `backends/imgui_impl_glfw.cpp` 行499-507 - ImGui_ImplGlfw_WindowFocusCallback()
- E-15: `backends/imgui_impl_glfw.cpp` 行509-518 - ImGui_ImplGlfw_CursorPosCallback()
- E-16: `backends/imgui_impl_glfw.cpp` 行522-540 - ImGui_ImplGlfw_CursorEnterCallback()
- E-17: `backends/imgui_impl_glfw.cpp` 行542-550 - ImGui_ImplGlfw_CharCallback()
- E-18: `backends/imgui_impl_glfw.cpp` 行552-555 - ImGui_ImplGlfw_MonitorCallback()
- E-19: `backends/imgui_impl_glfw.cpp` 行608-623 - ImGui_ImplGlfw_InstallCallbacks()
- E-20: `backends/imgui_impl_glfw.cpp` 行625-648 - ImGui_ImplGlfw_RestoreCallbacks()
- E-21: `backends/imgui_impl_glfw.cpp` 行654-658 - ImGui_ImplGlfw_SetCallbacksChainForAllWindows()
- E-22: `backends/imgui_impl_glfw.cpp` 行668-775 - ImGui_ImplGlfw_Init()
- E-23: `backends/imgui_impl_glfw.cpp` 行777-790 - ImGui_ImplGlfw_InitForOpenGL/Vulkan/Other()
- E-24: `backends/imgui_impl_glfw.cpp` 行792-824 - ImGui_ImplGlfw_Shutdown()
- E-25: `backends/imgui_impl_glfw.cpp` 行826-855 - ImGui_ImplGlfw_UpdateMouseData()
- E-26: `backends/imgui_impl_glfw.cpp` 行857-892 - ImGui_ImplGlfw_UpdateMouseCursor()
- E-27: `backends/imgui_impl_glfw.cpp` 行895-945 - ImGui_ImplGlfw_UpdateGamepads()
- E-28: `backends/imgui_impl_glfw.cpp` 行950-965 - ImGui_ImplGlfw_GetContentScaleForWindow()
- E-29: `backends/imgui_impl_glfw.cpp` 行967-981 - ImGui_ImplGlfw_GetContentScaleForMonitor()
- E-30: `backends/imgui_impl_glfw.cpp` 行983-1000 - ImGui_ImplGlfw_GetWindowSizeAndFramebufferScale()
- E-31: `backends/imgui_impl_glfw.cpp` 行1002-1024 - ImGui_ImplGlfw_NewFrame()
- E-32: `backends/imgui_impl_glfw.cpp` 行1027-1034 - ImGui_ImplGlfw_Sleep()

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ImGui_ImplGlfw_InitForOpenGL正常系テスト | E-22, E-23 | ○ |
| C-02 | ImGui_ImplGlfw_InitForOpenGLコールバックなしテスト | E-22, E-23 | ○ |
| C-03 | ImGui_ImplGlfw_InitForOpenGL二重初期化テスト | E-22（行672） | ○ |
| C-04 | ImGui_ImplGlfw_InitForVulkan正常系テスト | E-22, E-23 | ○ |
| C-05 | ImGui_ImplGlfw_InitForOther正常系テスト | E-22, E-23 | ○ |
| C-06 | ImGui_ImplGlfw_Shutdown正常系テスト | E-24 | ○ |
| C-07 | ImGui_ImplGlfw_Shutdown未初期化テスト | E-24（行795） | ○ |
| C-08 | ImGui_ImplGlfw_Shutdownコールバック復元テスト | E-24（行800-801） | ○ |
| C-09 | ImGui_ImplGlfw_NewFrame DisplaySizeテスト | E-31（行1009） | ○ |
| C-10 | ImGui_ImplGlfw_NewFrame DeltaTimeテスト | E-31（行1013-1017） | ○ |
| C-11 | ImGui_ImplGlfw_NewFrame初回DeltaTimeテスト | E-31（行1016） | ○ |
| C-12 | ImGui_ImplGlfw_NewFrame未初期化テスト | E-31（行1006） | ○ |
| C-13 | ImGui_ImplGlfw_NewFrame非単調時間テスト | E-31（行1014-1015） | ○ |
| C-14 | ImGui_ImplGlfw_InstallCallbacks正常系テスト | E-19 | ○ |
| C-15 | ImGui_ImplGlfw_InstallCallbacksチェーンテスト | E-19（行614-621） | ○ |
| C-16 | ImGui_ImplGlfw_InstallCallbacks二重インストールテスト | E-19（行611） | ○ |
| C-17 | ImGui_ImplGlfw_RestoreCallbacks正常系テスト | E-20 | ○ |
| C-18 | ImGui_ImplGlfw_RestoreCallbacks未インストールテスト | E-20（行628） | ○ |
| C-19 | ImGui_ImplGlfw_SetCallbacksChainForAllWindows有効化テスト | E-21 | ○ |
| C-20 | ImGui_ImplGlfw_SetCallbacksChainForAllWindows無効化テスト | E-21 | ○ |
| C-21 | ImGui_ImplGlfw_KeyToImGuiKey TABキーテスト | E-07（行281） | ○ |
| C-22 | ImGui_ImplGlfw_KeyToImGuiKey矢印キーテスト | E-07（行282-285） | ○ |
| C-23 | ImGui_ImplGlfw_KeyToImGuiKey F1-F12テスト | E-07（行376-387） | ○ |
| C-24 | ImGui_ImplGlfw_KeyToImGuiKey F13-F24テスト | E-07（行388-399） | ○ |
| C-25 | ImGui_ImplGlfw_KeyToImGuiKey数字キーテスト | E-07（行340-349） | ○ |
| C-26 | ImGui_ImplGlfw_KeyToImGuiKeyアルファベットキーテスト | E-07（行350-375） | ○ |
| C-27 | ImGui_ImplGlfw_KeyToImGuiKeyテンキーテスト | E-07（行314-330） | ○ |
| C-28 | ImGui_ImplGlfw_KeyToImGuiKey修飾キーテスト | E-07（行331-339） | ○ |
| C-29 | ImGui_ImplGlfw_KeyToImGuiKey不明キーテスト | E-07（行400） | ○ |
| C-30 | ImGui_ImplGlfw_KeyToImGuiKey WORLD_1/2テスト | E-07（行305-306） | ○ |
| C-31 | ImGui_ImplGlfw_MouseButtonCallback左クリックテスト | E-10 | ○ |
| C-32 | ImGui_ImplGlfw_MouseButtonCallback解放テスト | E-10（行428） | ○ |
| C-33 | ImGui_ImplGlfw_MouseButtonCallback無効ボタンテスト | E-10（行427） | ○ |
| C-34 | ImGui_ImplGlfw_MouseButtonCallbackチェーンテスト | E-10（行422-423） | ○ |
| C-35 | ImGui_ImplGlfw_ScrollCallback縦スクロールテスト | E-11 | ○ |
| C-36 | ImGui_ImplGlfw_ScrollCallback横スクロールテスト | E-11（行443） | ○ |
| C-37 | ImGui_ImplGlfw_ScrollCallbackチェーンテスト | E-11（行434-435） | ○ |
| C-38 | ImGui_ImplGlfw_KeyCallbackキー押下テスト | E-13 | ○ |
| C-39 | ImGui_ImplGlfw_KeyCallbackキー解放テスト | E-13（行495） | ○ |
| C-40 | ImGui_ImplGlfw_KeyCallbackリピートスキップテスト | E-13（行486-487） | ○ |
| C-41 | ImGui_ImplGlfw_KeyCallback修飾キー更新テスト | E-13（行490）, E-08 | ○ |
| C-42 | ImGui_ImplGlfw_KeyCallbackネイティブデータテスト | E-13（行496） | ○ |
| C-43 | ImGui_ImplGlfw_WindowFocusCallbackフォーカス取得テスト | E-14 | ○ |
| C-44 | ImGui_ImplGlfw_WindowFocusCallbackフォーカス喪失テスト | E-14（行506） | ○ |
| C-45 | ImGui_ImplGlfw_CursorPosCallback位置テスト | E-15 | ○ |
| C-46 | ImGui_ImplGlfw_CursorPosCallback LastValidMousePosテスト | E-15（行517） | ○ |
| C-47 | ImGui_ImplGlfw_CursorEnterCallbackMouseWindowテスト | E-16（行531） | ○ |
| C-48 | ImGui_ImplGlfw_CursorEnterCallback退出MouseWindowテスト | E-16（行537） | ○ |
| C-49 | ImGui_ImplGlfw_CursorEnterCallback退出位置無効化テスト | E-16（行538） | ○ |
| C-50 | ImGui_ImplGlfw_CursorEnterCallback再進入位置復元テスト | E-16（行532） | ○ |
| C-51 | ImGui_ImplGlfw_CharCallback文字入力テスト | E-17 | ○ |
| C-52 | ImGui_ImplGlfw_CharCallback Unicodeテスト | E-17（行549） | ○ |
| C-53 | ImGui_ImplGlfw_MonitorCallbackテスト | E-18 | ○ |
| C-54 | ImGui_ImplGlfw_Sleep正常系テスト | E-32 | ○ |
| C-55 | ImGui_ImplGlfw_Sleepゼロテスト | E-32 | ○ |
| C-56 | ImGui_ImplGlfw_GetContentScaleForWindow正常系テスト | E-28 | ○ |
| C-57 | ImGui_ImplGlfw_GetContentScaleForWindow Waylandテスト | E-28（行953-955） | ○ |
| C-58 | ImGui_ImplGlfw_GetContentScaleForWindowプラットフォームテスト | E-28（行957） | ○ |
| C-59 | ImGui_ImplGlfw_GetContentScaleForMonitor正常系テスト | E-29 | ○ |
| C-60 | ImGui_ImplGlfw_GetContentScaleForMonitor Waylandテスト | E-29（行970-971） | ○ |
| C-61 | ImGui_ImplGlfw_UpdateMouseData WantSetMousePosテスト | E-25（行842-843） | ○ |
| C-62 | ImGui_ImplGlfw_UpdateMouseDataフォールバックテスト | E-25（行846-851） | ○ |
| C-63 | ImGui_ImplGlfw_UpdateMouseCursorカーソル更新テスト | E-26 | ○ |
| C-64 | ImGui_ImplGlfw_UpdateMouseCursor NoMouseCursorChangeテスト | E-26（行861） | ○ |
| C-65 | ImGui_ImplGlfw_UpdateMouseCursor非表示テスト | E-26（行868-875） | ○ |
| C-66 | ImGui_ImplGlfw_UpdateGamepads入力読み取りテスト | E-27 | ○ |
| C-67 | ImGui_ImplGlfw_UpdateGamepadsボタン変換テスト | E-27（行907, 919-934） | ○ |
| C-68 | ImGui_ImplGlfw_UpdateGamepadsアナログ変換テスト | E-27（行908, 931-942） | ○ |
| C-69 | ImGui_ImplGlfw_UpdateGamepads未接続テスト | E-27（行902, 905-906, 913-914） | ○ |
| C-70 | ImGui_ImplGlfw_UpdateGamepads無効時テスト | E-27（行899） | ○ |
| C-71 | ImGui_ImplGlfw_ContextMap_Add正常系テスト | E-03（行187） | ○ |
| C-72 | ImGui_ImplGlfw_ContextMap_Remove正常系テスト | E-03（行188） | ○ |
| C-73 | ImGui_ImplGlfw_ContextMap_Remove存在しないエントリテスト | E-03（行188） | ○ |
| C-74 | ImGui_ImplGlfw_ContextMap_Get正常系テスト | E-03（行189） | ○ |
| C-75 | ImGui_ImplGlfw_ContextMap_Get未登録テスト | E-03（行189） | ○ |
| C-76 | ImGui_ImplGlfw_IsWayland Wayland検出テスト | E-06 | ○ |
| C-77 | ImGui_ImplGlfw_IsWayland非Wayland検出テスト | E-06（行259） | ○ |
| C-78 | ImGui_ImplGlfw_TranslateUntranslatedKeyテンキーテスト | E-12（行455-456） | ○ |
| C-79 | ImGui_ImplGlfw_TranslateUntranslatedKey小文字テスト | E-12（行470） | ○ |
| C-80 | ImGui_ImplGlfw_TranslateUntranslatedKey数字テスト | E-12（行468） | ○ |
| C-81 | ImGui_ImplGlfw_GetWindowSizeAndFramebufferScale正常系テスト | E-30 | ○ |
| C-82 | ImGui_ImplGlfw_GetWindowSizeAndFramebufferScaleゼロサイズテスト | E-30（行989-990） | ○ |
| C-83 | ImGui_ImplGlfw_ShouldChainCallback全ウィンドウテスト | E-09（行416） | ○ |
| C-84 | ImGui_ImplGlfw_ShouldChainCallbackメインウィンドウテスト | E-09（行416） | ○ |
| C-85 | ImGui_ImplGlfw_ShouldChainCallback非メインウィンドウテスト | E-09（行416） | ○ |

## 4) 不足情報（Unknown / Missing）
- 全テストケースに根拠あり。追加情報の必要なし。

## 5) リスクフラグ（レビュー観点）
- **リスク0（低リスク）**: キー変換、基本コールバック処理
  - 単純なswitch-case文やif文による処理で、テストが容易
- **リスク1（中リスク）**: マルチコンテキスト対応、コールバックチェーン
  - 複数のImGuiコンテキストを使用する際の動作確認が必要
  - ユーザーコールバックとの連携テストが必要
- **リスク2（高リスク）**: プラットフォーム依存コード
  - Windows専用のWndProcフック（行588-606）
  - Wayland/X11の検出ロジック（行256-272）
  - Emscripten専用コード（行557-574, 660-666, 1036-1086）
  - これらは実機またはエミュレータでのテストが必要

## 6) レビュアーチェックリスト（最小）
- [ ] 初期化・終了処理のテストケースが正常系・異常系両方をカバーしているか確認
- [ ] キー変換テストケースが全キーカテゴリ（数字、アルファベット、ファンクション、修飾、テンキー）をカバーしているか確認
- [ ] コールバック関数のテストケースがユーザーコールバックチェーンを考慮しているか確認
- [ ] プラットフォーム依存コード（Windows/macOS/Linux/Emscripten）の分岐がテストされているか確認
- [ ] 境界値テスト（時間の非単調増加、ウィンドウサイズ0、無効なボタン番号など）が含まれているか確認
- [ ] ゲームパッド入力のテストケースがGLFW 3.3+ APIとレガシーAPIの両方を考慮しているか確認
