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

# Virtual environments
.venv/
venv/
env/

# Test / coverage / tool caches
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.hypothesis/
.mypy_cache/
.ruff_cache/

# Local report output (PDFs); never committed.
reports/

# Session / dataset artifacts
*.aldic3d
datasets/
test_data/

# ---------------------------------------------------------------------------
# examples/ — LOCAL EXPERIMENTAL DATA. NEVER COMMITTED. NO EXCEPTIONS.
#
# This directory holds the author's curated stereo-DIC datasets (~40 GB of raw
# 16-bit TIFFs). Most of it is NOT publishable:
#
#   example1, example2  Stereo-DIC Challenge 1.0 — public benchmark data, but
#                       redistribution is the challenge organizers' call, not
#                       ours; they are ignored here alongside everything else.
#   example3..example7  NOT PUBLIC. Challenge 2.0 / 2.1 data under the
#                       organizers' terms, plus unpublished lab experiments
#                       (pig heart valve, bulge test). Author's personal use
#                       only.
#
# The rule is deliberately unconditional — there is NO negation/whitelist for
# any subpath. A `git add -A` on this repo must never be able to stage a single
# byte of it. If a small public sample dataset is wanted later, put it in a
# NEW top-level directory and whitelist that directory explicitly; do not poke
# a hole in this rule.
# ---------------------------------------------------------------------------
examples/

# quickstart/ IS committed: the public sample dataset (Stereo-DIC Challenge 1.0,
# Sample 3, three frames), published with the author's approval in 1.2.0. Only
# the output of running it stays local: results/ from the command line, out/
# from the application (its default output folder, holding the ROI mask).
quickstart/results/
quickstart/out/

# IDE / editor
.vscode/
.idea/
.cspell/

# OS junk
Thumbs.db
.DS_Store
desktop.ini

# Git worktrees
.worktrees/

# ---------------------------------------------------------------------------
# Private development material — kept on the author's machine, never published.
# The public repository carries only what users and contributors need: the
# package, its tests, the user guide, the sample dataset, packaging and CI.
# ---------------------------------------------------------------------------
CLAUDE.md
.claude/
.pre-commit-config.yaml
tasks/
paper_softwareX/
docs/architecture/
docs/DEPENDS_ON_2D.md
docs/RELEASING.md
# tools/: only the translation-maintenance scripts are public.
/tools/*
!/tools/i18n.py
!/tools/fill_translations.py
!/tools/i18n_batch_*.py

# Read-only reference clones of third-party repos (never committed)
reference/
