日常の開発で使うコマンドをまとめる.人間とエージェント(tester・coder,/auto-refactor・/auto-audit)がコマンドを推測せずに済むよう,本ファイルを唯一の参照先とする.新しいコマンドが確定・変更されたら本ファイルに反映する.
uv run <...> で実行する.uv sync(dev グループを含めて全依存をインストール)>=3.12(pyproject.toml の requires-python).pyproject.toml の [project.scripts] で定義されたエントリポイント.
| コマンド | 役割 | 実装 |
|---|---|---|
uv run sm-render <scene.yaml> | シーン YAML をレンダリングし PNG / luminance.npy を出力 | cli/render.py |
uv run sm-evaluate <入力> <config.yaml> | PNG / luminance.npy を評価し metrics.csv + figures/ を出力 | cli/evaluate.py |
uv run sm-visualize <scene.yaml> | シーンを 3D 表示 / スクリーンショット出力 | cli/visualize.py |
各コマンドの詳細オプションは --help で確認する(例: uv run sm-visualize --help).
テスト方針の詳細は .claude/rules/testing.md を参照.
uv run pytest # 通常実行 uv run pytest -m "not slow" # 重い(レンダリングを伴う)テストを除外 uv run pytest tests/evaluation/test_roi.py # 個別ファイル
slow マーカーは pyproject.toml の [tool.pytest.ini_options] に登録済み.物理モデルの健全性検査(積分球の解析解一致・法線監査・面光源の軸マッピング)は
通常実行に含まれる(合計 2 秒程度).slow に隔離するとレンダ経路が壊れても
気づかないため(TEST_13).
uv run pytest -m "" # slow を含む全テスト.シーン幾何を変えた後は一度通す
⚠ 既知の問題:
slow層のうちtests/visualize/とtests/cli/test_visualize_cli.pyは VTK のインストール破損により失敗する(import pyvista単体で再現).sm-visualizeも 同じ理由で実行できない.依存関係の修復が必要.
規約の詳細は .claude/rules/coding-style.md を参照.ruff を唯一の lint / format ツールとする.
uv run ruff check . # 検査のみ uv run ruff check . --fix # 自動修正 uv run ruff format . # フォーマット適用
DRJIT_LIBLLVM_PATH — Mitsuba の LLVM JIT に必要(未設定時は runtime/llvm_init.py が標準パスを自動探索).詳細は docs/02_ENV/ENV_02_環境構築手順.md を参照.