---
generated_at: 2026-02-22 15:57:00
metrics:
  claims_total: 35
  claims_with_evidence: 33
  claims_without_evidence: 2
confidence_derived: 0.94
---

# 根拠レポート：アーキテクチャ設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.94**
  - 根拠あり：33 / 35、根拠なし：2
- 優先レビュー（高）
  1. **C-34 Zero-cost abstraction回避の設計原則**：コード上の明示的な記述はないが、README/imgui.cppのコメントから推測
  2. **C-35 トランザクション管理なし**：確認的根拠なし（機能が存在しないことの証明）

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

- E-01: `imgui.h` (行1-500) - パブリックAPI宣言、バージョン情報
- E-02: `imgui.cpp` (行1-300) - コア実装、ドキュメントコメント
- E-03: `imgui_internal.h` (行1-300) - 内部API/構造体宣言
- E-04: `imgui_draw.cpp` (行1-150) - 描画/フォント実装
- E-05: `imgui_widgets.cpp` (行1-100) - ウィジェット実装
- E-06: `imgui_tables.cpp` (行1-100) - テーブル/カラム実装
- E-07: `imconfig.h` (全体) - コンパイル時設定
- E-08: `docs/README.md` (全体) - プロジェクト概要
- E-09: `docs/BACKENDS.md` (行1-200) - バックエンド説明
- E-10: `backends/` ディレクトリ - バックエンド実装ファイル一覧
- E-11: `backends/imgui_impl_opengl3.cpp` (行1-100) - レンダラーバックエンド例

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Dear ImGuiはVersion 1.92.7 WIP | E-01 (行32: IMGUI_VERSION "1.92.7 WIP") | ○ |
| C-02 | Immediate Mode GUI (IMGUI) パラダイムを採用 | E-02 (行212-216), E-08 (README) | ○ |
| C-03 | C++で実装されたGUIライブラリ | E-01, E-02 (ソースコード全体) | ○ |
| C-04 | Platform Backendがマウス/キーボード入力を処理 | E-09 (行29, 57-58) | ○ |
| C-05 | Renderer Backendがテクスチャ/描画を処理 | E-09 (行30-31, 60-61) | ○ |
| C-06 | stb_truetypeをフォントラスタライズに使用 | E-03 (行126-130), E-04 (行140-150) | ○ |
| C-07 | FreeTypeがオプションで利用可能 | E-07 (行85-89), E-04 (行39-41) | ○ |
| C-08 | ImGuiContextが中央コンテキスト | E-01 (行192), E-03 (行152) | ○ |
| C-09 | ImGuiIOが入出力設定を保持 | E-01 (行193) | ○ |
| C-10 | ImGuiStyleがスタイリング設定を保持 | E-01 (行208) | ○ |
| C-11 | ImDrawListが描画コマンドリストを表現 | E-01 (行174) | ○ |
| C-12 | ImDrawDataがフレームの全描画データを保持 | E-01 (行173) | ○ |
| C-13 | ImFontAtlasがフォントテクスチャを管理 | E-01 (行179) | ○ |
| C-14 | imgui_widgets.cppがウィジェットを実装 | E-05 (行1-33: セクションインデックス) | ○ |
| C-15 | imgui_tables.cppがテーブル機能を実装 | E-06 (行1-24: セクションインデックス) | ○ |
| C-16 | imgui_draw.cppが描画機能を実装 | E-04 (行1-26: セクションインデックス) | ○ |
| C-17 | backendsディレクトリにバックエンド実装が存在 | E-10 (ディレクトリ一覧) | ○ |
| C-18 | Win32, GLFW, SDL2/SDL3等のプラットフォームバックエンドが存在 | E-10, E-09 (行77-83) | ○ |
| C-19 | DirectX, OpenGL, Vulkan, Metal等のレンダラーバックエンドが存在 | E-10, E-09 (行87-98) | ○ |
| C-20 | フレームループはNewFrame -> UI定義 -> Render -> GetDrawData | E-02 (行294-300) | ○ |
| C-21 | imgui_internal.hを経由して内部構造にアクセス可能 | E-03 (行3-5) | ○ |
| C-22 | imgui_internal.hの後方互換性は保証されない | E-03 (行3-5) | ○ |
| C-23 | stb_rect_packをテクスチャパッキングに使用 | E-04 (行126-137) | ○ |
| C-24 | stb_texteditをテキスト編集に使用 | E-01 (imstb_textedit.hの存在) | ○ |
| C-25 | imconfig.hでコンパイル時設定が可能 | E-07 (全体) | ○ |
| C-26 | IM_ASSERTでプログラマミスを検出 | E-01 (行94-97), E-07 (行17-21) | ○ |
| C-27 | .iniファイルで設定を永続化 | E-02 (行95: [SECTION] SETTINGS) | ○ |
| C-28 | ShowDebugLogWindow等のデバッグツールが存在 | E-01 (行409-410) | ○ |
| C-29 | ShowMetricsWindowでメトリクス表示 | E-01 (行408) | ○ |
| C-30 | DLL使用は非推奨 | E-01 (行82-85), E-07 (行23-29) | ○ |
| C-31 | 複数コンテキストをサポート | E-01 (行388-395) | ○ |
| C-32 | MITライセンス | E-02 (行32) | ○ |
| C-33 | Omar Cornutが開発者 | E-02 (行30-31), E-08 (行214) | ○ |
| C-34 | Zero-cost abstraction回避の設計原則 | E-02 (行220-228コメント) | △ |
| C-35 | トランザクション管理機能なし | **根拠なし** (機能不存在の確認) | △ |

## 4) 不足情報（Unknown / Missing）
- **C-34 (Zero-cost abstraction回避)**：コード上の明示的なポリシー記述はなく、imgui.cppのコメント（行220-228）での説明に基づく推測
  - 候補：開発者ブログ / GitHub Issueでの議論 / docking branchのドキュメント
- **C-35 (トランザクション管理なし)**：存在しない機能の確認は困難。コードベース全体を検索しても該当機能が見つからなかったことが根拠
  - 候補：FAQ / GitHub Issue検索

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - バージョン情報、ファイル構成、API構造など客観的事実に基づく主張
- **0: 低リスク** - バックエンド一覧、コンポーネント構成など、ディレクトリ/ファイル構造から確認可能
- **1: 中リスク** - IMGUIパラダイムの説明、設計原則など解釈を含む主張
- **0: 低リスク** - ライセンス、開発者情報など公式情報から確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] バージョン番号 (1.92.7 WIP, 19262) が最新のソースコードと一致しているか
- [ ] バックエンド一覧が backends/ ディレクトリの実際の内容と一致しているか
- [ ] レイヤー構成図がコードの実際の依存関係を正確に反映しているか
- [ ] フレームループシーケンスが examples/ のサンプルコードと整合しているか
- [ ] 「N/A」と記載した項目（DB、MQ、認証等）が本当に存在しないか再確認
- [ ] imgui_internal.h の互換性に関する警告が現在も有効か確認
