# Game ROM (copyrighted Nintendo content — never check in)
roms/
*.vb
*.bin
# Authored material labels and artwork fingerprints, not decoded ROM pixels.
!mods/full-color/materials.bin
!mods/full-color/hud-materials.bin

# Build outputs
build/
build-*/
out/
*.o
*.obj
*.a
*.lib
*.exe
*.dll
*.pdb
*.exp
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
Makefile
compile_commands.json

# Vendored upstream sources (cloned locally per BRINGUP.md, not checked in)
beetle-vb/

# Recompiler output — code only (no ROM bytes), committed so the
# binary release can be reproduced from source without distributing
# the cart. Same pattern as nesrecomp game repos.

# Ghidra project files (large, regenerable, may include cart bytes)
ghidra/

# The framework (vbrecomp) is tracked as a git SUBMODULE (.gitmodules +
# the gitlink at vbrecomp/). For local dev the working-tree path is a
# Windows junction to a shared clone (see vbrecomp.pin) — not gitignored,
# so the submodule gitlink stays visible. Do not re-add `vbrecomp/` here.

# Runtime artifacts / screenshots
#   *.bmp / vb-runtime-*.png / vb-beetle-*.png are transient
#   baseline-title-screen{,-3x}.png are committed regression artifacts
#   (small images derived from the recompiler's own framebuffer output;
#   sufficient to confirm the recompiler still produces the right
#   pixel pattern after a future code change)
*.bmp
vb-runtime-*.png
vb-beetle-*.png
sdl-window*.png
verify*.png
*.log
*.jsonl
worlds.json
vb_last_run_report.json
vb_freeze_dump_*.json
vb_freeze_heartbeat_*.json
starvation_dump.jsonl

# Release staging (built locally for upload, not checked in)
release-stage/
*.zip

# Editor / OS
__pycache__/
.pytest_cache/
.vscode/
.idea/
*.swp
*~
.DS_Store
