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.
#COMPRESSOR replace $ with your code... $="for(c.width|=i=9;i--;)x.fillRect(400+i*99+S(t)*300,400,50,200)";n=[...new Set([...(';'+$)])].join(o='');for(v=i=0;(q=$[i])||i%4;++i)v+=q?n.indexOf(q)<<i%2*5:0,i%2?(o+=String.fromCharCode(((i%4==3?55:54)<<10)+v),v=0):0;throw 'for(I=O="";Q="'+o+'".charCodeAt(I/2);O+="'+n+'"[Q>>I++%2*5&31]);eval(O)'
This is way better than my crazy delta compressor, but it's still surprisingly difficult to stick to a 32 char set.
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)