node_modules/
package-lock.json
dist/
build/
*.log
.DS_Store
.env
.env.local
*.tsbuildinfo
.turbo/

# Rust
target/
**/*.rs.bk
*.pdb
# rustc internal-compiler-error dumps (written into the CWD on an ICE)
rustc-ice-*.txt
.vercel

# MkDocs build output
site/

# Rust compiled binaries in tests
tests/test_geometry

# Debug/test scripts in wasm package
packages/wasm/debug-*.js
packages/wasm/benchmark.js
packages/wasm/test-parser.js

# Cache directories
**/.cache/
.cache/

# Temporary output files
output.json
*.output.json

# Temporary test/analysis scripts
test_*.sh
*_ANALYSIS.md
*_ISSUE.md
*_FIX.md
*_IMPROVEMENTS.md
*_COMPLETE.md

# WASM files - use packages/wasm/pkg/ as canonical source
apps/viewer/public/ifc-lite_bg.wasm

# WASM build outputs. The *runtime* (.wasm/.js) is NOT committed — it's
# produced from rust/** by scripts/build-wasm.sh on every fresh build, and
# CI + Vercel install the Rust toolchain and rebuild from source so a stale
# binary can never ship (issue #654 root cause was a stale committed .wasm).
# The *type surface* pkg/ifc-lite.d.ts IS committed (force-added past the
# wasm-pack-generated pkg/.gitignore `*`) so `tsc` / `turbo typecheck` resolve
# @ifc-lite/wasm without compiling Rust (#952); CI verifies it stays in sync.
# pkg/README.md + pkg/package.json likewise stay tracked.
packages/wasm/pkg/ifc-lite_bg.wasm
packages/wasm/pkg/ifc-lite_bg.wasm.d.ts
packages/wasm/pkg/ifc-lite.js

# Tauri/Claude temp files
tmpclaude*
nul

# Claude Code local settings (user-specific)
.claude/settings.local.json

# Local test models (private, never committed)
tests/models/local

# IFC test fixtures are fetched on demand via `pnpm fixtures` and listed in
# tests/models/manifest.json. They must NOT be committed to the repo. The
# fixture directories themselves are ignored too: in a worktree they may be
# machine-local symlinks into the primary checkout.
tests/models/ara3d
tests/models/issues
tests/models/various
tests/models/**/*.ifc
tests/models/**/*.IFC
tests/models/**/*.ifcx
# Partial downloads from the fetcher.
tests/models/**/*.part

# Large IFC test fixtures (downloaded separately)
rust/geometry/tests/*.ifc