A good 3 years ago I ported my simulation of an absolutely minimal processor from Windows to the browser. cpusimulation.hofk.de
Originally I wanted to generate a “real” 3D user interface with three.js.
However, the effort became too much in relation to the actual goal of the port and I only added some 3D elements to the display. The right side at CPU-Simulation-8Bit is 3D and with the 3D arrows you move up and down in RAM. It would need standard 3D elements in the browsers themselves.
But even with 2D the browsers are not consistent.
If you look at the picture at the beginning of Quaternion - Axis, Angle Visualization, you can see the version of Firefox’s slider at the time, which was in contrast to other browsers with round controls. If you start the program now, everything is round in Firefox, too. In that case beside the point, but in other scenarios it can disturb the whole layout.
To test what would be feasible I experimented with some elements.
The selection of the machine commands instead of a listbox by raycast from a rotatable wheel with several columns (in the picture a column wireframe).
Or pulling out the commands like a tape measure.
Instead of on one surface on 4 surfaces all around, so that no matter from where you look at it you can select the command.
The RAM solo online: BinaryMemory