# Build artifacts (all root-level CMake build trees)
/build*/
/MegaManXSNESRecomp/
# macOS/Linux runtime ROM-path cache
rom.cfg
*.obj
*.pdb
*.ilk
*.exe
*.dll
*.tlog
*.log
*.idb

# ROM files (copyrighted)
*.smc
*.sfc
*.rom

# Extracted ROM data (generated from ROM at build time — copyrighted)
smw_assets.dat
zero-x3.bin
/assets/*

# Save files
saves/
*.sav
*.srm
*.srm.bak
*.srm.tmp

# Boot traces (generated at runtime)
boot_trace*.txt

# IDE
.vs/
*.vcxproj.user

# OS
Thumbs.db
.DS_Store

# External repos accessed via junction/symlink (tracked in their own repos)

# Oracle disassembly repo (independent git clone)
SMWDisX/

# Claude auto-memory (per-user)
memory/

# Python caches
__pycache__/
*.pyc

# Local-only config overrides (per-developer, applied after smw.ini)
smw.local.ini

# Private ROM-derived inputs and generated caches
/_private/
/cache/


# Active recompiler output — generated locally per-developer
src/gen/

# Triage scratch
_triage/
hw_trace.log

# Screenshots / scratch BMPs and PNGs. Any image meant to ship with
# the public repo (README assets, docs) belongs in docs/ or assets/
# and gets an explicit unignore there.
*.bmp
*.png
!docs/screenshots/*.png

# Curated triage evidence — tracked despite *.png above.
!issue-screenshots/
!issue-screenshots/*.png

# Per-session debugging / triage scratch (any underscore-prefixed file
# at the repo root is treated as scratch and not committed).
_*

# NuGet packages (restored on build)
/packages/

# Release artifacts (built locally, uploaded via gh release upload)
MegaManXSNESRecomp-windows-*.zip
MegaManXSNESRecomp-steamdeck-*.7z
MegamanXRecomp-windows-*.zip
mmx-v*.zip
release-stage/
release-linux/
release-macos*/
*.fig
# per-variant generated C (copyrighted, regenerated at build time)
variants/*/gen/

# Root-level runtime/debug artifacts from local launches.
/keybinds.ini
/logs/
*.replay.sav
*.replay.config.ini
*.replay.mods.toml
*.replay.mods.txt
/mmxb*.txt

# Ghidra databases are local, regenerable build artifacts. Track only the
# deterministic export of human-authored annotations.
ghidra/*
!ghidra/annotations/
!ghidra/annotations/**
*.gpr
*.rep/
*.lock
*.lock~

# Player configuration and controller-specific bindings
/config.local.ini
/input-bindings/

# Shipped Saber Zero donor art and sound effects.
!/assets/saber-zero/
!/assets/saber-zero/CREDITS.md
!/assets/saber-zero/sprites/
!/assets/saber-zero/sprites/*.png
!/assets/saber-zero/sfx/
!/assets/saber-zero/sfx/*.ogg
