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.
If you set canvas.width to client.width, you can remove the bit that fixes the mouse position. This one only works at the default width (not fullscreen) because I had to hard-code the canvas width to make room for the fade effect. Nesting stroke inside beginPath saved 1 crucial byte. :)
Can save another 2 bytes by: R(Y,X,fillRect(0,0,w,w),.2,beginPath(stroke()),moveTo(X,Y))
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)