# ─── Build outputs ────────────────────────────────────────────────────────────
build/
build-*/
cmake-build-*/
out/
dist/
install/
_install/

# ─── CMake generated ──────────────────────────────────────────────────────────
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
CTestTestfile.cmake
CPackConfig.cmake
CPackSourceConfig.cmake
install_manifest.txt
compile_commands.json
*.cmake
!CMakeLists.txt
!cmake/*.cmake

# ─── SPIR-V compiled shaders ──────────────────────────────────────────────────
shaders/*.spv
*.spv
!shaders/compiled/*.spv

# ─── Python ───────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.egg
*.egg-info/
dist/
.eggs/
.Python
pip-log.txt
pip-delete-this-directory.txt
.tox/
.nox/
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/
*.pyd
*.so
*.dylib
venv/
.venv/
env/
.env/
ENV/

# ─── Compiled C/C++ objects & binaries ────────────────────────────────────────
*.o
*.a
*.la
*.lo
*.ko
*.obj
*.elf
*.exe
*.dll
*.lib
*.pdb
*.ilk
*.exp

# ─── Model files (often large, not for VCS) ───────────────────────────────────
*.sovereign
*.gguf
*.ggml
*.safetensors
*.bin
*.pt
*.pth
*.ckpt

# ─── Third-party fetched headers ──────────────────────────────────────────────
# vk_mem_alloc.h is fetched by scripts/build.sh
third_party/vk_mem_alloc.h

# Keep the directory itself
!third_party/.gitkeep

# ─── Vulkan pipeline cache ────────────────────────────────────────────────────
*.sovereign_pipeline_cache.bin
.sovereign_pipeline_cache.bin

# ─── IDE and editor files ─────────────────────────────────────────────────────
# CLion / JetBrains
.idea/
*.iml

# VS Code
.vscode/
!.vscode/extensions.json
!.vscode/settings.json.example

# Visual Studio
*.sln
*.vcxproj
*.vcxproj.filters
*.user
*.suo
*.ncb
*.opensdf
*.sdf
x64/
x86/
Debug/
Release/

# Vim
*.swp
*.swo
*~
tags
.tags

# Emacs
*#
.#*
\#*#

# macOS
.DS_Store
.AppleDouble
.LSOverride
._*

# Linux
*~

# Windows
Thumbs.db
Desktop.ini

# ─── Logs and test artefacts ──────────────────────────────────────────────────
*.log
*.tmp
/Testing/
LastTest.log

# ─── Profiling ────────────────────────────────────────────────────────────────
gmon.out
*.prof
callgrind.*
massif.*
cachegrind.*
perf.data
perf.data.old

# ─── ASAN / TSAN / UBSAN reports ─────────────────────────────────────────────
*.asan.log
*.tsan.log

# ─── Calibration data (typically private) ────────────────────────────────────
calibration/
*.calib

# ─── Documentation generated ─────────────────────────────────────────────────
docs/html/
docs/latex/
docs/xml/
Doxyfile.bak

# ─── JavaScript/Shader Compiler Tooling ───────────────────────────────────────
node_modules/

# ─── Secrets & credentials (NEVER commit these) ───────────────────────────────
.pypirc
.env
*.env
secrets.toml
secrets.json
credentials.json
