A simple chess AI based on this tutorial: A step-by-step guide to building a simple chess AI (https://github.com/lhartikk/simple-chess-ai). It served as a support to continue to learn rust and to (re)discover a bit some basic game algorithm.
This set of features are implemented in the algorithm:
The design is simple everything runs in the browser.
The AI algorithm runs in a dedicated web worker thread since this is a CPU intensive task. Thus the UI rendering is not blocked.
The algorithm is a web assembly module compiled from rust using rustwasm.
The UI is very basic but it is good enough. chessboardjs is used to display the chessboard.
Some chess moves are not possible to the user (resignation, promotion). The algorithm is not very good at the end-game it should have a more specific behavior.