Rosmaro is responsible for handling changes of behavior.
React renders the view.
Redux stores the state.
Redux-Saga handles declarative side effects.
Rosmaro Editor was used to draw the graph.json file.
Rosmaro-React was used to integrate React with Rosmaro.
Rosmaro-Redux was used to integrate Redux with Rosmaro.
Rosmaro-Tools helped to generate bindings based on the directory structure.
Rosmaro-Binding-Utils made it easy to write bindings.
Create React App was used to bootstrap this demo.
There is just 1 IF responsible for the logic:
const arrow = ateCarrots >= 5 ? 'ate 5 carrots' : 'ate a carrot';
The rest of the logic looks like this (in the Rosmaro visual editor):