# temper — signal and spatial processing primitives

# Directory containing Python venv for fixture generation
venv_dir := "tests/.venv"

# Install Python dependencies into a local venv
setup-python:
    python3 -m venv {{venv_dir}}
    {{venv_dir}}/bin/pip install --quiet --upgrade pip
    {{venv_dir}}/bin/pip install --quiet -r tests/requirements.txt

# Regenerate .npy test fixtures from scipy/skimage reference implementations
fixtures: setup-python
    {{venv_dir}}/bin/python tests/generate_fixtures.py

# Run the Rust test suite
test:
    cargo test

# Regenerate fixtures then run tests
test-full: fixtures test

# Run clippy and format checks
check:
    cargo clippy --all-targets -- -D warnings
    cargo fmt --check

# Run benchmarks (placeholder — add criterion benches as needed)
bench:
    cargo bench
