Namespace PonzianiComponents
Classes
Chessboard
Blazor Component for adding an interactive chessboard to a Blazor application. It was build as a Blazor version of chessboard.js and allows to use this functionality without the need to interop with javascript.
There are however quite some differences:
- No animations
- It has chess knowledge and therefore provides legal move check out of the box
Engine
Blazor component wrapping an UCI compliant WebAssembly Chess Engine
The component uses the WebAssembly port of Nathan Rugg of ((https://github.com/nmrugg/stockfish.js) Stockfish 14.1
NOTE: Stockfish.js 14.1 reqiures some of the latest features and does not work in every browser.
As it uses the latest WebAssembly threading proposal it requires these HTTP headers on the top level response:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
And the following header on the included files:
Cross-Origin-Embedder-Policy: require-corp
The UI of the engine component consists of 3 parts:
- Info Panel showing the engine's evaluation info (score, depth and principal variation)
- Evaluation Bar showing the current evaluation graphically
- Log Panel showing the uci communication
To have more flexibiliyt regarding the UI setup, the evaluation bar and the log panel are offered as independent components: EvaluationGauge and EngineLog
There is only one Engine Process available per window. So by using 2 Engine components, you will not get 2 engine workers, but only one. All UCI commands you to one of your engine commands will reach the same engine.
EngineLog
EvaluationGauge
Engine Evaluation Bar
MovePlayedInfo
Callback information provided by OnMovePlayed
MoveSelectInfo
Scoresheet
Blazor component to list the moves from a chess game
It offers Scoresheet.DisplayMode
You can select if moves shall be outputted in SAN, FIGURINE or in UCI (as used in UCI protocol for engines)
The component is able to output Comments and Variations
SetupChangedInfo
Callback information provided by OnSetupChanged
Enums
Orientation
Scoresheet.DisplayMode
Display Mode for Move List
Scoresheet.NotationType
The output format used for the moves