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