dwitter.net

+ New dweet
function u(t) {
} //
122/140


Please log in (or register) to post a dweet (copy-paste the code somewhere safe to save it meanwhile)


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.
show FPS hide FPS share fullscreen

function u(t) {

}//
93/140


Please log in (or register) to post as a new dweet (copy-paste code somewhere safe to save it meanwhile).

  • Limited Range Delta Compression - Fit 200 chars! with extreme limitations :D
  • u/tomxor
    Each char is encoded as 5 bits (fitting 4 into each 20bit surrogate pair), representing the numeric difference between the previous and current ASCII codepoint. Since 5 bits only provides 32 values this is limited to shifting -16 to +15 codepoints each char, this makes it rather challenging to write code with since you can only reach a max of 1/3 of the useful ASCII codepoints at a time.
  • u/tomxor
    Here's the encoder if you are looking for a very contrived adventure: f=(s,x=96,b=16,o='')=>{for(p=0,i=0;i<s.length;){x+=d=s.charCodeAt(i)-x;p|=d+b<<((i%4^2)*5);++i%4?0:p=o+=String.fromCodePoint(p+0x10000)}return o;}; f('helloooworld')
  • u/tomxor
    ... don't try this, seriously, you can't even get a for loop started
  • u/tomxor
    #compressor

Please log in (or register) to comment.

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)