- Exact HalfKAv2_hm formula with OrientTBL and KingBuckets
- Simplified FullThreats with correct formula structure
- Boolean indexing fixed for numpy arrays
- 27 features on starting position (simplified tables)
- All core tests passing
- Exact HalfKAv2_hm formula from Stockfish source
- Exact FullThreats formula with lookup tables
- Precomputed tables matching Stockfish structure
- 71 features on starting position
- All tests passing
- Use oriented squares for piece encoding
- 24 pieces + 1 king bucket = 25 active features on starting position
- King bucket features prefer white king perspective
- All tests passing (11 tests)
- Use piece_sq * 6 + piece_type encoding
- 32 active features for 32 pieces on board
- Simplified from FullThreats (60,720) to HalfKAv2_hm only
- All tests passing (11 tests)