eevee 0.2.1

Generalized NeuroEvolution toolkit, based on NEAT
Documentation
# Eevee

Generalized NEAT neuroevolution toolkit in Rust. The local-minima problem that previously blocked XOR has been resolved (see `.claude/memory/project_eevee_overview.md` for the 5 fixes that landed). See `.claude/memory/` for full project context.

## Memory

Read `.claude/memory/MEMORY.md` at the start of each session.

## Build & Test

Always run `cargo fmt` after any code edits 

```sh
cargo fmt <file>
cargo fmt <dir>
cargo fmt # no args - 

```sh
cargo build
cargo test
cargo test --all-features

# Run the XOR example (main test case for local minima debugging)
cargo run --example xor --features approx

# Benchmarks (requires gnuplot)
cargo bench <bench>
./cmp-bench <bench> [branch:-]   # compare across branches
./profile <bench>                 # flamegraph profiling
```

## Key Facts

- Nightly Rust required (`generic_const_exprs`, etc.)
- Does not work on Windows (`/dev/urandom` seeding)
- `parallel` feature enables rayon-based parallel genome evaluation
- Genome and connection types are generic — use `WConnection` + `Recurrent` for most work
- `SPECIE_THRESHOLD` in `src/population.rs` controls speciation sensitivity (currently `4.0` on main)
- The local-minima problem (formerly the primary open issue) was resolved on `worktree-fix-local-minima` (merged at `7c0b15e`) via 5 fix commits in speciate/reproduce/evolve plus 4 mutation/CTRNN tunings