# Credentials / runtime state
sftp_config.json
server_config.json

# Downloaded saves and uploads (runtime directories)
sftp_saves/
map/uploads/

# Satisfactory save files
*.sav

# Game data dump (copy from your game install's
# Satisfactory\CommunityResources\Docs\en-US.json to game_data/docs.json);
# see README.md's "Generating game data" section.
game_data/docs.json

# Everything game_data/extract_all.py produces: docs/ (from docs.json),
# world/ (from the FModel level export) and the map render. Nothing generated
# is committed -- a checkout gets this folder by running the extractors or by
# unpacking game_data.zip. The hand-maintained inputs live in
# game_data/curated/ and ARE committed; see game_data/README.md.
game_data/generated/

# Icon PNGs (regenerate via game_data/extractors/copy_icons.py; kept under map/static/
# so Flask can serve them). See README.md's "Generating icons" section.
map/static/map/icons/

# Redistributable archive of all of the above, built by
# game_data/package_game_data.py.
game_data.zip

# Output of the upstream parser's CLI tools (parser/sav_to_html.py etc.)
map_output/

# Python cache
__pycache__/
*.pyc
*.pyo

.claude
.venv
# Rust parser build artifacts
rust_parser/target/

# Assembled static site (tools/build_site.py output)
dist/
LAUNCH.md
.wrangler
# Screenshot-harness output (tools/ui_shots.py)
ui_shots/
