Finite state machines and statecharts
FicusJS provides a set of functions for extending components to use finite state machines and statecharts.
What is a finite state machine?
A finite state machine is an alternative way of modeling program state; instead of defining independent variables, a machine is crafted specifically to handle what states are possible, and when a machine is a given state, what next state is allowed.
What are statecharts?
Statecharts are the "bigger brother" of state machines, designed to overcome the limitations of state machines. A statechart is essentially a state machine that allows any state to include more machines, in a hierarchical fashion.
Find out more
You can find out more about state machines and statecharts at https://statecharts.dev