Newer
Older
SmTIAS-LightSim / docs / 02_ENV / ENV_04_開発コマンド.md

開発コマンド (Development Commands)

日常の開発で使うコマンドをまとめる.人間とエージェント(tester・coder,/auto-refactor・/auto-audit)がコマンドを推測せずに済むよう,本ファイルを唯一の参照先とする.新しいコマンドが確定・変更されたら本ファイルに反映する.

前提 (Prerequisites)

  • パッケージ管理・実行は uv に統一する.コマンドは原則 uv run <...> で実行する.
  • 依存の同期: uv sync(dev グループを含めて全依存をインストール)
  • Python は >=3.12(pyproject.toml の requires-python).

シミュレーション・評価 (CLI)

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).

テスト (Tests)

テスト方針の詳細は .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] に登録済み.

Lint / フォーマット (Lint & Format)

規約の詳細は .claude/rules/coding-style.md を参照.ruff を唯一の lint / format ツールとする.

uv run ruff check .          # 検査のみ
uv run ruff check . --fix    # 自動修正
uv run ruff format .         # フォーマット適用

環境変数 (Environment Variables)

  • DRJIT_LIBLLVM_PATH — Mitsuba の LLVM JIT に必要(未設定時は runtime/llvm_init.py が標準パスを自動探索).詳細は docs/02_ENV/ENV_02_環境構築手順.md を参照.