!function(){"use strict";var e=Math.max,t=Math.pow;const o=t(2,-32),n=32557,r=19605,a=new Uint16Array(4),s=new DataView(a.buffer),l=()=>{const e=a[0],t=a[1],s=a[2],l=a[3],d=0|33103+n*e,i=0|63335+n*t+(r*e+(d>>>16)),c=0|31614+n*s+r*t+(62509*e+(i>>>16));a[0]=d,a[1]=i,a[2]=c,a[3]=5125+n*l+(r*s+62509*t)+(22609*e+(c>>>16));const m=(l<<21)+((l>>2^s)<<5)+((s>>2^t)>>11);return o*((m>>>(l>>11)|m<<(31&-(l>>11)))>>>0)},d=(e,t=0)=>{const o=16,n=65535,r=255;for(var a,s=1540483477,l=e.length,d=t^l,i=0;4<=l;)a=((a=e[i]&r|(e[++i]&r)<<8|(e[++i]&r)<<16|(e[++i]&r)<<24)&n)*s+(((a>>>o)*s&n)<<o),d=(d&n)*s+(((d>>>o)*s&n)<<o)^(a=((a^=a>>>24)&n)*s+(((a>>>o)*s&n)<<o)),l-=4,++i;switch(l){case 3:d^=(e[i+2]&r)<<o;case 2:d^=(e[i+1]&r)<<8;case 1:d=((d^=e[i]&r)&n)*s+(((d>>>o)*s&n)<<o)}return d=((d^=d>>>13)&n)*s+(((d>>>16)*s&n)<<16),(d^=d>>>15)>>>0},i=(t,o,n)=>e(Math.min(t,n),o),c=(e,t,o)=>{e=m(e),t=m(t);for(var n=0;3>n;n++)t[n]=t[n]*o+e[n]*(1-o);return a=i(~~(r=t)[0],0,255),s=i(~~r[1],0,255),"#"+(i(~~r[2],0,255)|s<<8|a<<16|16777216).toString(16).slice(1);var r,a,s},m=e=>{var t=e.replace("#","");3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);var o=parseInt(t,16);return[o>>16,255&o>>8,255&o]},h=[{Name:"#1",Colors:["#03071e","#2d2a32"],Mono:"#F2EFDE"},{Name:"#8",Colors:["#1A4AA1","#F26642","#FFFFFF","#81368F","#E4202A","#AFDBF5","#017D59","#FCD009"],Mono:"#E3EAEA"},{Name:"#9",Colors:["#3185B0","#C3EAEA","#DEDEDE","#769b49","#F1983F","#DDB90C","#D41A08","#071539"],Mono:"#DEDEDE"},{Name:"#2",Colors:["#5ABAD9","#d86c66","#FF977D","#AEC2C1"],Mono:"#E4E3DE"},{Name:"#3",Colors:["#3d5a80","#7fc6f0","#fe938c","#ee6c4d","#293241","#fed766"],Mono:"#ffd7cc"},{Name:"#4",Colors:["#f94e4e","#2f9be1","#70a538"],Mono:"#DFDAD7"},{Name:"#5",Colors:["#C0559D","#EABA00","#118CC5"],Mono:"#CAC8C6"},{Name:"#6",Colors:["#0189AD","#C6693D","#EDE2B1"],Mono:"#cEcEc9"},{Name:"#7",Colors:["#85BAD1","#abd8c8","#E59D8A","#E7B5D2","#F6d26F"],Mono:"#a0a0b5"}],x=(e,t,o)=>{let n=t,r=o,a=[],s=.01*n,l=.01*r,d=random([.075,random(.05,.25)]),i=random([.075,random(.05,.25)]),c=random([.075,random(.05,.25)]),m=random([.075,random(.05,.25)]),h={min:createVector(d,c),max:createVector(n-d,r-c),fhex:random(palette.Colors)},x={min:createVector(-i,-m),max:createVector(n+i,r+m),fhex:random(palette.Colors)};const u=e.round(e.random(4,8));return f(a,h,s,l,0,u),doublelayer&&f(a,x,10*s,10*l,0,2,!0),a},f=(e,t,o,n,r,a,s=!1)=>{const l=t.max.x-t.min.x,d=t.max.y-t.min.y;if(r===a)return void e.push(t);if(l<2*o||d<2*n)return void e.push(t);let i={},c={};const m=e=>{let n=random(t.min.x+o,t.max.x-o);e&&(n=t.min.x+l/2),i={min:t.min,max:createVector(n,t.max.y),fhex:random(palette.Colors),double:s},c={min:createVector(n,t.min.y),max:t.max,fhex:random(palette.Colors),double:s}},h=e=>{let o=random(t.min.y+n,t.max.y-n);e&&(o=t.min.y+d/2),i={min:t.min,max:createVector(t.max.x,o),fhex:random(palette.Colors),double:s},c={min:createVector(t.min.x,o),max:t.max,fhex:random(palette.Colors),double:s}};"alternate"===gridStyle?0==r%2?(m(!0),h()):(h(!0),m()):"regular"===gridStyle?l>d?m(!0):h(!0):"normal"===gridStyle?l>d?m():h():"column"===gridStyle?2>r&.5<random()?h(!0):m():"row"===gridStyle&&(2>r&.5<random()?m(!0):h()),f(e,i,o,n,50>e.length||.2<random()?r+1:a,a,s),f(e,c,o,n,50>e.length||.2<random()?r+1:a,a,s)},u=(e,t,o,n)=>e.drawingContext.isPointInPath(t,o,n),g=(t,o,n,r,a,s)=>{const l=t.drawingContext,d=b(o,.15,2);if(0===d.length)return;const{fhex:i,useGradient:m,sx:h,w:x,v:f}=n;let u=.95<random(),g=.99<random()&&!a;t.push(),t.noFill();let p=random(.5,20);u&&(p=random(5,150)),g&&!s&&(p=random(100,400));let y=sw*p,v=random(palette.Colors);.25<random()&&!s&&l.setLineDash([sw*random(20,200),50*sw]),t.strokeWeight(y),t.strokeCap(PROJECT),t.strokeJoin(ROUND);let C=c(i,v,map(o[0].x,h,h+x,0,1,!0)),D=c(palette.Mono,bgColor,map(o[0].y,0,height,0,.5,!0));(E=l.createLinearGradient(o[0].x,o[0].y,o[o.length-1].x,o[o.length-1].y)).addColorStop(0,C+"99"),E.addColorStop(1,D),l.strokeStyle=m?E:C+"99",t.push(),t.strokeWeight(y+e(20*sw,y*(g?0:.5))),t.blendMode(BLEND),l.translate(-5e3,0),l.shadowColor=bgColor,l.shadowBlur=0,l.shadowOffsetX=5e3*pixelDensity(),l.strokeStyle=i,t.translate(o[0].x,o[0].y),t.translate(-o[0].x,-o[0].y),w(t,d,.5,1),t.pop(),t.push(),t.blendMode(BLEND),.25<random()&&(l.shadowColor=.5<random()?palette.Mono:random(palette.Colors),l.shadowBlur=random(2),l.shadowOffsetX=.5<random()?-10*sw:10*sw,l.shadowOffsetY=.5<random()?-10*sw:10*sw);const S=random(.5,1);if(w(t,d,0,0),t.pop(),i!==bgColor&&(t.push(),t.blendMode(random([SOFT_LIGHT,BLEND])),w(t,d,.5,S),t.pop()),r){const e=random(3e3);var E;t.push(),t.blendMode("#1f1f1f"==bgColor?SCREEN:BLEND),t.stroke(i+("#1f1f1f"==bgColor?"33":"11")),t.fill(i+"33"),(E=l.createRadialGradient(d[0|int(d.length/2)].x,d[0|int(d.length/2)].y,0,d[0|int(d.length/2)].x*random(.95,1.05),d[0|int(d.length/2)].y*random(.95,1.05),e/2*sw)).addColorStop(0,i+("#1f1f1f"==bgColor?"88":"11")),E.addColorStop(1,bgColor+"11"),l.fillStyle=E,t.circle(d[0|int(d.length/2)].x,d[0|int(d.length/2)].y,e*sw),t.pop()}t.pop()},w=(e,t,o=0,n=2)=>{e.beginShape(),e.vertex(t[0].x,t[0].y);for(var r=0;r<t.length-1;r++){let x=map(r,-t.length/10,t.length,o,n,!0);var a=0<r?t[r-1]:t[0],s=t[r],l=t[r+1],d=r==t.length-2?l:t[r+2],i=s.x+(l.x-a.x)/6*x,c=s.y+(l.y-a.y)/6*x,m=l.x-(d.x-s.x)/6*x,h=l.y-(d.y-s.y)/6*x;e.bezierVertex(i,c,m,h,l.x,l.y)}e.endShape()},p=(e,t,o)=>e*(1-o)+t*o,y=(e,t,o)=>[{x:p(e.x,t.x,o),y:p(e.y,t.y,o)},{x:p(t.x,e.x,o),y:p(t.y,e.y,o)}],b=(e,t,o,n)=>{if(0===o)return e;const r=[],a=Object.keys(e),s=n?a.length:a.length-1;for(let o=0;o<s;o++){const l=e[a[o]],d=e[a[(o+1)%a.length]],i=y(l,d,t);n||0!==o?n||o!==s-1?(r.push({x:i[0].x,y:i[0].y}),r.push({x:i[1].x,y:i[1].y})):(r.push({x:i[0].x,y:i[0].y}),r.push({x:d.x,y:d.y})):(r.push({x:l.x,y:l.y}),r.push({x:i[1].x,y:i[1].y}))}return b(r,t,o-1,n)},v=(e,o,n,r,a,s)=>{let l=void 0===r?noiseScale:r,d=void 0===a?noiseScaleX:a,i=void 0===s?noiseScaleY:s;l/=sw,d/=sw,i/=sw;const c=(e,o,n)=>((e,t,o)=>noise(e*d,t*i,o*l))(e,o,n)*((e,o)=>{const n=createVector(width/2,height/2),r=min(width,height);var a=(n.copy().sub(e,o).mag()-r)/l;return 1<=a?1:-1>=a?-1:t(a,2)})(e,o);let m=sw;var h,x,f,u=m;return f=(c(e,o+u,n)-c(e,o-u,n))/(2*m*u),h=c(e+u,o,n),x=c(e-u,o,n),createVector(f,-(h-x)/(2*m*u))},C=e=>{const t=v(e.x,e.y,0,.5,.05,0).setMag(sw).mult(1);return e.add(t)},D=e=>{let t=v(e.x,e.y,0,.5,0,.05).setMag(2*sw).mult(1);return t=L(t,round(t.heading()/HALF_PI)*HALF_PI),e.add(t)},S=e=>{let t=v(e.x,e.y,0,.5,.05,0).setMag(2*sw).mult(1);return t=L(t,round(t.heading()/HALF_PI)*HALF_PI),e.add(t)},E=e=>{let t=v(e.x,e.y,0,.05,0,.05).setMag(5*sw).mult(5);return t=L(t,round(t.heading()/HALF_PI)*HALF_PI),e.add(t)},A=e=>{let t=v(e.x,e.y,0,.05,.05,0).setMag(5*sw).mult(5);return t=L(t,round(t.heading()/HALF_PI)*HALF_PI),e.add(t)},F=e=>{e.special=!0;let t=v(e.x,e.y,0,10.5,5e-4,5e-4).setMag(10*sw).mult(10);return noflow&&L(t,round(t.heading()/HALF_PI)*HALF_PI),e.add(t)},_=e=>{e.special=!0;let t=v(e.x,e.y,0,5e-4,5e-4,5e-4).setMag(15*sw).mult(noDiagonal?1e3:5);return L(t,round(t.heading()/HALF_PI*.5)*HALF_PI*.5),e.add(t)},M=e=>{e.curved=!0;const t=v(e.x,e.y,0,5e-4,5e-4,5e-4).setMag(5*sw).mult(1);return e.add(t)},L=(e,t)=>{var o=Math.sin,n=Math.cos;let r=e.mag();return e.x=r*n(t),e.y=r*o(t),e};let k="undefined"==typeof tokenData?(()=>{let e="0x";for(let t=64;0<t;--t)e+="0123456789abcdef"[~~(16*Math.random())];return e})():"string"==typeof tokenData?tokenData:tokenData.hash;const B=window;let P;B.hash=k;let R,G,I,N=new URLSearchParams(window.location.search).has("disablegrain")||!1;B.p5.RendererGL.prototype._initContext=function(){try{if(this.drawingContext=this.canvas.getContext("webgl2",this._pInst._glAttributes)||this.canvas.getContext("experimental-webgl",this._pInst._glAttributes),null===this.drawingContext)throw new Error("Error creating webgl context");{const e=this.drawingContext;e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),this._viewport=this.drawingContext.getParameter(this.drawingContext.VIEWPORT)}}catch(e){throw e}};let H,U=null;B.setup=()=>{windowWidth<.7*windowHeight?(U=windowWidth*(1/.7),H=windowWidth):(U=windowHeight,H=.7*windowHeight),createCanvas(H,U),R=createGraphics(width,height),G=createGraphics(width,height,WEBGL),I=G.createShader("\n#ifdef GL_ES\nprecision mediump float;\n#endif\nattribute vec3 aPosition;attribute vec2 aTexCoord;varying vec2 vTexCoord;void main(){vTexCoord=aTexCoord;vec4 positionVec4=vec4(aPosition,1);positionVec4.xy=positionVec4.xy*2.-1.,gl_Position=positionVec4;}\n","\n#ifdef GL_ES\nprecision mediump float;\n#endif\nvarying vec2 vTexCoord;uniform sampler2D tex0;uniform bool u_grain;uniform float u_noise_val;float random(vec2 n,float offset){return .5-fract(sin(dot(n.xy+vec2(offset,0),vec2(12.9898,78.233)))*43758.5453);}vec3 permute2(vec3 x){return mod((x*34.+1.)*x,289.);}float snoise(vec2 v){const vec4 C=vec4(.211325,.366025,-.57735,.02439);vec2 i=floor(v+dot(v,C.yy)),x0=v-i+dot(i,C.xx),i1;i1=x0.x>x0.y?vec2(1,0):vec2(0,1);vec4 x12=x0.xyxy+C.xxzz;x12.xy-=i1,i=mod(i,289.);vec3 p=permute2(permute2(i.y+vec3(0,i1.y,1))+i.x+vec3(0,i1.x,1)),m=max(.5-vec3(dot(x0,x0),dot(x12.xy,x12.xy),dot(x12.zw,x12.zw)),0.);m=m*m,m=m*m;vec3 x=2.*fract(p*C.www)-1.,h=abs(x)-.5,ox=floor(x+.5),a0=x-ox;m*=1.792843-.853735*(a0*a0+h*h);vec3 g;g.x=a0.x*x0.x+h.x*x0.y,g.yz=a0.yz*x12.xz+h.yz*x12.yw;return 130.*dot(m,g);}vec2 nD(vec2 uv){float noise=snoise(uv),l=snoise(uv*20.*mod(uv.y*.5,.25))*7.5e-4,angle=snoise(uv*2.5);vec2 offset=vec2(cos(angle)*l,sin(angle)*l);offset+=(noise-.5)/1000.,uv+=offset;return uv;}float sdc(in vec2 p,in float r){return length(p)-r;}float intrs(float shape1,float shape2){return max(shape1,shape2);}float sbtrc(float base,float subtraction){return intrs(base,-subtraction);}float blendReflect(float base,float blend){return blend==1.?blend:min(base*base/(1.-blend),1.);}vec3 blendReflect(vec3 base,vec3 blend){return vec3(blendReflect(base.r,blend.r),blendReflect(base.g,blend.g),blendReflect(base.b,blend.b));}vec3 blendGlow(vec3 base,vec3 blend){return blendReflect(blend,base);}vec3 blendGlow(vec3 base,vec3 blend,float opacity){return blendGlow(base,blend)*opacity+base*(1.-opacity);}void main(){vec2 uv=vTexCoord;uv.y=1.-uv.y;vec2 ouv=uv;uv=nD((ouv-.5)*1.+.5);vec2 dUv=nD((ouv-.5)*1.001+.5);float c=sdc(.5+vec2(.845-.7*uv.x,vTexCoord.y)-1.,.7),m=sbtrc(c,1.);vec4 ca=texture2D(tex0,uv);if(u_grain)ca+=random(dUv,5e-4)*snoise(dUv)*u_noise_val;ca.rgb*=1.-exp(-1e+4*abs(m)),ca.rgb*=.99+.75*cos(2000.*m)*.005,ca.rgb=mix(ca.rgb,texture2D(tex0,dUv).rgb,.05-smoothstep(2e-3,.05,abs(m*1.))),gl_FragColor=vec4(blendGlow(vec3(.2,.2,.2),ca.rgb,.975),1);}\n"),pixelDensity(2),G.pixelDensity(2),R.pixelDensity(2),(e=>{const t=~~((e.length-2)/2),o=[];for(let n=0;n<t;n++){const t=2+2*n;o.push(parseInt(e.slice(t,t+2),16))}const n=d(o,1690382925),r=d(o,72970470);s.setUint32(0,n),s.setUint32(4,r)})(k);const e=4294967295*l()>>>0;Math.random=l,randomSeed(e),noiseSeed(e),colorMode(HSB,360,100,100,255);const t=random(h)||h[0];B.palette=t,P=random([..."#1"==t.Name?[,,].fill("#1f1f1f"):[],...[,,,].fill("#dfdfdf"),...[,,,,].fill("#cfcfcf"),"#e1e3e5"]),B.bgColor=P;let o=random(["alternate","alternate","regular","normal","column","column","row"]);B.gridStyle=o,B.noiseScale=.005,B.noiseScaleX=.005,B.noiseScaleY=.005,B.maxScaleX=random(5e-4,.05),B.maxScaleY=random(5e-4,.05),B.allConstrained=.75<random(),B.allGradient=.9<random(),B.darkDots=.5<random(),B.showBg=.2<random(),B.noDiagonal=.8<random(),B.noflow=.125<random(),B.doublelayer=.9<random(),B.shaderNoiseAmount=random(.075,.1),B.shaderRotateY=.5<random(),B.shaderRotateX=.5<random(),B.offsetF=random([-10,50,0,25,50]),B.boxes=x(B,.7,1),B.totalBoxes=B.boxes.length,console.table({offsetF,gridStyle:o,allConstrained,allGradient,palette:t.Name,darkDots,showBg,noDiagonal,noflow,doublelayer,hash:k,total:B.boxes.length}),background(P),R.background(P),B.pts=[]},B.applyShader=e=>{G._renderer.GL,G.clear(),G.reset(),G.push(),G.shader(I),I.setUniform("tex0",e),I.setUniform("resolution",[width,height]),I.setUniform("u_grain",!N),I.setUniform("u_rotate_y",shaderRotateY),I.setUniform("u_rotate_x",shaderRotateX),I.setUniform("u_noise_val",map(height,500,5e3,.025,.15,!0)),G.rectMode(CENTER),G.noStroke(),G.rect(0,0,width,height),G.pop(),push();const t=G.elt.toDataURL();loadImage(t,(e=>{clear(),image(e,0,0,width,height)})),pop()},B.draw=()=>{render()},B.render=async()=>{let e=U,t=.5*(width-.7*e),o=.5*(height-e);B.sw=e/5e3;let n=0==B.boxes.length;B.boxes.splice(0,2).forEach((n=>{if(n){const r=T(B.totalBoxes-B.boxes.length,B.totalBoxes);((e,t,o,n,r,a)=>{const s=e.drawingContext;e.push();const l=palette.Colors[0]===bgColor?palette.Colors[1]:palette.Colors[0],d=c(l,palette.Mono,.2);e.textFont("Arial"),e.fill(d),e.stroke(bgColor),e.strokeWeight(10*sw);const i=s.createLinearGradient(600*sw,height/2+40*sw,width-800*sw,height/2+40*sw);i.addColorStop(0,bgColor),i.addColorStop(.5,d),i.addColorStop(1,bgColor),s.fillStyle=i,e.textSize(160*sw),e.textAlign(CENTER),e.text("Wired wonders, 2023",width/2,height/2),e.fill(bgColor),e.textSize(158*sw),e.stroke(d),99>a&&e.noStroke(),e.strokeWeight(map(a,0,100,0,10*sw,!0)),e.text("Wired wonders, 2023",map(a,0,100,0,width/2,!0)-sw,height/2+sw),e.pop()})(B,0,0,0,0,r),3<B.boxes.length&&.7<random()&&((e,t,o,n,r)=>{const a=t.max.x-t.min.x,s=t.max.y-t.min.y;e.stroke(t.fhex),e.blendMode(BLEND),e.strokeWeight(random(2,10)*sw),e.fill(random(palette.Colors)+"99"),e.rect(o+t.min.x*r+10*sw,n+t.min.y*r+10*sw,a*r-20*sw,s*r-20*sw)})(R,n,t,o,e),((e,t,o,n,r)=>{const a=t.max.x-t.min.x,s=t.max.y-t.min.y;((e,t,o,n,r,a=!1,s,d=!1)=>{noiseScale=random(.01,2e-4);const i=new Path2D,c=(m=random(-10,120)*sw,Math.round(1e3*m)/1e3);var m;i.rect(c,c,width-2*c,height-2*c);const h=(e=>{for(var t,o,n=e.length,r=[...e];n;)t=~~(l()*n--),o=r[n],r[n]=r[t],r[t]=o;return r})([{name:"1",func:C},{name:"2",func:D},{name:"3",func:S},{name:"4",func:E},{name:"5",func:A},{name:"6",func:F},{name:"7",func:_},{name:"8",func:M}]);let x=0;const f=random(["all",..."row"==gridStyle?[]:["right-left"],..."column"==gridStyle?[]:["top-bottom"],"all","top","bottom","left","right"]),p={sx:t,sy:o,w:n,h:r,offset:-50*sw,constrained:.85<random(),fhex:s,useGradient:allGradient||.5<random(),constrainSide:f,ofc:sw*offsetF};min(60,round(r/16/sw));for(let s=round(o/sw);s<round((o+r)/sw);s+=min(random([120,60,60]),round(r/8/sw))){const l=constrain(int(map(s,round(o/sw),round((o+r)/sw),0,7)),0,7);p.fhex=palette.Colors[l]||p.fhex,!a&&s>(o+r/2)/sw&&4>x&&(x++,p.fhex=random(palette.Colors));let d=min(random([120,60,60]),round(n/8/sw));for(let o=round(t/sw);o<round((t+n)/sw);o+=d){const t=[],n=.998<random();let r=createVector(o*sw,s*sw);for(let o=0;o<(n?550:int(random(2,16)));o++)for(let a=0;a<(n?1:max(int(random(.1*o,2*o)),1));a++){r=h[l].func(r);const o=createVector(r.x,r.y);u(e,i,r.x*pixelDensity(),r.y*pixelDensity())&&t.push(o)}if(0!==t.length&&(g(e,t,p,n,r.special,r.curved),!r.special&&!r.curved)){let o=random(2,p.constrained?50:150);e.push(),e.drawingContext.globalAlpha=.7,e.noFill(),e.drawingContext.setLineDash([1*sw,24*sw]),e.strokeCap(SQUARE),e.stroke(random(palette.Colors)),e.strokeWeight(o*sw),w(e,t,1),e.pop()}}}if(!d){e.push();let a=color(p.fhex);a.setAlpha(150),e.rectMode(CORNERS),e.blendMode(SOFT_LIGHT),e.noStroke(),e.fill(a),e.rect(t+2*p.ofc,o+2*p.ofc,t+n-2*p.ofc,o+r-2*p.ofc),e.pop()}})(e,o+t.min.x*r,n+t.min.y*r,a*r,s*r,1<boxes.length&&.5<random(),t.fhex,t.double)})(R,n,t,o,e)}})),n&&(V(),noLoop(),await applyShader(R))},B.keyPressed=()=>{if(83==keyCode&&save("wired_wonders"+k+".png"),70==keyCode){let e=fullscreen();fullscreen(!e)}};const T=(e,t)=>100*e/t,V=()=>{R.push(),R.blendMode("#1f1f1f"==P?ADD:MULTIPLY);const e=color("#1f1f1f"==P?"#f0f0f0":"#202020");e.setAlpha(200),R.stroke(e),R.strokeCap(SQUARE),R.drawingContext.setLineDash([2*sw,int(random(10,20))*sw]),R.strokeWeight(2*sw);for(let e=200;e<height/sw-200;e+=16+random(-2,2))R.line(200*sw,e*sw,width-200*sw,e*sw);R.pop()}}();
↓ show full (15,924 bytes)