Two-players chess game

Motivation

This example is a simple user interface that is used in the tutorials section to introduce hierarchical machines. Aside from that, it showcases how the reuse of battle-tested components (ChessBoard component for displaying a chess game, chess.js library to handle the game itself) allows the machine to focus only on the UI logic.

Among the learnings from the example are:

Modeling

chess game with clock

Implementation