It looks quite familiar, it generates a plain data structure and reacts on a set of user inputs. I‘d have to look up how this communicates with threejs (which is done via a wrapper library) and what the semantics of that is, but otherwise the code looks clean and simple to me.
Looks pretty amenable to hacking with the boy.
I know we're using an engine, but still shocking how little code it is.