# Rust build artifacts
/target/
wasm/target/

# cargo-fuzz outputs (CI uploads fuzz/artifacts/ rather than tracking it)
fuzz/target/
fuzz/artifacts/
fuzz/corpus/
fuzz/Cargo.lock

# Compiled Python extension.
#
# Scoped to /python/ deliberately. These were previously unanchored (`*.so`,
# `*.dll`), which matches at any depth — including the prebuilt Android/Linux
# `.so` and Windows `.dll` libraries that the Flutter package bundles. Because
# `dart pub publish` honours .gitignore, and a package's `.pubignore` only
# overrules the .gitignore *in its own directory* (not this root one), those
# libraries were silently stripped from the published package while the macOS
# `.dylib` and iOS `.a` slices survived. Keep these anchored.
/python/**/*.so
/python/**/*.pyd
/python/**/*.dll

# macOS dSYM debug symbols (generated by maturin develop)
*.dSYM/

#
/plans/

# Maturin / wheel build outputs
dist/
*.egg-info/
__pycache__/
*.pyc
*.pyo

# Virtual environments
.venv/
venv/
env/

# IDE files
.idea/
.vscode/
*.swp
*.swo

# Issue tracker
/myissues/

# Isolated git worktrees
.worktrees/

# WASM build output
wasm/pkg/
wasm/pkg-web/
wasm/node/
wasm/web/
benchmark_vs_talib.json

# Generated perf-contract artifacts.
#
# CI regenerates this whole directory on the runner and gates the *fresh*
# output (`.github/workflows/ci-python.yml` runs `run_perf_contract.py
# --output-dir perf-contract`, then `check_hotspot_regression.py --input
# perf-contract/runtime_hotspots.json`), so a committed copy is never the
# thing that is checked. The floors that constitute the policy live in the
# checker scripts, not here. Keep this directory generated-only.
/perf-contract/

wasm_benchmark.json
.wasm_benchmark.prepush.json
.coverage
.coverage.*
coverage.xml
.hypothesis/

/docs/_build/


# DS Store in all directories
.DS_Store
*.DS_Store
