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

# PyTorch / checkpoints
*.pt
*.pth
*.ckpt
*.safetensors

# Training outputs
checkpoints/
results/
logs/
wandb/
lightning_logs/

# Example-run output directories. Nothing under runs/ is tracked, so a user's
# first training leaves a clean `git status`. To commit a reference figure
# anyway, force it: `git add -f examples/<case>/runs/<run>/viz/foo.png`.
**/runs/

# Belt-and-braces for checkpoints written outside a runs/ directory: keep light
# files (*.json, *.png, *.npz) but never per-checkpoint heavy tensors (model
# weights, optimizer state, EMA shadow, RNG state, LR-scheduler state) or
# intermediate epoch checkpoints.
**/checkpoint_epoch_*/
**/checkpoint_final/model.safetensors
**/checkpoint_final/optimizer.bin
**/checkpoint_final/scheduler.bin
**/checkpoint_final/ema.pt
**/checkpoint_final/random_states_*.pkl

# Data directories (datasets not tracked in git) anywhere in the tree,
# with an explicit exception for saddleflow/data/ (the source package).
data/
!saddleflow/data/
!saddleflow/data/**
# ...and for the recorded SaddleMill NEB input of the LiC_simpler example (10 KB).
!examples/LiC_simpler/neb/data/
!examples/LiC_simpler/neb/data/**
# Re-exclude cache/build artifacts that the negation above would otherwise un-ignore.
saddleflow/data/**/__pycache__/
saddleflow/data/**/*.pyc
*.lmdb
*.h5
*.hdf5

# SLURM
slurm*.log
slurm-*.out
*.err

# OS / editors
.DS_Store
.idea/
.vscode/

# Reference codes — kept locally for design reference; will be deleted before public release
other_codes/

# Private experiments tree (its own git repo; not part of the public package)
private/

# NeurIPS rebuttal working directory (uploaded to OpenReview, not part of the package)
rebuttal/

# Personal / machine-specific Claude notes (research log, cluster paths); never commit
CLAUDE.local.md
