The original version of this code had ES6 modules (using rollup and babel to help). This has proven, at this stage, to be quite difficult to manage. As such all code was lumped into a single file for now and module code (non-ES6) is being reduced to the bare minimum. As soon as ES6 module support for browsers and Node.JS is stable everything will go back to ES6 modules. For now, its a mess.
Version 1 will support the teaching tool metis-sim-web. It will also be runnable on Node.JS as a stand-alone simulator
ES6 modules
The Node.JS version will be optimized for speed (GPU and C code for CPUs)