---
generated_at: 2026-02-22 15:10:00
metrics:
  claims_total: 25
  claims_with_evidence: 23
  claims_without_evidence: 2
confidence_derived: 0.92
---

# 根拠レポート：API設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.92**
  - 根拠あり：23 / 25、根拠なし：2
- 優先レビュー（高）
  1. **KeyEventMessageのPhysicalKey/KeySymbol仕様**：コード内に定義あるが詳細な値の範囲は未確認
  2. **BSON/TCP通信の詳細プロトコル仕様**：実装から推測、公式仕様書なし

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

- E-01: `src/Avalonia.Remote.Protocol/TransportMessages.cs`
- E-02: `src/Avalonia.Remote.Protocol/DesignMessages.cs`
- E-03: `src/Avalonia.Remote.Protocol/ViewportMessages.cs`
- E-04: `src/Avalonia.Remote.Protocol/InputMessages.cs`
- E-05: `src/Avalonia.Remote.Protocol/ITransport.cs`
- E-06: `src/Avalonia.Remote.Protocol/BsonTcpTransport.cs`
- E-07: `src/Avalonia.Remote.Protocol/AvaloniaRemoteMessageGuidAttribute.cs`
- E-08: `src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs`
- E-09: `src/Avalonia.DesignerSupport/Remote/HtmlTransport/webapp/src/PreviewerServerConnection.ts`

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | HtmlTransportStartedMessage のGUID `53778004-78fa-4381-8ec3-176a6f2328b6` | E-01 | ○ |
| C-02 | HtmlTransportStartedMessage の Uri プロパティ | E-01 | ○ |
| C-03 | UpdateXamlMessage のGUID `9AEC9A2E-6315-4066-B4BA-E9A9EFD0F8CC` | E-02 | ○ |
| C-04 | UpdateXamlMessage のプロパティ（Xaml, AssemblyPath, XamlFileProjectPath） | E-02 | ○ |
| C-05 | UpdateXamlResultMessage のGUID `B7A70093-0C5D-47FD-9261-22086D43A2E2` | E-02 | ○ |
| C-06 | UpdateXamlResultMessage のプロパティ（Error, Handle, Exception） | E-02 | ○ |
| C-07 | ExceptionDetails の構造（ExceptionType, Message, LineNumber, LinePosition） | E-02 | ○ |
| C-08 | StartDesignerSessionMessage のGUID `854887CF-2694-4EB6-B499-7461B6FB96C7` | E-02 | ○ |
| C-09 | MeasureViewportMessage のGUID `6E3C5310-E2B1-4C3D-8688-01183AA48C5B` | E-03 | ○ |
| C-10 | ClientViewportAllocatedMessage のGUID `BD7A8DE6-3DB8-4C13-8583-D6D4AB189A31` | E-03 | ○ |
| C-11 | RequestViewportResizeMessage のGUID `9B47B3D8-61DF-4C38-ACD4-8C1BB72554AC` | E-03 | ○ |
| C-12 | ClientSupportedPixelFormatsMessage のGUID `63481025-7016-43FE-BADC-F2FD0F88609E` | E-03 | ○ |
| C-13 | PixelFormat 列挙型（Rgb565, Rgba8888, Bgra8888） | E-03 | ○ |
| C-14 | ClientRenderInfoMessage のGUID `7A3c25d3-3652-438D-8EF1-86E942CC96C0` | E-03 | ○ |
| C-15 | FrameMessage のGUID `F58313EE-FE69-4536-819D-F52EDF201A0E` | E-03 | ○ |
| C-16 | FrameReceivedMessage のGUID `68014F8A-289D-4851-8D34-5367EDA7F827` | E-03 | ○ |
| C-17 | PointerMovedEventMessage のGUID `6228F0B9-99F2-4F62-A621-414DA2881648` | E-04 | ○ |
| C-18 | PointerPressedEventMessage のGUID `7E9E2818-F93F-411A-800E-6B1AEB11DA46` | E-04 | ○ |
| C-19 | PointerReleasedEventMessage のGUID `4ADC84EE-E7C8-4BCF-986C-DE3A2F78EDE4` | E-04 | ○ |
| C-20 | ScrollEventMessage のGUID `79301A05-F02D-4B90-BB39-472563B504AE` | E-04 | ○ |
| C-21 | KeyEventMessage のGUID `1C3B691E-3D54-4237-BFB0-9FEA83BC1DB8` | E-04 | ○ |
| C-22 | TextInputEventMessage のGUID `C174102E-7405-4594-916F-B10B8248A17D` | E-04 | ○ |
| C-23 | InputModifiers 列挙型の定義 | E-04 | ○ |
| C-24 | WebSocket通信でのフレームメッセージ形式 `frame:{sequenceId}:{width}...` | E-08, E-09 | ○ |
| C-25 | KeyEventMessage の Key/PhysicalKey の詳細な値範囲 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- **Key/PhysicalKey 列挙型の完全な定義**
  - InputMessages.cs では Key と PhysicalKey 型を参照しているが、その定義は別ファイル（Avalonia.Base内）にあり、本解析では完全な値一覧を確認していない
  - 候補：`src/Avalonia.Base/Input/Key.cs` / `src/Avalonia.Base/Input/PhysicalKey.cs`
- **BSON シリアライゼーションの詳細仕様**
  - BsonTcpTransport は MetsysBson を使用しているが、詳細なシリアライゼーション形式は実装依存
  - 候補：`src/Avalonia.Remote.Protocol/MetsysBson.cs`

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - メッセージGUID、プロパティ名、基本型情報（ソースコードから直接確認可能）
- **1: 中リスク** - WebSocket通信形式（実装コードから推測、テストで検証推奨）
- **1: 中リスク** - エラーハンドリング詳細（ExceptionDetails の生成条件など）

## 6) レビュアーチェックリスト（最小）
- [ ] メッセージGUIDがソースコードと一致することを確認
- [ ] 各メッセージのプロパティ名・型がソースコードと一致することを確認
- [ ] WebSocketメッセージ形式が HtmlTransport.cs の ParseMessage メソッドと整合していることを確認
- [ ] InputModifiers/MouseButton 列挙型の値がソースコードと一致することを確認
- [ ] 実際のデザイナープレビュー機能を使用して通信が正常に動作することをテスト
