# Byte-compiled / optimized
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
.eggs/

# Testing
.pytest_cache/
.coverage
htmlcov/

# Linting
.ruff_cache/

# Manim renders
media/
animations/

# Example output (generated by examples/*.py)
examples/output/

# IDE
.vscode/
.idea/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Environments
.env
.venv/
env/
venv/

# MkDocs build output
site/

# asv benchmark harness output
.asv/
benchmarks/env/
benchmarks/.asv/

# Generated figure outputs (reproducible via reproduce_all.sh / Manim)
figures/*.pdf
figures/*.gif
figures/*.png
!figures/.gitkeep
!figures/wall_velocity_sweep.gif
!figures/eulerian_kinematics.gif
!figures/kretschmann_invariant.gif
!figures/eulerian_vs_worstcase_nec.gif
!figures/gaussian_warp_grid_comparison.png

# Reproduction cache - large binary artifacts. The MANIFEST + json/tex
# summaries stay tracked; npz and pdf are regenerated via reproduce_all.sh.
results/**/*.npz
results/**/*.pdf

# TeX and renderer logs
*.log
