fix: rewrite Supersonic LUT generator, wire evaluator chain, parallelize tournaments

- Rewrite generate_tables() with HashMap-based BFS instead of broken
  sentinel-loop sorted array approach. The old generator used a
  zero-terminated loop that stopped prematurely when mid-array key
  insertions left gaps, producing invalid trie pointers.

- Re-enable auto-generation in load_or_generate() since the generator
  now works correctly (verified by exhaustive C(52,5) correctness test).

- Wire HandRunner::showdown() through Evaluator::instance() instead of
  calling AlgorithmicEvaluator directly, giving access to the full
  3-tier cascade (Supersonic -> Cactus Kev -> Algorithmic).

- Parallelize tournament series loop with rayon for multi-core speedup.

- Remove dead insert_key function and test (unused after generator rewrite).

- Fix tautological benchmark assertion in integration tests.
This commit is contained in:
Jan-Peter von Hunnius 2026-05-30 12:55:11 +02:00
parent a46a800d11
commit 458b8af580
8 changed files with 238 additions and 274 deletions

View file

@ -28,6 +28,7 @@ log = "0.4"
thiserror = "2"
dashmap = "6"
dirs = "6"
rayon = "1.10"
[dev-dependencies]
proptest = "1.0"