# Scaffold .gitignore for a PSXRecomp game repository (New Project Layout).
# Aligned with docs/ci/templates/game.gitignore.

# Build outputs
/build/
/build-*/
/out/
/.happypath/

# Setup-host: players Generate game C locally (CI clears generated/).
/generated/

# Release packaging
/release-stage/
/dist/
*.zip

# Local PlayStation assets (never commit dumps / BIOS)
/bios/
/isos/
/saves/
/prepared_disc/
/disc
.settings/

# Disc / image / memcard formats
*.bin
*.cue
*.iso
*.img
*.sub
*.ccd
*.mcd
*.mcr
*.chd
*.car
SCPH*.BIN

# Local path/config stubs
bios.cfg
disc.cfg
rom.cfg
settings.toml

# Ghidra / local analysis
/ghidra/projects/
*.gpr
*.rep/
*.lock
*.lock~

# Editor / cache
.vs/
.vscode/
*.user
*.log
.DS_Store
__pycache__/
CMakeCache.txt
CMakeFiles/
compile_commands.json

# Runtime artifacts from psx-runtime launches
psx_crash.txt
psx_last_run_report.json
psx_screenshot.bmp
psx_freeze_heartbeat.json
starvation_dump.jsonl

# Diagnostic dumps (root-level) — keep catalog / probe trackable
/*.json
/*.bmp
/*.png
!/catalog_identity.json
!/disc_probe.json


# ---- release hygiene (added during repo prep) -----------------------------
# Recompiled game C is derived from the player's own disc and must never be
# published. `/generated/` above covers the live tree but NOT a .bak of it --
# generated.bak/ held 118 MB of SLUS_014.11_full_*.c plus a 30 MB built exe,
# and was staged for the first commit until it was caught.
/generated*.bak/
/*.bak

# Saved GameFAQs guides. Other people's copyrighted writing, with bylines --
# fine as local reference, not ours to republish.
/docs/

# Crash-repro material: RAM dumps, savestates and frozen screens are captured
# guest memory, i.e. game data. Useful locally, not shippable.
/bugs/

# Investigation captures: savestates, screenshot bursts and RAM dumps
# written by tools/opp_watch.py and friends. Findings live locally,
# same as /bugs/.
/captures/

# Working notes. Session handoffs and an open-bug scratchpad read as
# in-progress and are not what a release repo should lead with.
/HANDOFF.md
/ISSUES.md
/NEXT_SESSION_PROMPT.md
/DUEL_AI.md
/FREEZE_INVESTIGATION.md
/ENVIRONMENT.md
/MOD_LOADER_FINDINGS.md
/MOD_LOADER_PROMPT.md
/MENU_REDESIGN_PROMPT.md
/CARD_LIBRARY_PROMPT.md
/CARD_COUNT_800_PROMPT.md
/game_modtest.toml

# Debug spill from runtime launches.
psx_freeze_dump_*.json
starvation_dump.jsonl

# Konami artwork baked from the player's own disc by tools/disc_assets.py:
# the duel-rank badges and letters, the CARD DROPS "New!" label, and the
# game's text font. Derived from the disc exactly the way generated/ is
# derived from the EXE, so like generated/ they are build output, never
# source, and never committed or shipped.
/src/psx_rank_sprites.c
/src/psx_cd_sprites.c
/src/psx_fusion_font.c

# Card-frame PNGs: the disc's own card-body pixels through its palettes, plus
# recolours of them. Reference material for authoring frame colours; the
# game's palettes live in src/psx_card_color_palettes.h.
/artifacts/card-frame-pngs/

# Junction the setup host creates to the shared portable cmake/clang cache
# (%LOCALAPPDATA%/retcomm/toolchains). Not ours and not shippable.
/toolchain
assets/duelist_icons/*.png

# --- PSXRecomp setup-host (project studio) ---
/analysis/

# Local research material (texture packs, experiments); not for the repo.
/research/

# Local issue-audit notes and probes.
/tools/issue_audit/
