# Don't check in all the large .pdf files
[Ll]iterature/

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
uv.lock

# ignore input/output files by default
*.csv
*.e
*.exo
*.g
*.inp
*.mesh
*.npy
*.spn
*.stl
*.vtk

# but keep the downloadable example meshes the book links to.  All other
# .stl under book/ are regenerable figure inputs, linked externally, or already
# tracked, so they stay ignored (bunny meshes, sphere_* remesh outputs, etc.)
!book/cli/sphere_radius_1.stl
!book/theory/subdivision/octa_loop00.stl
!book/theory/subdivision/octa_loop01.stl

# ignore build binaries
*.so

# ignore macOS database files
.DS_Store

# ignore virtual environment
.venv/

# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

**.jou
**.whl
*.vscode
**__pycache__
**.pytest_cache
.python-version
book/build/
benches/block/
benches/compare/
cobertura.xml
flamegraph.svg
perf.data
perf.data.old
