Let’s start with blender. Then let’s remove the 3D rendering part. What we are left with is a bunch of 2d windows, panels, forms, trees, etc …
I think part of the struggle is this.
-
Most are familiar with model-view-controller
-
Most are familiar with React’s data → Vdom.t
Because of the above, the Model.t, Action.t, apply: Model.t → Action.t → Model.t are very familiar.
So now we have this issue of how do we build bigger things from smaller things.
-
If the answer is: bigger state machines from smaller state machines – the I’m missing something obvious, see the struggle in How to Compose Janestreet/Bonsai components?
-
If instead, the answer is not: bigger state machines from smaller state machines, it seems like we are deviating off the path of model-view-controller or react’s data → vdom.t ; it’s a bit unfortunate that just as we leave the familiar analogies, the documentation / guide ends.
That said, it is entirely possible I am missing something very obvious, as it appears no one else is struggling with this / bonsai.