# 05_TECH — エンジニア向けの技術設計 (Technical Design Docs)

このディレクトリには **エンジニア向けの技術設計ドキュメント** が集まっている．3 種類のドキュメントが混在するので，**最初にこの README で位置付けを確認**するのが効率的．

## 種類分類

| アイコン | 種類 | 性質 | 読み方 |
| --- | --- | --- | --- |
| 🟢 | **現状方針（結論集約）** | 永続的，変更時のみ更新 | **「今どうなっているか」を知りたい人はここから** |
| 🔵 | **議論の経緯（過程記録）** | 履歴的，原則更新しない | **「なぜそうなったか」を辿るためのドキュメント** |

## 🟢 まず読むべき — 現状方針（3 ファイル）

SmTIAS-LightSim プロジェクトの **現状の設計判断・取り扱い方針** をここに集約している．「今どうなっているか」を理解したい場合はこの 3 つから読む．

| 順序 | ファイル | 内容 |
| --- | --- | --- |
| 1 | [TECH_07_LSC取り扱い方針.md](TECH_07_LSC取り扱い方針.md) | 3 プロジェクト (MiniTias / MiniTiasEval / SmTIAS-LightSim) での LSC 役割分担．シミュ側で LSC を扱わない物理的根拠．却下した代替案 3 つの理由 |
| 2 | [TECH_08_実機変更とシミュ側対応.md](TECH_08_実機変更とシミュ側対応.md) | 実機側 8 項目変更に対するシミュ側 3 層 (シーン定義 / sm-render / sm-evaluate) の対応マッピング．タイプ I (本質構造同一) / タイプ II (許容している構造的差異) の分類 |
| 3 | [TECH_09_LEDデータシート調査結果.md](TECH_09_LEDデータシート調査結果.md) | OEM 元 HONGLITRONIC データシート発見と判明事項．配光は Lambertian と数値一致．Step 8-10/8-11 試行の事後評価．SPEC_03 訂正事項 |
| 4 | [TECH_10_残差主因候補の網羅整理.md](TECH_10_残差主因候補の網羅整理.md) | Step 8-13 で確定した残差 2.63× の主因候補を 5 カテゴリ 18 項目で網羅整理．**A1/A9/D1 の検証結果を反映**．形改善の最有力は B1 幾何精度に集約．数値改善は A8 反射率 R=0.89 |
| 5 | [TECH_11_形状指標の見直しと新指標導入.md](TECH_11_形状指標の見直しと新指標導入.md) | 現状 4 指標 (CoV/勾配/C/P/動径 min/max) は「形」を構造的に区別できない問題を整理し，新 5 指標 (輝度重心/角度半径分解/SSIM/NCC/PCA) の導入を仕様化．過去判断への遡及的注記．「数値の偽物の一致」を防ぐ評価方針 |

### 主な結論（読まずに済むサマリ）

| 観点 | 結論 |
| --- | --- |
| LSC 補正 | 実機側 (MiniTiasEval) で順方向適用．**シミュ側は扱わない** (orthographic で構造的に等価) |
| ガンマ補正 | sm-evaluate で **OETF off** (実機 DNG が linear) |
| 絶対値スケール調整 | mean アンカー正規化で target_mean=207.82 に揃え |
| LED 配光モデル | **area light Lambertian (cos θ)** — データシート実測と数値一致 |
| 残差 2.63× の主因候補（優先順） | **形改善: 🥇 B1 筐体幾何精度 / 数値改善: 🥇 A8 反射率 R=0.89**．A1/A9/D1 はすべて検証完了でクリア (詳細は [TECH_10](TECH_10_残差主因候補の網羅整理.md)) |
| 評価指標の方針 | **数値 + 形 + 視覚** の 3 軸．数値 4 指標 (CoV/勾配/C/P/動径 min/max) は形を構造的に区別できないため形 5 指標 (重心/角度半径分解/SSIM/NCC/PCA) を併用 (詳細は [TECH_11](TECH_11_形状指標の見直しと新指標導入.md)) |

## 🔵 議論の経緯 — プロジェクト間ハンドオフ往復 (6 ファイル)

MiniTias 撮影アプリ + MiniTiasEval 解析ツールへの「要求 → 報告 → 回答 → 受領」のハンドオフ記録．**読まなくても現状方針 (TECH_07〜09) は理解できる**が，「なぜそういう判断になったか」を辿るときに参照する．

### 経緯マップ

```text
[MiniTias 撮影アプリへの要求と回答]
  TECH_01 (要求書) ────→ MiniTias 実装
    │                        ↓
  TECH_02 (引き継ぎ手順)   TECH_03 (実装報告 + SHADING_MODE 相談)
                              │
                              ↓
                           TECH_04 (回答書 + SHADING_MODE 判断)
                              │
                              ↓
                           ★ 結論集約 → TECH_07 LSC 取り扱い方針

[MiniTiasEval DNG 対応への要求と受領]
  TECH_05 (要求書) ────→ MiniTiasEval 実装
                              │
                              ↓
                           TECH_06 (引き継ぎ受領記録)
                              │
                              ↓
                           ★ 関連結論 → TECH_07 LSC 取り扱い方針
                                       TECH_08 対応マッピング
```

### 各ファイルの役割

| ファイル | 役割 |
| --- | --- |
| [TECH_01_定量撮影モード要求仕様.md](TECH_01_定量撮影モード要求仕様.md) | SmTIAS-LightSim → MiniTias 撮影アプリ への要求書．Camera2 API 設定変更・DNG 化等 |
| [TECH_02_MiniTIAS引き継ぎ手順.md](TECH_02_MiniTIAS引き継ぎ手順.md) | TECH_01 を MiniTias 側 Claude セッションで作業着手する際の作業ガイド |
| [TECH_03_定量モード実装報告とSHADING_MODE相談.md](TECH_03_定量モード実装報告とSHADING_MODE相談.md) | MiniTias 側からの実装報告．SHADING_MODE の扱いを SmTIAS-LightSim 側に相談 |
| [TECH_04_MiniTIASへの回答.md](TECH_04_MiniTIASへの回答.md) | TECH_03 への回答．SHADING_MODE = HIGH_QUALITY 維持を判断．フェーズ A/B 分割方針 |
| [TECH_05_MiniTiasEvaluation_DNG対応要求仕様.md](TECH_05_MiniTiasEvaluation_DNG対応要求仕様.md) | SmTIAS-LightSim → MiniTiasEval 解析ツール への要求書．`apply_lsc_*` 関連は訂正済 |
| [TECH_06_MiniTias-Evaluation引き継ぎ受領.md](TECH_06_MiniTias-Evaluation引き継ぎ受領.md) | MiniTiasEval 側からの実装受領記録．重要な設計判断 (LSC は順方向適用) を集約 |

## 関連ディレクトリ

| ディレクトリ | 役割 |
| --- | --- |
| [04_SPEC/](../04_SPEC/) | ユーザー視点の仕様書．特に `SPEC_03 基準設計の物理構成` は TECH_09 で訂正対象になっている |
| [06_TEST/](../06_TEST/) | 試行履歴・実行記録．特に [TEST_01 キャリブレーション検証履歴](../06_TEST/TEST_01_キャリブレーション検証履歴.md) は Step 8 系の主軸記録 |

## 新規ドキュメント追加のガイド

新しい TECH ドキュメントを追加するときは：

1. **どのカテゴリか判断**: 🟢 結論集約 / 🔵 過程記録
2. **連番を継続**: TECH_10, TECH_11, ...
3. **本 README に追記**: 該当カテゴリのリストに 1 行追加
4. **ファイル命名規則** に従う ([../../.claude/rules/docs-naming.md](../../.claude/rules/docs-naming.md))
