# datasets and media: large, and reproducible from scripts/fetch_data.sh
data/
# run outputs: regenerate with the scripts. Small summaries are force-added.
runs/**/*.npz
runs/**/*.npy
runs/**/*.lance
runs/*.log
figures/*.png
figures/*.pdf
# ...except the ones the README embeds. Regenerate them with
# scripts/make_readme_assets.py and scripts/make_figures.py.
!figures/banner.*.png
!figures/at_a_glance.*.png
!figures/coverage.*.png
!figures/hero_queries/

.venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
.venv-baselines/

# build artefacts
build/
dist/
*.egg-info/
.pytest_cache/
.ruff_cache/

# indexes built next to a video
*.framesieve-*.npz
*.framesieve-*.lance/

# the write-ups live on the blog, not in the repo. Their inputs (runs/*.json)
# and the code that produced them do live here, so every number in them stays
# checkable against what generated it.
docs/*.html
docs/*.template.html
.git-research-history/

# example output
where.png

# regenerated by scripts/hero_demo.py
figures/hero_frames/
