Comment by vigrant
7 hours ago
So did some research....
Fairy would help with search tree accuracy but it's not expressive enough to cover everything, you can't encode "no captures for 5 moves" in an INI config. I'd still need the JS filtering layer for dynamic constraints, so you would end up in the same place with those cases.
Ah yeah that'll get complicated quickly. :( It'd be nice if stockfish or its variants exposed the "ply searcher" with some kind of a callback so you could quickly kill a ply based on your custom constraints.
When I was doing some research into rolling my own chess engine about 5 years ago I stumbled across this:
https://github.com/josefjadrny/js-chess-engine
But you'd have to modify its minimax search and now we're getting pretty deep down the rabbit hole. Either way, good luck!