const colors=["#BF0413","#023E73","#02733E","#F29F05","#F24405","#000"];class Random{constructor(n){this.useA=!1;const t=function(n){let t=parseInt(n.substr(0,8),16),e=parseInt(n.substr(8,8),16),r=parseInt(n.substr(16,8),16),o=parseInt(n.substr(24,8),16);return function(){let n=((t|=0)+(e|=0)|0)+(o|=0)|0;return o=o+1|0,t=e^e>>>9,e=(r|=0)+(r<<3)|0,r=(r=r<<21|r>>>11)+n|0,(n>>>0)/4294967296}};this.prngA=new t(n.substr(2,32)),this.prngB=new t(n.substr(34,32));for(let n=0;n<1e6;n+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(n,t){return n+(t-n)*this.random_dec()}random_int(n,t){return Math.floor(this.random_num(n,t+1))}random_bool(n){return this.random_dec()<n}random_choice(n){return n[this.random_int(0,n.length-1)]}}let _=new Random(tokenData.hash);function dpt(n,t){const e=.0011*(width-2*t);for(let t=0;t<516;t++){const r=t/516,o=map(r,0,1,0,width);for(let s=0;s<516;s++){const a=s/516,i=map(a,0,1,0,height);n.erase(noise(20*r,20*a)*noise(1+20*r/2,1+20*a/2)*200),n.rect(o,i,e,e),n.noErase(),t%12==0&&s%12==0&&(n.erase(30*noise(20*r,20*a)),n.rect(o,i,e,e),n.noErase())}}n.erase(40);for(let t=0;t<100;t++)n.rect(_.random_int(0,width),_.random_int(0,height),1,1);n.noErase()}function ppprt(n){loadPixels();for(let t=0;t<pixels.length;t+=4){let e=_.random_int(-n,n);pixels[t]=pixels[t]+e,pixels[t+1]=pixels[t+1]+e,pixels[t+2]=pixels[t+2]+e}updatePixels()}const bezPt=(n,t,e)=>{const r=n=>n*(n=>pow(n,2))(n)+(1-n)*(n=>1.7*pow(n,2))(n),o=n=>n*(n=>1.7*-pow(1-n,2)+1)(n)+(1-n)*(n=>1-pow(n-1,2))(n);return bezierPoint(0,r(n),o(t),1,bezierPoint(0,r(n),o(t),1,bezierPoint(0,r(n),o(t),1,e)))},cosNorm=n=>(cos(n)+1)/2;function nearest(n,t,e,r){var o=Math.round((n-t)*r/(e-t))/r;return(o=Math.min(Math.max(o,0),1))*(e-t)+t}function dtri(n,t,e=0){n.beginShape();for(let r=0;r<3;r++){let{x:o,y:s}=t[(r+e)%4];n.vertex(o,s)}n.endShape(CLOSE)}function dar(n,t,e=0,r=0){e=(e+1)%4;const o=p5.Vector.sub(t[0],t[2]).mult(2).sub(-r,-r),{x:s,y:a}=t[e];n.arc(s,a,o.x,o.y,HALF_PI*e,HALF_PI+HALF_PI*e,PIE)}function darInv(n,t,e,r=50){e=(e+1)%4,n.beginShape();const o=t[e%t.length],s=t[(e+1)%t.length],a=t[(e+3)%t.length],i=t[(e+2)%t.length],m=p5.Vector.sub(o,i);n.vertex(a.x,a.y),n.vertex(o.x,o.y),n.vertex(s.x,s.y);for(let t=0;t<r;t++){const o=t/(r-1)*HALF_PI;let s=cos(o)*m.x+i.x,a=sin(o)*m.y+i.y;e%2==0&&(s=sin(o)*m.x+i.x,a=cos(o)*m.y+i.y),n.vertex(s,a)}n.endShape(CLOSE)}function setup(){let n=window.innerWidth,t=window.innerHeight;n<t?t=round(1.385*n):n=round(t/1.385),sz=min(n,t),createCanvas(n,t),mrgn=.07*sz,noiseDetail(3,.5),noLoop(),noiseSeed(_.random_int(0,1e4)),noStroke(),cg=createGraphics(width,height);const e=createGraphics(width,height);e.noStroke();const r=_.random_choice(["light","light","light","light","light","dark","dark","dark","dark","chroma"]);background("dark"===r?40:[232,224,209]),e.fill("dark"===r?[232,224,209]:[25]);const o=_.random_int(0,1)>.25?"x":"y",s=_.random_int(3,37),a=_.random_num(0,2)*TAU*2,i=HALF_PI+_.random_num(0,1)*TAU,m=_.random_num(0,1),c=_.random_num(0,2)*TAU*2,h=HALF_PI+_.random_num(0,1)*TAU,d=_.random_num(0,1),u=_.random_num(.25,.75),g=_.random_num(.25,.75),l="x"===o?.85:.65,p=_.random_num(0,Math.PI),f=_.random_num(0,Math.PI),x=(n,t,e,r,o)=>{const s=t>.5||e>20?cosNorm(PI+n*PI+r):1;return.5+(cosNorm(n*e+o)-.5)*t*l*s},b=(n,t)=>bezPt(x(t,m,a,p,i),x(t,d,c,f,h),n),w=n=>.5+1*(n-.5),P=n=>bezPt(w(u),w(g),n),I=floor(_.random_num(0,4)),A=s>7&&_.random_num(0,1)>.25,k=s>7&&_.random_num(0,1)>.25,v=[];for(let n=0;n<s;n++){const t=nearest(P(n/s),0,1,200),u=nearest(P((n+1)/s),0,1,200);if(t===u)continue;const g=ceil(1/(u-t)*("x"===o?min(width,height)/max(width,height):max(width,height)/min(width,height)));for(let l=0;l<g;l++){const _=(n,e,r)=>n>.5||e>20?cosNorm(PI+t*PI+r):1;let x=1;(d>.5||c>20)&&(x=cosNorm(PI+t*PI+f));const w=A?cosNorm(t*a+i)*m*_(m,a,p)*.2:0,P=k?cosNorm(t*c+h)*d*_(d,c,f)*.2:0,F=l/g,z=4*floor(1/(u-t)),E=nearest(b(F,t),w,1-P,z),L=nearest(b((l+1)/g,t),w,1-P,z);if(t===u||E===L)continue;let S,H,N,M;"x"===o?(S=map(E,0,1,mrgn,width-mrgn),H=map(L,0,1,mrgn,width-mrgn),N=map(t,0,1,mrgn,height-mrgn),M=map(u,0,1,mrgn,height-mrgn)):(N=map(E,0,1,mrgn,height-mrgn),M=map(L,0,1,mrgn,height-mrgn),S=map(t,0,1,mrgn,width-mrgn),H=map(u,0,1,mrgn,width-mrgn));let T=[createVector(S-.35,N-.35),createVector(H+.35,N-.35),createVector(H+.35,M+.35),createVector(S-.35,M+.35)];A||k||(T=T.map(n=>{const e=g<14?.04:.009,r=(noise(3*t,0)*noise(3+10*t,0)-.5)*sz*e;return"x"===o?n.add(r,0):n.add(0,r)}));const V=[dtri,dar],B=abs(L-E),C=abs(u-t);min(B,C)/max(B,C)>.1&&V.push(darInv),s>20&&V.unshift(dtri,dar);const U=V[round(noise(.75*E,10*t)*(V.length-1))],D=()=>{const e=I+n+floor(2*F)+round(2*noise(10*t)),r=[0,1,2,3];return noise(2*E,2*t)>.5&&r.reverse(),r[e%4]};function y(){"chroma"===r&&e.fill(colors[(1+I+floor(noise(n/colors.length)*n)+floor(2*F))%colors.length])}const G=noise(0,2*t)>.75?()=>{y(),darInv(e,T,abs(D()))}:()=>{y(),U(e,T,abs(D()))};v.push(G)}}const F=/\bHeadlessChrome/.test(navigator.userAgent),z=1e3/v.length,E=()=>{dpt(e,mrgn),cg.image(e,0,0),clear(),background("dark"===r?40:[232,224,209]),image(cg,0,0),ppprt("dark"===r?16:10)};shuffle(v).forEach((n,t)=>{const o=()=>{n(),cg.image(e,0,0),clear(),background("dark"===r?40:[232,224,209]),image(cg,0,0),cg.clear()};F?o():((n,t)=>{setTimeout(()=>{t(),n===v.length-1&&setTimeout(()=>E(),30)},n*z)})(t,o)}),F&&E()}
↓ show full (5,379 bytes)