- Model the board space. ✓
- Model piece rules. ✓
- Brute-force iteration over position space. ✓
- Optimize iteration to skip symmetrical positions.
- Attempt iterative building fo valid positions (add pieces one by one ensuring the board is valid in the process). ✓
- Account for rotational symmetry.
- Memoization of attack map computation. ✓
- Command-line interface. ✓
- Experiment with Zobrist hashing. (zobrist branch) ✓
- Experiment with multi-processing.