5-OCT-2024
0015
These too:
const EMPTY : &'static str = " ";
const HORIZONTAL : &'static str = "─";
const TOP_LEFT_CORNER : &'static str = "┌";
const TOP_RIGHT_CORNER : &'static str = "┐";
const BOTTOM_LEFT_CORNER : &'static str = "└";
const BOTTOM_RIGHT_CORNER : &'static str = "┘";
const VERTICAL : &'static str = "│";
const CROSS : &'static str = "┼";
const TEE_RIGHT : &'static str = "├";
const TEE_LEFT : &'static str = "┤";
const TEE_DOWN : &'static str = "┬";
const TEE_UP : &'static str = "┴";
const TRANSPARENT_ROOK : &'static str = "♖";
const TRANSPARENT_KNIGHT : &'static str = "♘";
const TRANSPARENT_BISHOP : &'static str = "♗";
const TRANSPARENT_QUEEN : &'static str = "♕";
const TRANSPARENT_KING : &'static str = "♔";
const TRANSPARENT_PAWN : &'static str = "♙";
They may be useful again someday.
2143
I got things cleaned up and merged, I think the board is basically done for now. It’s pointed out a need to extract some of the UI to configuration, so I can change it more easily. I dislike the unicode pieces a lot, I imagine it’s just the font I’m using not being particular legible, but I think I want to aim in a direction of sprites rendered using a terminal image api. This is a little bit trickier, and think my time is better spent elsewhere right now. When I do that, I’ll spend some time looking at custom font patching as well, as keeping it all text is pretty nice, and I don’t think it’d be too difficult to make some better looking pieces.
I think next I want to set up an integration test, the goal will be to evaluate some deep perft, and send the games
off to be ‘validated’ by stockfish, ideally in parallel (on both sides).
The idea would require building some better abstractions around Engines, and would also work towards finishing the
movegen component. I do want to build the Alteration based model; but I think I’m close enough with my initial, naive
approach that it’s worth bringing to completion if I can before starting on the next version.
I do want to get the UI finished soon, but it needs some design review, as the current deeply nested approach is a
little tricky without some distinct ‘main loop’. This should be straightforward to build with tokio, but I need to
take some time to do it.
I’ve been working with worktrees recently; and I’m debating just having three branches running so I can switch between
subtasks. It’ll make the LOG a little weird to maintain though – parallel universes. Maybe I’ll start adding the
branch to the entry? It should be a straightforward merge process.
I suppose I’ll know by the next entry.
2201 - movegen-v2
Hi from a worktree. This worktree will track work on the ‘movegen-v2’, which is a new approach to tracking gamestate and generating moves. I expect this branch to merge once over it’s lifespan. I’m running a few of these worktrees simultaneously, experimenting with the model, we’ll see if it works.