# ============================================================
#  DINO-SR 4D-STEM — code-only repo
#  Excludes data, checkpoints, manuscripts, third-party PDFs,
#  generated outputs and large binaries.
# ============================================================

# --- Python caches / build ---
__pycache__/
*.py[cod]
*.pyo
*.egg-info/
.ipynb_checkpoints/
.pytest_cache/
.mypy_cache/
build/
dist/

# --- 4D-STEM data / arrays (never commit raw or derived data) ---
*.prz
*.npz
*.npy
*.h5
*.hdf5
*.emd
*.dm3
*.dm4
*.mib
*.raw
*.cube
*.cube.npy

# --- Model checkpoints / weights ---
*.pt
*.pth
*.ckpt
*.safetensors
*.onnx
*.pkl

# --- Manuscripts / papers / office docs (unpublished + third-party) ---
*.pdf
*.docx
*.doc
*.pptx
*.ppt
# Archives: distributables are built on demand / attached to Releases,
# never committed (keeps this a code-only repo).
*.zip
*.7z
*.tar.gz
MANUSCRIPT_DRAFT.md
FULL_REPORT.md
Chapter*.docx
chapter3_dump.txt
MgNaPHI_paper/

# --- Figures / images (regenerated by the pipeline) ---
*.png
*.jpg
*.jpeg
*.tif
*.tiff
*.gif
*.svg

# EXCEPTION: assets/ holds the app's own icon (shipped with the app, not a
# regenerated figure) -- keep it tracked despite the blanket rules above.
!assets/
!assets/*.png
!assets/*.ico

# --- Run outputs / logs / generated reports ---
runs/
logs/
*.log
*_assistant/
env_snapshot/
docs/interpretation_reports/
DINO_PAPER_V2/
DINO_PAPER_SC/

# --- Assistant runtime artifacts ---
runs/_gui/

# --- LaTeX build artifacts ---
*.aux
*.out
*.toc
*.lof
*.lot
*.fls
*.fdb_latexmk
*.synctex.gz
*.bbl
*.blg

# --- Manuscript / paper sources (unpublished) ---
docs/paper/
paper/
docs/explainer/

# --- Generated NMF / analysis outputs ---
nmf/

# --- OS / editor cruft ---
.DS_Store
Thumbs.db
desktop.ini
.vscode/
.idea/

# --- stray logs ---
*.err

# machine-specific env override
env_name.txt

# --- paper: keep working figures/drafts/pptx LOCAL only ---
# The repo should carry ONLY the final main-text + SI PDFs (force-added
# by name), never the figures, .tex, .aux, or slide decks.
docs/paper/
