---
generated_at: 2026-02-17 12:40:00
metrics:
  claims_total: 35
  claims_with_evidence: 35
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: 59-terminal（ターミナル制御）

## サマリー

本レポートは機能設計書「59-terminal（ターミナル制御）」の記載内容について、ソースコードに基づく根拠を示す。全35件の主張がすべてソースコードで確認可能であり、信頼度は1.00と評価される。

## Evidence一覧

| Evidence ID | ファイル | 行番号 | 内容 |
|------------|---------|--------|------|
| E-001 | lib/pure/terminal.nim | 10-13 | モジュール説明「ターミナル制御」 |
| E-002 | lib/pure/terminal.nim | 11 | UNIXでANSIエスケープシーケンス使用 |
| E-003 | lib/pure/terminal.nim | 12 | WindowsでWindows API使用 |
| E-004 | lib/pure/terminal.nim | 72-81 | PTerminal型定義 |
| E-005 | lib/pure/terminal.nim | 83 | gTermスレッドローカル変数 |
| E-006 | lib/pure/terminal.nim | 96-100 | ANSIエスケープコード定数 |
| E-007 | lib/pure/terminal.nim | 176-183 | terminalWidth Windows実装 |
| E-008 | lib/pure/terminal.nim | 336-364 | terminalWidth POSIX実装 |
| E-009 | lib/pure/terminal.nim | 185-192 | terminalHeight Windows実装 |
| E-010 | lib/pure/terminal.nim | 366-398 | terminalHeight POSIX実装 |
| E-011 | lib/pure/terminal.nim | 415-420 | hideCursor |
| E-012 | lib/pure/terminal.nim | 422-427 | showCursor |
| E-013 | lib/pure/terminal.nim | 429-436 | setCursorPos |
| E-014 | lib/pure/terminal.nim | 470-481 | cursorUp |
| E-015 | lib/pure/terminal.nim | 483-494 | cursorDown |
| E-016 | lib/pure/terminal.nim | 496-507 | cursorForward |
| E-017 | lib/pure/terminal.nim | 509-520 | cursorBackward |
| E-018 | lib/pure/terminal.nim | 553-577 | eraseLine |
| E-019 | lib/pure/terminal.nim | 579-599 | eraseScreen |
| E-020 | lib/pure/terminal.nim | 606-617 | resetAttributes |
| E-021 | lib/pure/terminal.nim | 619-629 | Style enum |
| E-022 | lib/pure/terminal.nim | 641-654 | setStyle |
| E-023 | lib/pure/terminal.nim | 673-684 | ForegroundColor enum |
| E-024 | lib/pure/terminal.nim | 686-696 | BackgroundColor enum |
| E-025 | lib/pure/terminal.nim | 701-728 | setForegroundColor |
| E-026 | lib/pure/terminal.nim | 730-757 | setBackgroundColor |
| E-027 | lib/pure/terminal.nim | 803-816 | isatty |
| E-028 | lib/pure/terminal.nim | 818-822 | TerminalCmd enum |
| E-029 | lib/pure/terminal.nim | 840-867 | styledWriteマクロ |
| E-030 | lib/pure/terminal.nim | 869-876 | styledWriteLine |
| E-031 | lib/pure/terminal.nim | 878-880 | styledEcho |
| E-032 | lib/pure/terminal.nim | 882-902 | getch |
| E-033 | lib/pure/terminal.nim | 905-948 | readPasswordFromStdin |
| E-034 | lib/pure/terminal.nim | 984-1015 | enableTrueColors |
| E-035 | lib/pure/terminal.nim | 1017-1029 | disableTrueColors |

## Claims対応表

| Claim ID | 主張内容 | Evidence ID | 検証結果 |
|----------|---------|-------------|---------|
| C-001 | terminalモジュールはターミナル制御を提供 | E-001 | 確認済 |
| C-002 | UNIXではANSIエスケープシーケンスを使用 | E-002 | 確認済 |
| C-003 | WindowsではWindows APIを使用 | E-003 | 確認済 |
| C-004 | PTerminal型でターミナル状態を管理 | E-004 | 確認済 |
| C-005 | gTermはスレッドローカル | E-005 | 確認済 |
| C-006 | ansiResetCodeは\e[0m | E-006 | 確認済（98行） |
| C-007 | terminalWidthはターミナル幅を返す | E-007, E-008 | 確認済 |
| C-008 | terminalHeightはターミナル高を返す | E-009, E-010 | 確認済 |
| C-009 | hideCursorでカーソル非表示 | E-011 | 確認済 |
| C-010 | showCursorでカーソル表示 | E-012 | 確認済 |
| C-011 | setCursorPosでカーソル位置設定 | E-013 | 確認済 |
| C-012 | cursorUpでカーソル上移動 | E-014 | 確認済 |
| C-013 | cursorDownでカーソル下移動 | E-015 | 確認済 |
| C-014 | cursorForwardでカーソル前移動 | E-016 | 確認済 |
| C-015 | cursorBackwardでカーソル後移動 | E-017 | 確認済 |
| C-016 | eraseLineで行消去 | E-018 | 確認済 |
| C-017 | eraseScreenで画面消去 | E-019 | 確認済 |
| C-018 | resetAttributesで属性リセット | E-020 | 確認済 |
| C-019 | Style enumでスタイル定義 | E-021 | 確認済 |
| C-020 | styleBright=1から開始 | E-021 | 確認済（621行） |
| C-021 | setStyleでスタイル設定 | E-022 | 確認済 |
| C-022 | ForegroundColor enumで前景色定義 | E-023 | 確認済 |
| C-023 | fgBlack=30から開始 | E-023 | 確認済（675行） |
| C-024 | BackgroundColor enumで背景色定義 | E-024 | 確認済 |
| C-025 | bgBlack=40から開始 | E-024 | 確認済（687行） |
| C-026 | setForegroundColorで前景色設定 | E-025 | 確認済 |
| C-027 | setBackgroundColorで背景色設定 | E-026 | 確認済 |
| C-028 | isattyでターミナル判定 | E-027 | 確認済 |
| C-029 | TerminalCmd enumでコマンド定義 | E-028 | 確認済 |
| C-030 | styledWriteマクロで可変引数処理 | E-029 | 確認済 |
| C-031 | styledWriteLineで改行付き出力 | E-030 | 確認済 |
| C-032 | styledEchoでstdout出力 | E-031 | 確認済 |
| C-033 | getchでエコーなしキー入力 | E-032 | 確認済 |
| C-034 | readPasswordFromStdinでパスワード入力 | E-033 | 確認済 |
| C-035 | enableTrueColorsでTrue Color有効化 | E-034 | 確認済 |

## 不足情報

| 項目 | 説明 | 影響度 |
|------|------|--------|
| なし | すべての主張がソースコードで確認可能 | - |

## リスクフラグ

| リスク | 説明 | 対応策 |
|--------|------|--------|
| スタイル永続化 | プログラム終了後もスタイルが残る | resetAttributesをexitprocに登録 |
| カーソル非表示 | showCursor呼び忘れでカーソルが消える | finally/deferで確実に復元 |
| rawモード | getch後にターミナルが異常状態 | 元のモードを確実に復元 |
| ANSI非対応ターミナル | エスケープシーケンスがそのまま表示 | isatty確認後に使用 |
| True Color非対応 | 色が正しく表示されない | isTrueColorSupportedで確認 |

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

- [x] PTerminal型の説明がソースコードと一致している
- [x] ANSIエスケープコード定数が正確である
- [x] カーソル操作関数の説明が正確である
- [x] 画面消去関数の説明が正確である
- [x] Style/ForegroundColor/BackgroundColor enumが正確である
- [x] setForegroundColor/setBackgroundColorの説明が正確である
- [x] styledWriteマクロの説明が正確である
- [x] getch/readPasswordFromStdinの説明が正確である
- [x] enableTrueColors/disableTrueColorsの説明が正確である
- [x] コードリーディングガイドの行番号が正確である
