TL/DR: 7segment display that is less laggy than others, if used with a low refresh rate (say, 10fps).
----------------------------------------------------
-------------------------------------------------------------
-------------------
my take on the 7segment, done entirely with entityByGeomID calls. This makes it so that every screen refresh is more CPU intensive than a normal 7seg made with tons of variables, but it idles completely when not refreshing (i.e. zero code runs when the number is static) making it lag-less between refreshes.
It is a complete mess...
Only supports positive numbers for now, but it can accept ints and floats. might make it support negatives later.
To reduce the number of displays (i.e. make it a 2 digit screen) delete the digits from the RIGHT, and then modify the variable "_amountOfDisplays" in the dark red box.
You can hide the fixjoints if you want, they are barely visible to show how the thing works.
To write to it, you have to call _writeToDisplay(n) where n is the number you want to write. so, from a laser it'd be
onHitByLaser = (e)=>{ e.geom.writeToDisplay(12.34) }
or, if you prefer suffering and want to use the same lagless transfer method, it's a little bit more complicated - with an axle's (or fixjoint's) onSpawn, write the dark red box geomID to the object from which you want to control the screen, then use entityByGeomID sporadically to write stuff to the screen
----------------------------------------------------
-------------------------------------------------------------
-------------------
Fixed some edge cases (ints ending in one or more zeros)
Got rid of some unused local vars and leftover debugging stuff
Now displays negative values too