u(t) is called 60 times per second.
t: Elapsed time in seconds.
S: Shorthand for Math.sin.
C: Shorthand for Math.cos.
T: Shorthand for Math.tan.
R: Function that generates rgba-strings, usage ex.: R(255, 255, 255, 0.5)
c: A 1920x1080 canvas.
x: A 2D context for that canvas.
Oh also can define global mousemove event rather than on c: onmousemove=e=>R=e;x.fillRect(R.x-25,R.y-25,50,50) pretty sure that's as far as it goes, -44 chars
If you are happy without full screen you could also ommit the width/height and multiply by an appropriate constant: c.width|=onmousemove=e=>R=e;x.fillRect(R.x*3.4-25,R.y*3.4-25,50,50) that's -73, now you have some space to do something.
u(t) is called 60 times per second.
t: elapsed time in seconds.
c: A 1920x1080 canvas.
x: A 2D context for that canvas.
S: Math.sin
C: Math.cos
T: Math.tan
R: Generates rgba-strings, ex.: R(255, 255, 255, 0.5)