21-JUN-2024
1610
Working on getting this fixed up and functional, I updated dependencies, cleaned up some syntax
stuff, got a flake set up and rustfmt configured and running. I’ll add precommits at some point
maybe.
I’m working on the pgn parsing issue, it appears to be failing to generate blocking moves for check.
It gets stuck on 26. .. Rf7 in the example fixture at tests/fixtures/no-variations.pgn. The perft
test is also over-counting the number of moves, so I need to figure out why it isn’t seeing the rook
move.
I’m going to check out bugstalker to see if it helps suss out what’s happening.
2115
I found the issue. I think my movegen was more or less fine? I added some logic about looking for
‘blocking squares’, but I don’t actually know if it’s necessary. I’ll have to come back and test it
when I get to the refactor stage. Right now I’ve chased down a different bug which appears to be due
to Game::from_fen/1 not calculating metadata from the FEN string. It ultimately delegates to
Ply::from_fen/1, which appears to incorrectly grant castling rights to black, which is incorrect.
I suspect this is because Metadata::default() grants castling rights, but in the event I see the
- value, I don’t do anything, which means it breaks.
2133
I got everything pushed up onto main, switched the branch over, and need to just do a few more
cleanup tasks before I can set the repo to open.
2147
Added a LICENSE (AGPLv3), README, and uncommented the next tier of perft, which is failing due to
unimplemented EP_CAPTURE in the src/ply/make.rs module.
For now, it’s good enough to go live I think. I still need to chase out some dependabot warnings, but that shouldn’t be too hard