# ── flow5ctl generated artifacts ────────────────────────────────────
# design.yaml is the source of truth; everything below is regenerable.
build/
results/
.flow5ctl/
*.fl5
*.stl

# ── PoC verification workspace ──────────────────────────────────────
# poc/lib and poc/case_*.py are the reproducible harness and ARE tracked.
# Everything they produce is not.
poc/work/
poc/out/
poc/*_run.log

# ── Validation against real aircraft ────────────────────────────────
# Reconstructions of other teams' aircraft, and the logs comparing flow5ctl
# against their published data, stay out of the public repository. They are
# someone else's design work; publishing them is not ours to decide.
# Findings about flow5's own behaviour DO belong in docs/ — anonymised.
validation/
examples/*-real-*.yaml

# Real flow5 project files kept as references for what a practitioner's own model
# contains — mesh density, surface counts, airfoil choices. Reading one is how the
# Reynolds ladder default got fixed. They are someone's actual aircraft, so they
# stay local; what is learned from them goes into docs/ as a finding.
*.xfl
*.fl5

# Upstream flow5 source fetched for reference only.
# flow5 is GPL-3.0 and must never be committed here — see
# docs/adr/0006-licensing-and-the-gpl-boundary.md
poc/ref/

# ── Python ──────────────────────────────────────────────────────────
# uv.lock IS committed: it makes CI and a contributor's environment reproducible,
# and flow5ctl is installed as a tool more often than depended on as a library.
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
.env
dist/
build-py/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
htmlcov/

# ── Editors / OS ────────────────────────────────────────────────────
.DS_Store
Thumbs.db
.idea/
.vscode/*
!.vscode/extensions.json
*.swp
*~
