# Everything derived from the original IPA lives here and is never committed.
build/
work/
assets-out/
# The same three at the top level without the slash, so that a worktree's symlink to the main
# checkout's directory (a file to git, which `work/` doesn't match) stays ignored too.
/build
/work
/assets-out

# Ghidra
*.gpr
*.rep/
*.lock
*.lock~
# ...but uv's lockfile is committed (ADR 0003).
!uv.lock

# Build products (normally inside build/ anyway). Note: *.obj is NOT ignored,
# because synthetic test fixtures for the game's .obj map format may use it.
*.dSYM/
*.exe
*.dll
*.dylib

# Python / tooling
__pycache__/
*.pyc
.venv/
.pytest_cache/
# Golden-image test output (normally under build/test-output/ anyway).
*.actual.png
*.diff.png
target/

# OS / IDE
.DS_Store
.idea/
.vscode/
*.xcodeproj/xcuserdata/
*.xcworkspace/xcuserdata/
*.swp
.cache/
compile_commands.json

# Agent worktrees (CLAUDE.md epic loop)
.claude/worktrees/

# The game itself: each user puts their own copy in original/ (ADR 0100). Never commit it.
*.ipa
*.IPA
