# Unreal Engine build artifacts
Binaries/
Intermediate/
DerivedDataCache/
Saved/
.vs/
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb

# IDEs
.vscode/
.idea/
*.user

# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.pytest_cache/
.coverage
htmlcov/

# OS
.DS_Store
Thumbs.db
desktop.ini

# Logs
*.log

# Local tooling indexes (not part of the plugin)
ruvector.db

# Local config (machines may differ; users copy from examples/.mcp.json.example)
.mcp.json

# Project-local Claude Code config (don't leak local agent settings into the public repo)
.claude/

# Project-local Codex CLI config / scratchpad (mirror of .claude/ — local-only)
.codex/

# Project-local Copilot CLI config / scratchpad (mirror of .claude/ — local-only)
.copilot/

# Transient scratch dir for parallel-AI dispatches (Codex + Copilot prompt files,
# raw CLI outputs). Deleted pre-commit per existing cadence; gitignored so accidental
# leaks don't happen if someone forgets the cleanup step. See HANDOFF.md
# Session 2026-05-11 (fifth micro-session).
tmp/

# Belt-and-suspenders: never accept the private HD Media plugin folder if it ends up nested here
HDMediaUnrealMCP/
HDMediaCamPlugin/

# Harness-dropped images at repo root (Claude Code attaches user-supplied
# images here with a hf_<datestamp>_<uuid>.png prefix). These are validation
# inputs, not source assets — keep them out of the public repo. Leading slash
# scopes the pattern to root-level files only (we never expect these nested).
/hf_*.png

# Phase H release artifacts. scripts/gen_uplugin_variants.py emits per-engine
# bucket .uplugin variants here at release time; they are derived from the
# canonical UnrealClaudeMCP/UnrealClaudeMCP.uplugin and must not be committed.
/dist/

# External DCC asset scratch — Blender project files and exported meshes/textures
# authored per docs/ASSET-PIPELINE-BLENDER.md. Generated inputs, never committed
# (the plugin is self-contained; assets are user-side per ADR-0002).
*.blend
*.blend1
/blender-exports/
/asset-src/
