# Python
__pycache__
*.pyc
*.pyo
*.egg
*.egg-info/
dist/
build/
.venv/
venv/

# IDE
.vscode/
.idea/
*.code-workspace

# OS
.DS_Store

# Linter / type checker cache
.pytest_cache/
.ruff_cache/
.mypy_cache/

# Training outputs
outputs/
logs/
wandb/
checkpoints/

# Worktrees
.worktrees/

# Claude
.claude/
CLAUDE.md
AGENTS.md

# Codex
.codex

# Pixi
.pixi/

# Release assets — users download + unzip + rename these into the repo
# root per src/wuji_mjlab/tasks/reorient/docs/setup.md §3; they shouldn't be committed.
wuji-mjlab-*-assets.zip
wuji-mjlab-*-assets/
/release-assets/

experiments/
*.npy
*.npz
*.log

# Model files
*.pt
*.ckpt
*.pth
*.onnx
*.pkl
*.pickle

# Video files
*.mp4
*.avi
*.mov
*.mkv
videos/

# Scene files
*.usd

# MuJoCo
MUJOCO_LOG.TXT

# GPU cache
nv_shadercache/

# Project specific
MvSdkLog/
MVS-*.deb
pyrightconfig.json

# Pen-spin training release data; keep recipes/docs tracked separately.
/src/wuji_mjlab/tasks/pen_spin/data/*
!/src/wuji_mjlab/tasks/pen_spin/data/recipe/

# Environment / secrets
*.env

# Jupyter
.ipynb_checkpoints/

# Docs (local working files)
**/docs/internal/
**/docs/design/
**/docs/plans/
**/docs/dev/

# Intentionally local scratch/debug workspace. If we add tracked fixtures, they
# should live in a separate non-ignored test-data path.
tests/debug/



# Local training scratch (untracked), per task.
src/wuji_mjlab/tasks/*/train_scripts/
.k8s/
