*.bin filter=lfs diff=lfs merge=lfs -text
*.f3grid filter=lfs diff=lfs merge=lfs -text
*.fem filter=lfs diff=lfs merge=lfs -text
*.inp filter=lfs diff=lfs merge=lfs -text
*.med filter=lfs diff=lfs merge=lfs -text
*.msh filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.ply filter=lfs diff=lfs merge=lfs -text
*.vtk filter=lfs diff=lfs merge=lfs -text
*.vtu filter=lfs diff=lfs merge=lfs -text
*.ugrid filter=lfs diff=lfs merge=lfs -text
*.mesh filter=lfs diff=lfs merge=lfs -text
*.meshb filter=lfs diff=lfs merge=lfs -text
*.tec filter=lfs diff=lfs merge=lfs -text
*.su2 filter=lfs diff=lfs merge=lfs -text
*.ele filter=lfs diff=lfs merge=lfs -text
*.node filter=lfs diff=lfs merge=lfs -text
*.vol filter=lfs diff=lfs merge=lfs -text
*.e filter=lfs diff=lfs merge=lfs -text
*.exo filter=lfs diff=lfs merge=lfs -text
*.cgns filter=lfs diff=lfs merge=lfs -text
*.ex2 filter=lfs diff=lfs merge=lfs -text

# Viewer sample meshes and test fixtures are tiny, generated, human-readable
# text files committed for the browser demo. Git LFS would be pure overhead
# here, and worse: a CI checkout without LFS would hand the viewer a 130-byte
# pointer file instead of a mesh.
src/viewer/public/samples/** -filter -diff -merge text

# Generated by `cd src/viewer && npm run build:embed`; see src/viewer/README.md.
src/python/meshioplusplus/_viewer_assets/viewer.html -diff linguist-generated=true

# Notebooks are committed with their executed outputs; exclude them from the
# GitHub language-percentage bar (their JSON+embedded-output bulk otherwise
# drowns out the actual C++/Python source in the repo's Languages graph).
example/python/*.ipynb linguist-generated=true
example/cpp/*.ipynb linguist-generated=true
example/julia/*.ipynb linguist-generated=true
example/r/*.ipynb linguist-generated=true
benchmark/*.ipynb linguist-generated=true

# Icon/logo build tooling: TikZ sources plus their compiled SVG/PNG/PDF
# assets. Not representative of the project's own C++/Python source and the
# TikZ .tex files otherwise show up as a "TeX" sliver in the Languages bar.
doc/icons/** linguist-vendored
doc/logo/** linguist-vendored

# Vendored gidpost 2.14 (CIMNE, BSD-2-Clause-Views) -- third-party C source,
# not representative of this project's own C++/Python source. See
# src/cpp/third_party/gidpost/README.meshioplusplus.md for what was vendored
# and why.
src/cpp/third_party/gidpost/** linguist-vendored

# GiD postprocess test fixtures are tiny, hand-authored, human-readable text
# committed to pin real-world variants our own writer cannot produce. Without
# this opt-out they would be SPLIT across two storage mechanisms -- `*.msh` and
# `*.bin` match the LFS globs above while `.post.res`/`.post.h5` do not -- so a
# CI checkout without LFS would get a 130-byte pointer for the geometry file
# and a real results sibling, failing in a thoroughly confusing way.
tests/python/meshes/gid/** -filter -diff -merge text
