diff --git a/CLAUDE.md b/CLAUDE.md index cfdc591..d9f07d7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ ## 開発進捗 -最新: GUIDE_01 に従いプロジェクト立ち上げ中 +最新: CameraBase のリファクタリング完了(責務を Cameras/ChartDetection/ColorCorrection/UI/Utils に分離.Phase 1〜4) ※ 本欄は**最新ステップ 1 行のみ上書き更新**.詳細な進捗履歴(動機・設計判断・失敗パターン)は [docs/PROGRESS.md](docs/PROGRESS.md) に追記する.運用ルールは GUIDE_05「進捗記録の運用ルール(CLAUDE.md / PROGRESS.md)」を参照. ## 必須ルール(コード実装時) diff --git "a/docs/03_PLAN/PLAN_01_\343\203\252\343\203\225\343\202\241\343\202\257\343\202\277\343\203\252\343\203\263\343\202\260\350\250\210\347\224\273.md" "b/docs/03_PLAN/PLAN_01_\343\203\252\343\203\225\343\202\241\343\202\257\343\202\277\343\203\252\343\203\263\343\202\260\350\250\210\347\224\273.md" index 0d25896..4a4f22c 100644 --- "a/docs/03_PLAN/PLAN_01_\343\203\252\343\203\225\343\202\241\343\202\257\343\202\277\343\203\252\343\203\263\343\202\260\350\250\210\347\224\273.md" +++ "b/docs/03_PLAN/PLAN_01_\343\203\252\343\203\225\343\202\241\343\202\257\343\202\277\343\203\252\343\203\263\343\202\260\350\250\210\347\224\273.md" @@ -85,10 +85,11 @@ **作業内容** -- CameraBase から以下をユーティリティクラスとして切り出す(配置先は `Cameras/` または新フォルダ). +- CameraBase から以下をユーティリティクラスとして切り出す(配置先は `Utils/IoUtil`). - `LoadMatFromCsv`, `SaveMatToCsv` - `SetSaveFolder`, `WriteInfo` - `EventSound` +- ※ `SetSaveFolder`/`WriteInfo`/`SetInfo` は `_saveFolder`/`_ShotInfo`(派生クラスと共有する状態)に結合するため,純粋ロジックのみ `IoUtil` へ移し,`CameraBase` 側は薄いラッパーとして残した(当初案から変更). **テスト** diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 14ea2fc..095f64a 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -9,3 +9,11 @@ - 書式・運用ルールは docs/01_GUIDE/GUIDE_05_エージェント運用ルール.md 「進捗記録の運用ルール(CLAUDE.md / PROGRESS.md)」を参照 --> + +- [x] **環境整備(テンプレート同期・docs 番号修正)** (2026-06-06): プログラミングテンプレートを初回同期(エージェント/コマンド/GUIDE_05 等を取り込み)し、docs カテゴリ番号を命名規則(GUIDE_03)に整合(PLAN→03 / SPEC→04 / TECH→05)。リモートをセルフホスト Git から GitHub(rintoHasegawa/TIASshot, Private)へ移行。 + +- [x] **CameraBase のリファクタリング(責務分離 Phase 1〜4)** (2026-06-06): 肥大化していた `CameraBase` の責務を分離。`Cameras/`・`UI/`(Phase1)、色補正→`ColorCorrection/ColorCorrector`(Phase2)、チャート検出→`ChartDetection/ChartDetector`(Phase3)、ファイル I/O・サウンド→`Utils/IoUtil`(Phase4)。 + - 動機: `CameraBase` にカメラ制御・チャート検出・色補正・ファイル I/O・サウンドが集中していた。 + - 方針: **挙動は一切変えない**(PLAN_01)。各フェーズで計算/検出/I-O ロジックが元コードと文字単位で一致することを確認し、ビルドは全フェーズ 0 エラー 0 警告。 + - 設計判断(PLAN_01 当初案からの変更): 派生クラス(IScam/Lucam)と共有する状態に結合するメンバーは分離先に移さず `CameraBase` に残した。具体的には `UpdateRate`/`GetRatio`(ゲイン補正)、`SetSaveFolder`/`WriteInfo`/`SetInfo`(`_saveFolder`/`_ShotInfo` 経由)。後者 2 つは純粋ロジックのみ `IoUtil` へ移し、`CameraBase` 側は薄いラッパーとした。 + - 回帰検証: リファクタ前に実機で基準データ(`_基準データ_refactor前/`、特に `TCC_RGB.csv`)を取得して保管。実機の再校正は物理入力が変わり数値が一致しないため、回帰は「同一入力での計算一致」+「コードの文字単位一致」で担保した。