# Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/

# Virtual environment
.venv/

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

# Local Claude session/memory data (the .claude/skills/ dir IS tracked)
.claude/projects/

# OS
.DS_Store
Thumbs.db

# Test outputs
samples/result_*.jpg

# Generated synthetic test images (regenerated by samples/generate_test_images.py)
samples/test_*.jpg

# Debug log (default --debug output file)
rectify_debug.log

# Sweep outputs (regenerated by samples/sweep_keystone_lines.py)
doc/sweep_keystone_lines/

# Test photos (real images, too large/private for the repo)
doc/imgsrc/

# Scratch and demo material not intended for the repo
doc/demo/
doc/make_demo.py
notes/

# Editor backup files
*~
*.py~

# ktext build products (the user guide is written in Markdown and rendered
# through Klammertext).  Intermediates are ignored; the rendered PDF is NOT.
#
# doc/Rectify_user_guide.pdf is a build product that is deliberately committed,
# because it is the documentation users receive and nobody downstream can
# rebuild it: rendering needs Klammertext, its font store, and a Chromium-based
# browser.  Shipping the source alone would ship nothing readable.  Rebuild it
# with `make` in doc/ and commit it alongside the Markdown it came from.
doc/*.aux
doc/*.log
doc/*.out
doc/*.tex
doc/Rectify_user_guide/
