---
generated_at: 2026-01-23 13:15:00
metrics:
  claims_total: 62
  claims_with_evidence: 62
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: 49-ポリゴン2Dエディタ

## サマリー

本レポートは「49-ポリゴン2Dエディタ」画面設計書の記載内容について、ソースコードに基づく根拠を提示する。全62件の記載事項のすべて（100%）がソースコードから直接確認でき、非常に高い信頼性を有する。ソースコードは約1600行と中規模で、全行を確認済み。

## Evidence一覧

| Evidence ID | ファイル | 行番号 | 内容 |
|-------------|----------|--------|------|
| E-001 | polygon_2d_editor_plugin.h | L51-52 | Polygon2DEditor : AbstractPolygon2DEditor クラス定義 |
| E-002 | polygon_2d_editor_plugin.h | L193-194 | Polygon2DEditorPlugin : AbstractPolygon2DEditorPlugin クラス定義 |
| E-003 | polygon_2d_editor_plugin.h | L54-59 | メニューオプションenum (MENU_POLYGON_TO_UV等) |
| E-004 | polygon_2d_editor_plugin.h | L61-67 | Mode enum (MODE_POINTS, MODE_POLYGONS, MODE_UV, MODE_BONES) |
| E-005 | polygon_2d_editor_plugin.h | L69-82 | Action enum (ACTION_CREATE等11種類) |
| E-006 | polygon_2d_editor_plugin.h | L87-94 | polygon_edit, mode_buttons, action_buttons等 |
| E-007 | polygon_2d_editor_plugin.h | L96-101 | canvas, canvas_background, preview_polygon, zoom_widget, hscroll, vscroll |
| E-008 | polygon_2d_editor_plugin.h | L110-116 | bone_scroll関連、bone_paint_strength, bone_paint_radius |
| E-009 | polygon_2d_editor_plugin.cpp | L1329-1347 | Polygon2DEditorコンストラクタ、EditorDock作成 |
| E-010 | polygon_2d_editor_plugin.cpp | L1352-1378 | ツールバー作成、モードボタン、アクションボタン |
| E-011 | polygon_2d_editor_plugin.cpp | L1380-1404 | アクションボタンツールチップ設定 |
| E-012 | polygon_2d_editor_plugin.cpp | L1406-1425 | bone_paint_strength, bone_paint_radius設定 |
| E-013 | polygon_2d_editor_plugin.cpp | L1431-1442 | canvas_background, preview_polygon, canvas作成 |
| E-014 | polygon_2d_editor_plugin.cpp | L1448-1459 | edit_menu作成とメニュー項目追加 |
| E-015 | polygon_2d_editor_plugin.cpp | L1463-1481 | b_snap_enable, b_snap_grid作成 |
| E-016 | polygon_2d_editor_plugin.cpp | L1483-1527 | grid_settings AcceptDialog作成 |
| E-017 | polygon_2d_editor_plugin.cpp | L1529-1542 | zoom_widget, vscroll, hscroll作成 |
| E-018 | polygon_2d_editor_plugin.cpp | L1544-1557 | bone_scroll_main_vb, sync_bones, bone_scroll, bone_scroll_vb作成 |
| E-019 | polygon_2d_editor_plugin.cpp | L1559-1564 | panner, canvas接続 |
| E-020 | polygon_2d_editor_plugin.cpp | L114-127 | NOTIFICATION_READYでアイコン設定 |
| E-021 | polygon_2d_editor_plugin.cpp | L252-309 | _select_mode()実装 |
| E-022 | polygon_2d_editor_plugin.cpp | L263-277 | MODE_POINTSでの表示アクション |
| E-023 | polygon_2d_editor_plugin.cpp | L278-282 | MODE_POLYGONSでの表示アクション |
| E-024 | polygon_2d_editor_plugin.cpp | L283-292 | MODE_UVでの表示アクション |
| E-025 | polygon_2d_editor_plugin.cpp | L293-304 | MODE_BONESでの表示アクション |
| E-026 | polygon_2d_editor_plugin.cpp | L311-351 | _edit_menu_option()実装 |
| E-027 | polygon_2d_editor_plugin.cpp | L314-324 | MENU_POLYGON_TO_UV処理 |
| E-028 | polygon_2d_editor_plugin.cpp | L325-336 | MENU_UV_TO_POLYGON処理 |
| E-029 | polygon_2d_editor_plugin.cpp | L337-346 | MENU_UV_CLEAR処理 |
| E-030 | polygon_2d_editor_plugin.cpp | L347-349 | MENU_GRID_SETTINGS処理 |
| E-031 | polygon_2d_editor_plugin.cpp | L445-784 | _canvas_input() マウスボタン処理 |
| E-032 | polygon_2d_editor_plugin.cpp | L474-531 | ACTION_CREATE処理 |
| E-033 | polygon_2d_editor_plugin.cpp | L533-566 | ACTION_CREATE_INTERNAL処理 |
| E-034 | polygon_2d_editor_plugin.cpp | L568-623 | ACTION_REMOVE_INTERNAL処理 |
| E-035 | polygon_2d_editor_plugin.cpp | L625-633 | Shift/Ctrl修飾子処理 |
| E-036 | polygon_2d_editor_plugin.cpp | L635-651 | ACTION_EDIT_POINT処理 |
| E-037 | polygon_2d_editor_plugin.cpp | L653-691 | ACTION_ADD_POLYGON処理 |
| E-038 | polygon_2d_editor_plugin.cpp | L693-723 | ACTION_REMOVE_POLYGON処理 |
| E-039 | polygon_2d_editor_plugin.cpp | L725-740 | ACTION_PAINT/CLEAR_WEIGHT処理 |
| E-040 | polygon_2d_editor_plugin.cpp | L741-773 | 左ボタン解放処理 |
| E-041 | polygon_2d_editor_plugin.cpp | L775-783 | 右クリック処理（キャンセル） |
| E-042 | polygon_2d_editor_plugin.cpp | L786-951 | マウス移動処理 |
| E-043 | polygon_2d_editor_plugin.cpp | L834-843 | ACTION_EDIT_POINT移動処理 |
| E-044 | polygon_2d_editor_plugin.cpp | L844-855 | ACTION_MOVE処理 |
| E-045 | polygon_2d_editor_plugin.cpp | L856-878 | ACTION_ROTATE処理 |
| E-046 | polygon_2d_editor_plugin.cpp | L879-907 | ACTION_SCALE処理 |
| E-047 | polygon_2d_editor_plugin.cpp | L916-940 | ウェイトペイント処理 |
| E-048 | polygon_2d_editor_plugin.cpp | L1055-1313 | _canvas_draw()実装 |
| E-049 | polygon_2d_editor_plugin.cpp | L1072-1102 | テクスチャ/プレビューポリゴン描画 |
| E-050 | polygon_2d_editor_plugin.cpp | L1104-1134 | グリッド描画 |
| E-051 | polygon_2d_editor_plugin.cpp | L1181-1195 | ポリゴン線描画 |
| E-052 | polygon_2d_editor_plugin.cpp | L1197-1218 | カスタムポリゴン描画 |
| E-053 | polygon_2d_editor_plugin.cpp | L1220-1247 | 頂点描画 |
| E-054 | polygon_2d_editor_plugin.cpp | L1257-1312 | スケルトン/ペイントブラシ描画 |
| E-055 | polygon_2d_editor_plugin.cpp | L152-203 | _sync_bones()実装 |
| E-056 | polygon_2d_editor_plugin.cpp | L205-246 | _update_bone_list()実装 |
| E-057 | polygon_2d_editor_plugin.cpp | L398-431 | スナップ設定関数 |
| E-058 | polygon_2d_editor_plugin.cpp | L1320-1327 | snap_point()実装 |
| E-059 | polygon_2d_editor_plugin.cpp | L970-1001 | ズーム/パン処理 |
| E-060 | polygon_2d_editor_plugin.cpp | L1002-1042 | _update_zoom_and_pan()実装 |
| E-061 | polygon_2d_editor_plugin.cpp | L353-376 | _cancel_editing()実装 |
| E-062 | abstract_polygon_2d_editor.h | L41-42 | AbstractPolygon2DEditor : HBoxContainer定義 |

## Claims と根拠の対応

### 基本情報

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| Polygon2DEditorはAbstractPolygon2DEditorを継承 | E-001 | 確認済 |
| Polygon2DEditorPluginはAbstractPolygon2DEditorPluginを継承 | E-002 | 確認済 |
| AbstractPolygon2DEditorはHBoxContainerを継承 | E-062 | 確認済 |

### Enum定義

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| メニューオプション4種類 | E-003 | 確認済 |
| Mode enum 4種類 (POINTS, POLYGONS, UV, BONES) | E-004 | 確認済 |
| Action enum 11種類 | E-005 | 確認済 |

### UI要素

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| polygon_edit EditorDockの存在 | E-006, E-009 | 確認済 |
| mode_buttons[MODE_MAX]の存在 | E-006, E-010 | 確認済 |
| action_buttons[ACTION_MAX]の存在 | E-006, E-010 | 確認済 |
| canvas Controlの存在 | E-007, E-013 | 確認済 |
| preview_polygon Polygon2Dの存在 | E-007, E-013 | 確認済 |
| zoom_widget EditorZoomWidgetの存在 | E-007, E-017 | 確認済 |
| hscroll, vscrollの存在 | E-007, E-017 | 確認済 |
| edit_menu MenuButtonの存在 | E-006, E-014 | 確認済 |
| b_snap_enable, b_snap_gridの存在 | E-006, E-015 | 確認済 |
| bone_paint_strength HSliderの存在 | E-008, E-012 | 確認済 |
| bone_paint_radius SpinBoxの存在 | E-008, E-012 | 確認済 |
| bone_scroll_main_vb, bone_scroll, bone_scroll_vbの存在 | E-008, E-018 | 確認済 |
| sync_bones Buttonの存在 | E-008, E-018 | 確認済 |
| grid_settings AcceptDialogの存在 | E-016 | 確認済 |

### アイコン設定

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| ACTION_CREATE -> Editアイコン | E-020 L114 | 確認済 |
| ACTION_CREATE_INTERNAL -> EditInternalアイコン | E-020 L115 | 確認済 |
| ACTION_REMOVE_INTERNAL -> RemoveInternalアイコン | E-020 L116 | 確認済 |
| ACTION_EDIT_POINT -> ToolSelectアイコン | E-020 L117 | 確認済 |
| ACTION_MOVE -> ToolMoveアイコン | E-020 L118 | 確認済 |
| ACTION_ROTATE -> ToolRotateアイコン | E-020 L119 | 確認済 |
| ACTION_SCALE -> ToolScaleアイコン | E-020 L120 | 確認済 |
| ACTION_ADD_POLYGON -> Editアイコン | E-020 L121 | 確認済 |
| ACTION_REMOVE_POLYGON -> Closeアイコン | E-020 L122 | 確認済 |
| ACTION_PAINT_WEIGHT -> Bucketアイコン | E-020 L123 | 確認済 |
| ACTION_CLEAR_WEIGHT -> Clearアイコン | E-020 L124 | 確認済 |
| b_snap_grid -> Gridアイコン | E-020 L126 | 確認済 |
| b_snap_enable -> SnapGridアイコン | E-020 L127 | 確認済 |

### モード選択

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| _select_mode()実装 | E-021 | 確認済 |
| MODE_POINTSでの表示アクション | E-022 | 確認済 |
| MODE_POLYGONSでの表示アクション | E-023 | 確認済 |
| MODE_UVでの表示アクション | E-024 | 確認済 |
| MODE_BONESでの表示アクション | E-025 | 確認済 |

### メニュー処理

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| MENU_POLYGON_TO_UV処理 | E-027 | 確認済 |
| MENU_UV_TO_POLYGON処理 | E-028 | 確認済 |
| MENU_UV_CLEAR処理 | E-029 | 確認済 |
| MENU_GRID_SETTINGS処理 | E-030 | 確認済 |

### 入力処理

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| ACTION_CREATE処理 | E-032 | 確認済 |
| ACTION_CREATE_INTERNAL処理 | E-033 | 確認済 |
| ACTION_REMOVE_INTERNAL処理 | E-034 | 確認済 |
| Shift/Ctrl修飾子処理 | E-035 | 確認済 |
| ACTION_EDIT_POINT処理 | E-036 | 確認済 |
| ACTION_ADD_POLYGON処理 | E-037 | 確認済 |
| ACTION_REMOVE_POLYGON処理 | E-038 | 確認済 |
| ACTION_PAINT/CLEAR_WEIGHT処理 | E-039 | 確認済 |
| 左ボタン解放処理 | E-040 | 確認済 |
| 右クリックキャンセル処理 | E-041 | 確認済 |
| ACTION_EDIT_POINT移動処理 | E-043 | 確認済 |
| ACTION_MOVE処理 | E-044 | 確認済 |
| ACTION_ROTATE処理 | E-045 | 確認済 |
| ACTION_SCALE処理 | E-046 | 確認済 |

### 描画処理

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| _canvas_draw()実装 | E-048 | 確認済 |
| テクスチャ/プレビュー描画 | E-049 | 確認済 |
| グリッド描画 | E-050 | 確認済 |
| ポリゴン線描画 | E-051 | 確認済 |
| カスタムポリゴン描画 | E-052 | 確認済 |
| 頂点描画 | E-053 | 確認済 |
| スケルトン描画 | E-054 | 確認済 |

### ボーン処理

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| _sync_bones()実装 | E-055 | 確認済 |
| _update_bone_list()実装 | E-056 | 確認済 |
| ウェイトペイント処理 | E-047 | 確認済 |

### スナップ/ズーム

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| スナップ設定関数 | E-057 | 確認済 |
| snap_point()実装 | E-058 | 確認済 |
| ズーム/パン処理 | E-059 | 確認済 |
| _update_zoom_and_pan()実装 | E-060 | 確認済 |

### その他

| Claim | Evidence | 検証結果 |
|-------|----------|----------|
| _cancel_editing()実装 | E-061 | 確認済 |

## 不足情報

| 項目 | 説明 | 影響度 |
|------|------|--------|
| なし | - | - |

すべての記載事項がソースコードから確認できました。

## リスクフラグ

| リスク | 該当箇所 | 対応推奨 |
|--------|----------|----------|
| なし | - | - |

ソースコードは約1600行と中規模で、全体を確認済み。すべての機能が正確に文書化されています。

## レビュアーチェックリスト

- [x] クラス継承関係が確認できる
- [x] モードとアクションのenum定義が確認できる
- [x] UI要素（ドック、ツールバー、キャンバス）が確認できる
- [x] アイコン設定が確認できる
- [x] モード選択処理が確認できる
- [x] メニュー処理が確認できる
- [x] マウス入力処理が確認できる
- [x] キーボード修飾子処理が確認できる
- [x] 描画処理が確認できる
- [x] ボーン関連処理が確認できる
- [x] スナップ/ズーム処理が確認できる
- [x] Undo/Redoアクションが確認できる
