2026-06-01
@rintoHasegawa
[update] TECH_04 を「フェーズ A/B 分割」に再構成 — 連射 UI 実装をフェーズ B に降格し,フェーズ A で 1 ショット撮影によるシミュ vs 実機対応検証を先行.方針根拠: 連射再現性が確保できてもシミュとの対応が取れなければ意味が薄い.フェーズ A で MiniTIAS 側に依頼するのは画素統計・Hot pixel map(高優先 2 件)と白板 1 ショット試し撮りのみ.SmTIAS-LightSim 側は DNG/meta.json/LSC マップ読み込み I/F と新規 baseline config を実装して 1 ショット突合.既存通常モード baseline 残差 2.1× が定量モードで変化するかを観察.フェーズ A 完了判定: 残差 ≤ 1.5× ならフェーズ B へ・残差変わらずなら SHADING_MODE フォールバック条件 C1 検討 or 物理モデル見直し・残差増ならパイプライン不整合をデバッグ.フェーズ B 着手はフェーズ A 完了後に判断.TECH_04 サマリ表・V1 検証分担セクション・改善案優先度・次フェーズ作業範囲を全部 A/B 二段階で再構成.CLAUDE.md にも反映.Step 8-13 として TEST_01 に記録予定
rintoHasegawa committed on 1 Jun
@rintoHasegawa
Merge pull request #9 from rintoHasegawa/docs/minitias-response ...
rintoHasegawa authored on 1 Jun GitHub committed on 1 Jun
@rintoHasegawa
[add] TECH_03 MiniTIAS 実装報告取り込み・TECH_04 SmTIAS-LightSim 側回答 — MiniTIAS 側で定量モード Phase 1〜5 全完了,AQUOS sense3 が LEVEL_3 で DNG 経路第 1 優先採用,撮影設定: 1/60s + ISO 40 + AWB/NR/EDGE/AF/AE OFF + TONEMAP 線形 + BLACK_LEVEL_LOCK + SHADING_MODE=HIGH_QUALITY + STATISTICS_LENS_SHADING_MAP_MODE=ON,LSC マップ 13×17,保存ファイル MiniTIAS_QM_*.{dng,meta.json,preview.jpg} 3 種で meta.json に LSC マップ埋め込み.SHADING_MODE 判断: HIGH_QUALITY を本流維持(Mitsuba orthographic 出力 ≒ ISP 完璧補正後の理想値で HIGH_QUALITY DNG と直接比較が物理整合・OFF 切替は将来のフォールバック条件 C1-C3 発動時のみ).Mitsuba 出力の物理解釈を正式に整理(生 Bayer 相当ではなく補正後相当).露光/ISO 目安は 10-bit 中央値 500 前後 + p99 < 900.V1 連射再現性検証は MiniTIAS 側が連射 UI のみ実装し解析は SmTIAS-LightSim 側 sm-evaluate に統合.データ転送は adb pull 推奨(MTP 非推奨).改善案優先度: 画素統計・Hot pixel map・連射 UI が高優先で同意.TECH_01 開放質問 Q1-Q7 を解決状況で更新.TECH_02 データ受け渡し節を実機実装に合わせ更新(meta.json 内 LSC マップ格納形式・adb pull・DNG/burst ファイル命名).CLAUDE.md 開発進捗に MiniTIAS 側実装完了とハンドオフ往復完了を追記.次フェーズ: MiniTIAS 側は高優先 3 件追加実装,SmTIAS-LightSim 側は DNG/meta.json 読み込み I/F と再現性検証スクリプトを sm-evaluate に追加してキャリブ再開
rintoHasegawa committed on 1 Jun
2026-05-29
@rintoHasegawa
Merge pull request #8 from rintoHasegawa/docs/quantitative-capture-spec ...
rintoHasegawa authored on 29 May GitHub committed on 29 May
@rintoHasegawa
[add] TECH_01 定量撮影モード要求仕様・TECH_02 MiniTIAS 引き継ぎ手順 — Step 8 キャリブで「実機 PNG 自体が定量データとして揺らいでいる」ことが判明(AE/AWB/NR/EDGE/TONEMAP/SHADING がすべて Camera2 オート/デフォルト,撮影ごとに値変動).当初想定の LSC モデル化より上位の問題として「定量撮影モード」を MiniTias 側に追加する方針に転換.TECH_01 は MiniTias への要求仕様 (What/Why): Camera2 API キー 12 項目固定値・LSC ゲインマップ取得 (STATISTICS_LENS_SHADING_CORRECTION_MAP)・撮影メタデータ JSON 保存・推奨出力フォーマット (DNG/YUV/PNG)・ハードウェアサポート判定 (Q1-Q4)・5 Phase 実装方針・検証 V1-V4・開放質問 Q1-Q7.TECH_02 は MiniTias 側 Claude セッションへのハンドオフ手順 (How/Where/When): プロジェクト関係図・最初の 3 ステップ (実機サポート確認→実装範囲決定→Phase 1 着手)・データ受け渡し仕様 (reference_measurement/quantitative/ 配下 MiniTIAS_QM_YYYYMMDD_HHmmss.{png,meta.json,lsc.npz})・既存 baseline へのアクセス・質問/調整事項のファイルベース扱い・完了判定・後続作業・チェックリスト.docs/05_TECH/ ディレクトリ新規作成.CLAUDE.md 開発進捗にキャリブ方針見直しと TECH_01/02 への参照を追記.SmTIAS-LightSim 側のキャリブ作業は本仕様書を MiniTias に渡した時点で一旦停止
rintoHasegawa committed on 29 May
2026-05-28
@rintoHasegawa
Merge pull request #7 from rintoHasegawa/feature/perf-optimization ...
rintoHasegawa authored on 28 May GitHub committed on 28 May
@rintoHasegawa
[update] 速度最適化ワーク一旦中断 — TEST_04 末尾に中断記録セクション追加.中断時点の正直な評価: 実時間改善ゼロ(B1=508s/B2=56s で不変).副次成果: DRJIT_LIBLLVM_PATH 消失でサイレントクラッシュしていた問題の発見と恒久対処,JIT 経路診断ログ機構,ベンチ条件ドキュメント,テスト 51 件追加.中断理由: B2 path bake samples=16 は現状ボトルネックではなく,B1 は GPU 無し・CPU 完結・精度据置の制約下で取れる打ち手が限定的.本筋のキャリブ作業(LSC モデル化)に戻ることがプロジェクト目的により近い.再開条件 4 項目を明示: (1) path bake samples を増やすユースケース発生 (2) NVIDIA GPU 利用可 (3) クラウド計算活用判断 (4) キャリブ反復回数増加でバッチ時間が研究進度を圧迫した場合.Speed-2 path bake wavefront 化テンプレートは TEST_04 内に未実施のまま保持し再開時に /implement で即着手可能.CLAUDE.md 開発進捗に中断補足を追記.次のアクション: キャリブ作業(LSC モデル化)に戻る
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Speed-1 LLVM JIT 自動検出と診断ログ強化 — runtime/llvm_init.py を新規実装.ensure_drjit_libllvm_path() で DRJIT_LIBLLVM_PATH 未設定時に Windows 標準 4 候補 (C:\Program Files\LLVM 等) + POSIX glob + LLVM_DIR + extra_candidates を順次探索して os.environ 設定(既設定なら上書きしない).log_variant_status() で llvm_/cuda_/scalar_ 経路を INFO 明示,要求 llvm_* で実 scalar_* なら WARNING 追加.render/runner.py で variant=llvm_* 時に自動検出を呼び ImportError 時は原因明示ログ→ re-raise,mitsuba を関数内遅延 import 化.visualize/baker.py の _set_variant_once に LLVM 自動探索分岐を追加し direct/path 両方で log_variant_status を呼ぶ.cli/render.py で import 順を制御し sensors.py/lights.py のモジュールレベル mitsuba import 前に検出を確実に通す.docs/02_ENV/ENV_02 に LLVM インストール手順・DRJIT_LIBLLVM_PATH 説明・動作確認コマンドを追記.新規テスト 51 件 (runtime/test_llvm_init.py 25, render/test_runner_jit_init.py 14, visualize/test_baker_jit_init.py 8, cli/test_render_jit_init.py 4) で仕様 A1-E1 完全カバー,DRJIT_LIBLLVM_PATH 設定下で 606 件全通過.速度は不変(目的は再発防止+診断容易化).数値同等性は MC 内部シードで SHA256 異なるが平均相対誤差 7.23e-05 で統計同等性パス.これで環境変数消失によるサイレントクラッシュが再発しない土台が整備された.TEST_04 Speed-1 セクションを実施結果で更新.CLAUDE.md 開発進捗に Speed-1 完了追記+実装済みモジュール一覧に runtime/llvm_init.py 追加
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] 速度最適化ワーク開始 — TEST_04 シミュレーション速度最適化履歴を新規作成.Speed-0 ベースライン計測完了: configs/scene_baseline.yaml で B1 sm-render 中央値=507.86s(≈8.46分,3回計測 502〜527s±2.4%)/ B2 sm-visualize path bake samples=16 中央値=55.97s.副次発見: DRJIT_LIBLLVM_PATH 環境変数が消失し sm-render が jitc_llvm_init 失敗→ImportError で即死していたことを判明(feature/baseline-calibration でも同症状=コード起因ではない).C:\Program Files\LLVM\bin\LLVM-C.dll が過去インストール残として存在しており User scope に DRJIT_LIBLLVM_PATH 永続化で復旧.sm-visualize の direct bake は内部 scalar_rgb 固定のため過去ログでも警告は出ていたが完走していた点と整合.方向修正: Speed-1 当初の「JIT 有効化で高速化」は既に JIT 経路に乗っているため不成立 →「LLVM-C.dll 自動検出と診断ログ強化(再発防止+scalar fallback 警告)」に再定義.本命の高速化レバーは Speed-2 path bake wavefront 化(10× 以上見込み)に集約.制約: GPU は Intel HD Graphics 520 のみで CUDA 不可,CPU 完結.精度(spp/max_depth)は不変.CLAUDE.md 開発進捗に速度最適化セクション追加
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-12: Helmholtz 相反原理を Mitsuba 上で実証検証 — schema.py の RenderConfig.integrator に ptracer 追加.configs/scene_baseline_perspective_{path,ptracer}.yaml で perspective sensor + scalar_rgb + spp=4096 比較.bot/top 比が path 2.035 vs ptracer 2.006 で誤差 1.4% で一致=形は方向独立.絶対値は Mitsuba 実装の正規化差で 1.99× 違うが形(空間パターン)は同じ.副次発見: orthographic + ptracer は Mitsuba 3 で実行不能(Endpoint::sample_direction() 未実装).方向変更で形を実機に近づける道は無いことが確定し LSC モデル化が唯一の道との結論を強化.TEST_01 Step 8-12・TEST_02 索引・TEST_03 学び 5・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-11: データシート準拠の照明モデル統合 — configs/scene_baseline_datasheet.yaml 並列保持.LP-2835D90VW 規格値 (Φv 17.5 lm, LER 280 lm/W) から I_0=0.021951 W/sr を導出,同等品 SMD 2835 の典型配光 cos^1.2 を spot で表現 (cutoff=85°/beam=26.72°, FWHM 111.72°),反射率を Step 8-6 で導出した物理整合点 0.89 に変更.結果は Step 8-10 と Step 8-9 の中間値 (CoV 0.183, 勾配 26.79%, C/P 1.366).形は依然 Y 軸単調勾配で構造的変化なし.データシート従順度を上げても形は実機に近づかないことを確定.本筋 LSC が依然必要.SPEC_03 データシート従順版節・TEST_01 Step 8-11・TEST_02 索引・TEST_03 観察事実・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-10: LED 配光を spot emitter で表現 — schema.py に SpotLight クラス追加(cutoff_angle / beam_width / intensity),lights.py に spot 分岐実装.configs/scene_baseline_spot.yaml を並列保持(18 LED を spot に変換,FWHM 120° 一致,flux 保存 I_0=0.02678 W/sr).目視で X 方向の対称性が部分改善(下端の明るい領域が中央寄りに集中).数値指標は微悪化(CoV +4%, 勾配 +15%).emitter 指向性は形の一部(X 方向)を変える発見.Y 方向の中央ピークは LSC が依然必要.SPEC_03 Spot emitter 節・TEST_01 Step 8-10・TEST_02 索引・TEST_03 観察事実・CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] LED 基板カバーを 3 枚構成(下/右/左)に展開 — configs/meshes/SmTIASv3.stl から scripts/extract_led_positions_from_stl.py --export-covers で各基板用カバーを独立 STL に書き出し.scene_baseline.yaml の geometry を led_cover_bottom/right/left の 3 メッシュエントリに更新.旧 LED基板カバー.stl 削除.右・左基板の LED が「カバーなしで浮く」状態を解消.SPEC_03 筐体材料表と CLAUDE.md を更新
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Step 8-9: LED 18 個の位置を Fusion 360 設計 STL から抽出して反映 — scripts/extract_led_positions_from_stl.py 新設(連結成分分割 + LED/カバー識別 + bottom/right/left 自動命名).configs/meshes/SmTIASv3.stl から抽出し scene_baseline.yaml の lights セクションを置換.主な変更は下基板 LED 配置を「等間隔 8.7mm」→「3+ギャップ+3 (4.2mm+10.8mm+4.2mm)」へ訂正(実機の中央電流制限抵抗と整合).左右基板も実位置に修正.形状指標は ~1% 以内のほぼ不変,絶対 mean は +10% 増加(α 0.962→0.873).既知差分 #2 をクローズ.TEST_01 Step 8-9・SPEC_03 配置と既知差分・TEST_02 索引・TEST_03 比較パネル(5 枚並列)・CLAUDE.md を更新
rintoHasegawa committed on 28 May
2026-05-27
@rintoHasegawa
[update] TEST_03 比較パネルを生 luminance + mean 揃え正規化 + 共有 colorbar 化 — Step 8-8 の apply_mean_anchor を活用して全画像 mean=146.7146 に統一.実機 ROI の 5〜95 パーセンタイルを共有 colorbar 値域として固定,シミュが実機色域を逸脱している事実を視覚化.TEST_03 の説明・観察事実・学び (4. 分布の広がり差) を更新
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] Step 8-8: linear 評価モードに mean 揃え正規化を導入 — evaluation/normalize.py の apply_mean_anchor + NormalizationConfig スキーマ + OETF 排他バリデーション + CLI 統合.configs/eval_baseline_linear.yaml で有効化(target_mean=146.7146).形状指標 (CoV/勾配/C/P/max-min) は厳密不変,mean のみ target_mean に揃う.SPEC_02・SPEC_04・TEST_01 Step 8-8 を更新.テスト 62 件追加 (既存 441 + 新規 62 = 503 件全通過)
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] TEST_03 輝度マップ形状追跡を新設 — TEST_01 から「輝度マップ形状の追跡」セクションを切り出して独立化.数値と独立に「形」を実機に近づける観点を集約.TEST_01 はスタブ要約 + リンクのみ残す.scripts/build_luminance_evolution_panel.py のヘッダと他ドキュメントの参照リストを TEST_03 対応に更新
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] SPEC_04 評価仕様を新設 — 評価パイプライン・ROI・OETF 順方向適用の物理動機と数学的整合・メトリクス計算式・可視化規約・出力ファイル仕様を集約.SPEC_03 からキャリブレーション目標と経過要約を移管しスリム化.CLAUDE.md と TEST_01・TEST_02 の参照リストに相互リンク追加
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] TEST_02 シミュレーション実行記録を新設 — output/ 各サブディレクトリの索引(Step 対応・config・指標・再現コマンド)、初回整理実績(PoC 残骸・使い捨てスクリプト・ベイクキャッシュ等 ~12.6MB を削除済み)、今後の運用規約とテンプレートを整備、CLAUDE.md と TEST_01 の参照リストに相互リンク追加
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] 輝度マップ形状の追跡を TEST_01 に導入 — 比較パネル生成スクリプト scripts/build_luminance_evolution_panel.py 追加、全 7 改善ステップ (8-1〜8-7) で「形」は不変 (Y 軸単調勾配のまま) との発見を新セクションに記述、LSC モデル化の構造的意義を「数値 + 形」の 2 軸で再認識、生成 png は再生成可能のため .gitignore で追跡しない
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] キャリブレーション検証履歴 TEST_01 を新設 — Step 8-1〜8-7 のフル記録(仮説/変更/数値/解釈/学び)と俯瞰サマリ表、SPEC_03 キャリブ経過セクションを要約版にスリム化(90→30行)、検証アーティファクト configs/eval_baseline_linear.yaml と configs/scene_baseline_emitter_real.yaml を追加
rintoHasegawa committed on 27 May
@rintoHasegawa
[update] LED 物性確定(LP-2835D90VW)を SPEC_03 に反映 — 物理仕様表拡張・規格値からの radiance 独立推定(2030 vs 校正 2807 = 1.38× を反射率 0.89 で説明可)・配光 Lambertian 仮定の妥当性検討・既知差分 #3 クローズ
rintoHasegawa committed on 27 May
@rintoHasegawa
[add] 3D ビュー追加改善 — path ベイク max_depth 独立化(--bake-max-depth)・幾何カリング(--cull-outward 既定ON)・マーカー個別非表示 ...
rintoHasegawa committed on 27 May
2026-05-18
@rintoHasegawa
[add] 3D ビュー大幅改善 — path ベイク(多重反射)/全面統一着色/任意テクスチャ投影/ベイクキャッシュ/各種調整フラグ ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] 3D ビュー改善 — 評価板に実レンダ(多重反射)輝度マップを投影表示、配色/正規化/演出を改善 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] OETF 順方向適用を sm-evaluate へ正規実装 — シミュ linear を実測 sRGB ドメインへ変換、後方互換 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[update] Step 8 手法訂正 — sRGB OETF 順方向適用で見かけ差の約2/3が符号化ドメイン不一致と判明、寄与順を OETF>LSC>反射率に訂正 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[update] Step 8 spp 校正 (128→1024) — ノイズ/物理差を切り分け、残差主因は ISP レンズシェーディングと判明 ...
rintoHasegawa committed on 18 May
@rintoHasegawa
[add] Step 8 キャリブ準備 — orthographic sensor / visualize 互換化 / ROI 物理対応 / SPEC_03
rintoHasegawa committed on 18 May
2026-05-17
@rintoHasegawa
[add] Step 8 基準設計シーン (scene/eval YAML + 実機 STL 6 個) と configs/ 生成物の .gitignore 整理
rintoHasegawa committed on 17 May
@rintoHasegawa
[add] PLAN_02 に Step 10 候補(Blender + bpy アドオン版)の将来検討事項を追記
rintoHasegawa committed on 17 May
@rintoHasegawa
[add] Step 7 — 3D 照度ベイク + sm-visualize CLI(PyVista インタラクティブビューア)
rintoHasegawa committed on 17 May
2026-04-28
@rintoHasegawa
[fix] visualize.py に matplotlib.figure サブモジュールを明示 import(型解決エラー解消)
rintoHasegawa committed on 28 Apr
@rintoHasegawa
[add] Step 6 — sm-evaluate CLI(ROI 抽出・可視化・metrics CSV 出力)と単体/統合テスト
rintoHasegawa committed on 28 Apr
@rintoHasegawa
Merge pull request #6 from rintoHasegawa/chore/sync-template ...
rintoHasegawa authored on 28 Apr GitHub committed on 28 Apr
@rintoHasegawa
[update] テンプレートを sync-template SHA 5fc4843 に同期 ...
rintoHasegawa committed on 28 Apr
@rintoHasegawa
Merge pull request #5 from rintoHasegawa/feature/scene-render ...
rintoHasegawa authored on 28 Apr GitHub committed on 28 Apr
2026-04-26
@rintoHasegawa
[update] .gitignore に output/ を追加(シミュ・評価結果はコミット対象外)
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 5 — sm-render CLI と最小フィクスチャ・統合テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 4 — シーン構築・Mitsuba レンダリング・出力と単体テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
Merge pull request #4 from rintoHasegawa/feature/uniformity-port ...
rintoHasegawa authored on 26 Apr GitHub committed on 26 Apr
@rintoHasegawa
[add] .vscode/settings.json を追加(Pylance / Ruff / pytest 設定)
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 3 — ジオメトリ層(LoadedMesh / load_stl / scale_vertices)と単体テスト
rintoHasegawa committed on 26 Apr
@rintoHasegawa
[add] Step 2 — YAML スキーマ(pydantic)と loader,ENV_01 に依存追記
rintoHasegawa committed on 26 Apr
2026-04-25
@rintoHasegawa
[add] Step 1 — 均一性評価モジュール(uniformity / zones / radial)と単体テスト
rintoHasegawa committed on 25 Apr
@rintoHasegawa
Merge pull request #3 from rintoHasegawa/docs/add-human-checkpoints-plan ...
rintoHasegawa authored on 25 Apr GitHub committed on 25 Apr
@rintoHasegawa
[update] PLAN_02 に人間の確認ポイント一覧を追加
rintoHasegawa committed on 25 Apr
@rintoHasegawa
Merge pull request #2 from rintoHasegawa/docs/add-requirements-plan ...
rintoHasegawa authored on 25 Apr GitHub committed on 25 Apr
@rintoHasegawa
[add] コーディング規約・テスト方針・開発ステップを追加し立ち上げ完了
rintoHasegawa committed on 25 Apr
@rintoHasegawa
[add] アーキテクチャ設計・シーン定義仕様を追加(フェーズ 4 完了)
rintoHasegawa committed on 25 Apr
@rintoHasegawa
[add] uv + Mitsuba 3 環境構築と関連ドキュメントを更新
rintoHasegawa committed on 25 Apr
@rintoHasegawa
[add] 技術スタック・環境構築手順を追加(フェーズ 2〜3 完了)
rintoHasegawa committed on 25 Apr
@rintoHasegawa
[add] プロジェクト概要・要件定義書を追加し CLAUDE.md を初期化
rintoHasegawa committed on 25 Apr
@rintoHasegawa
Merge pull request #1 from rintoHasegawa/chore/sync-template ...
rintoHasegawa authored on 25 Apr GitHub committed on 25 Apr
@rintoHasegawa
[add] テンプレートの初回同期(設定ファイル・GUIDE ドキュメント追加)
rintoHasegawa committed on 25 Apr
@rintoHasegawa
chore: initial commit of .claude config
rintoHasegawa committed on 25 Apr