0xf7d9…484d

All memos sent from and to 0xf7d9…484d.

0xf7d96d2d…484d·#15,199,487·0x15085ff4…ad0d96
GenArtPaymentProxy: Invalid paye`GenArtPaymentProxy: zero balance`GenArtPaymentProxy: Sender must `GenArtPaymentProxy: sender is no`
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>TIDAL FRICTION</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>*{margin: 0; padding: 0; overflow: hidden;}main{display: flex; justify-content: center;}canvas{margin: auto;}</style></head><body><script>function onMetadata(){window.top?.postMessage(`genart:metadata:${JSON.stringify(window.METADATA)}`,"*")}function onDone(){window.top?.postMessage(`genart:done`,"*"),window.onImageRendered&&window.onImageRendered()}p5.disableFriendlyErrors=!0,window.METADATA={};function random_hash(){let a="0123456789abcdef",b="0x";for(let d=64;0<d;--d)b+=a[Math.floor(Math.random()*a.length)];return b}class Random{constructor(a){this.seed=parseInt(a.slice(0,16),16)}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(0>this.seed?~this.seed+1:this.seed)%1e3/1e3}random_between(d,a){return d+(a-d)*this.random_dec()}random_int(d,a){return Math.floor(this.random_between(d,a+1))}random_choice(a){return a[Math.floor(this.random_between(0,.99*a.length))]}}const Seed=options.hash;rnd=new Random(Seed,8);const screenMode=window.innerWidth<=1*window.innerHeight?1:0,DEFAULT_SIZE=1300,HEIGHT=Math.floor(screenMode?window.innerWidth/1:window.innerHeight),WIDTH=Math.floor(1*HEIGHT),DIM=Math.min(WIDTH,HEIGHT),M=DIM/DEFAULT_SIZE;var t=1;let c1,c2,c3,c4,noiseScale=rnd.random_between(.6,1),noiseScaleX1=rnd.random_between(.6,1),noiseScaleY1=rnd.random_between(.6,1),noiseScaleT1=.5*rnd.random_between(1e-6,8e-5),noiseScaleX2=rnd.random_between(.6,1),noiseScaleY2=rnd.random_between(.6,1),noiseScaleT2=.5*rnd.random_between(1e-6,8e-5),noiseScaleX3=rnd.random_between(.6,1),noiseScaleY3=rnd.random_between(.6,1),noiseScaleT3=rnd.random_between(3e-5,2e-4),noiseScaleX4=rnd.random_between(.1,2),noiseScaleT4=rnd.random_between(1e-5,.004),noiseScaleA=rnd.random_between(.25,.45),ColorPicker=rnd.random_int(0,37),shapePicker=rnd.random_dec(),shapeOffset=rnd.random_between(70,120)*M,offset=0,structurePicker=rnd.random_dec(),Padding=30*M,circle=520*M,bgPicker=rnd.random_int(0,7),bgPicker2=rnd.random_dec(),stylePicker=rnd.random_dec(),rotationPicker=rnd.random_dec(),circlePicker=rnd.random_dec(),effectPicker=rnd.random_dec(),outlinePicker=rnd.random_dec(),distortionPicker=rnd.random_dec(),noisePicker=rnd.random_dec(),typePicker=rnd.random_dec(),intensity=rnd.random_dec(),noiseType=rnd.random_int(1,12),variationPicker=rnd.random_dec(),noiseVar1=rnd.random_between(.8,1.1),noiseVar2=rnd.random_between(.6,.8),overlayPicker=rnd.random_dec(),squareCounter=0,woven=rnd.random_dec(),tileCounter=0,pointCounter=0,density=rnd.random_dec(),modulate=rnd.random_dec(),lines=rnd.random_dec(),blacklines=rnd.random_dec(),blendmode=rnd.random_dec(),minimal=rnd.random_dec(),restart=0;function gauss(){for(var a=0,b=0;0===a;)a=rnd.random_dec();for(;0===b;)b=rnd.random_dec();return Math.sqrt(-2*Math.log(a))*Math.cos(2*Math.PI*b)}function setup(){randomSeed(12345678);for(var a=new Date("2022-01-01"),b=new Date("2022-12-31"),d=[],e=new Date(a);e<=b;)d.push(new Date(e)),e.setDate(e.getDate()+1);d=shuffle(d);const f=+options.tokenId.match(/[0-9]+([0-9]{5})/)[1]-1;let g=d[f].toLocaleString("en",{month:"long",day:"numeric"});window.METADATA.Date=g,pixelDensity(options.pixelDensity),2==noiseType&&(noiseType=1),(6==noiseType||4==noiseType)&&(noiseType=9),(7==noiseType||3==noiseType||12==noiseType||11==noiseType)&&(noiseType=8),5==noiseType&&(noiseType=10),initializeFields(),createCanvas(WIDTH,HEIGHT),angleMode(DEGREES),smooth(8),noFill(),strokeWeight(.85*M),noiseSeed(rnd.random_between(0,1e5)),.9<structurePicker?noiseScale*=1.6:.15>=structurePicker&&(noiseScale*=.5),.6<variationPicker||.3<variationPicker&&(noiseScaleA=rnd.random_between(.7,.85)),1==noiseType&&(overlayPicker=.2,modulate=.2,.5<modulate?(noiseScaleA=rnd.random_between(.22,.225),shapeOffset=rnd.random_between(90,150)*M):(noiseScaleA=rnd.random_between(.32,.33),shapeOffset=rnd.random_between(80,120)*M)),8==noiseType&&(modulate=.9,noiseScaleA=rnd.random_between(.48,.51),shapeOffset=rnd.random_between(80,110)*M),9==noiseType&&(shapeOffset=rnd.random_between(70,130)*M,noiseScaleA=rnd.random_between(.4,.65),.7<modulate&&(noiseScaleA=rnd.random_between(.26,.28),blendmode=.6)),10==noiseType&&(modulate=.2,noiseScaleA=rnd.random_between(.35,.37),.5<modulate&&(noiseScaleA=rnd.random_between(.12,.13)),shapeOffset=rnd.random_between(60,95)*M),(0==bgPicker||1==bgPicker)&&(ColorPicker=rnd.random_int(4,37)),start()}function start(){0==bgPicker||1==bgPicker?(window.METADATA["Background Color"]="Black",background(0)):2==bgPicker||3==bgPicker?(window.METADATA["Background Color"]="Paper",background(241,233,218)):4==bgPicker?(window.METADATA["Background Color"]="Green",background(124,144,130)):5==bgPicker?(window.METADATA["Background Color"]="Light Blue",background(237,242,245)):(window.METADATA["Background Color"]="Midnight",background(0,56,68)),0==ColorPicker?(window.METADATA.Palette="Whole Wide World",c1=color(46,0,20),c2=color(68,34,32),c3=color(128,152,72),c4=color(185,232,251)):1==ColorPicker?(window.METADATA.Palette="Tiny Vessels",c1=color(156,42,46),c2=color(217,202,202),c3=color(358,98,75),c4=color(153,110,112)):2==ColorPicker?(window.METADATA.Palette="You Stole The Sun From My Heart",c1=color(0,1,3),c2=color(51,49,56),c3=color(81,80,82),c4=color(255,255,250)):3==ColorPicker?(window.METADATA.Palette="Red Right Hand",c1=color(1,0,1),c2=color(43,5,4),c3=color(135,64,0),c4=color(188,95,4)):4==ColorPicker?(window.METADATA.Palette="Porcelain",c1=color(236,235,228),c2=color(204,153,141),c3=color(22,244,208),c4=color(66,158,166)):5==ColorPicker?(window.METADATA.Palette="I Fall In Love Too Easily",c1=color(218,214,214),c2=color(146,191,177),c3=color(244,172,69),c4=color(105,74,56)):6==ColorPicker?(window.METADATA.Palette="Into My Arms",c1=color(40,83,107),c2=color(194,148,138),c3=color(126,168,190),c4=color(246,240,237)):7==ColorPicker?(window.METADATA.Palette="Easy Easy",c1=color(247,219,167),c2=color(241,171,134),c3=color(197,123,87),c4=color(30,45,47)):8==ColorPicker?(window.METADATA.Palette="Jesus Of The Moon",c1=color(169,206,244),c2=color(54,73,78),c3=color(0,0,0),c4=color(126,160,183)):9==ColorPicker?(window.METADATA.Palette="No Milk, No Sugar",c1=color(44,54,63),c2=color(231,90,124),c3=color(242,245,234),c4=color(214,219,210)):10==ColorPicker?(window.METADATA.Palette="Common People",c1=color(255,111,89),c2=color(37,68,65),c3=color(67,170,139),c4=color(178,176,155)):11==ColorPicker?(window.METADATA.Palette="Le Vent Nous Portera",c1=color(8,61,119),c2=color(235,235,211),c3=color(218,65,103),c4=color(244,211,94)):12==ColorPicker?(window.METADATA.Palette="Me I´m Not",c1=color(126,101,81),c2=color(147,133,129),c3=color(70,99,98),c4=color(136,150,171)):13==ColorPicker?(window.METADATA.Palette="Out Of Time",c1=color(252,222,156),c2=color(255,165,82),c3=color(186,86,36),c4=color(56,29,42)):14==ColorPicker?(window.METADATA.Palette="Green Grass",c1=color(215,249,241),c2=color(122,160,149),c3=color(64,83,27),c4=color(97,139,74)):15==ColorPicker?(window.METADATA.Palette="Bet She Looks Like You",c1=color(39,39,39),c2=color(254,215,102),c3=color(0,159,183),c4=color(105,103,115)):16==ColorPicker?(window.METADATA.Palette="Going Out West",c1=color(227,100,41),c2=color(77,67,63),c3=color(232,162,130),c4=color(97,50,28)):17==ColorPicker?(window.METADATA.Palette="Neon Golden",c1=color(85,221,224),c2=color(51,101,138),c3=color(47,72,88),c4=color(246,174,45)):18==ColorPicker?(window.METADATA.Palette="I Wanna Be Adored",c1=color(192,188,181),c2=color(74,108,111),c3=color(132,96,117),c4=color(175,93,99)):19==ColorPicker?(window.METADATA.Palette="Kind Of Blue",c1=color(29,52,97),c2=color(31,72,126),c3=color(55,105,150),c4=color(98,144,200)):20==ColorPicker?(window.METADATA.Palette="High And Dry",c1=color(53,20,49),c2=color(119,82,83),c3=color(189,198,150),c4=color(209,211,196)):21==ColorPicker?(window.METADATA.Palette="Budapest",c1=color(240,135,0),c2=color(244,159,10),c3=color(239,202,8),c4=color(0,166,166)):22==ColorPicker?(window.METADATA.Palette="Novocaine For The Soul",c1=color(148,185,175),c2=color(144,165,131),c3=color(157,132,32),c4=color(148,41,17)):23==ColorPicker?(window.METADATA.Palette="Hit The City",c1=color(204,88,3),c2=color(226,113,29),c3=color(255,149,5),c4=color(255,182,39)):24==ColorPicker?(window.METADATA.Palette="Kold World",c1=color(0,0,0),c2=color(90,90,90),c3=color(150,150,150),c4=color(255,255,255)):25==ColorPicker?(window.METADATA.Palette="Thieves Like Us",c1=color(158,98,64),c2=color(222,164,126),c3=color(205,70,49),c4=color(248,242,220)):26==ColorPicker?(window.METADATA.Palette="Fire It Up",c1=color(215,38,56),c2=color(63,136,197),c3=color(244,157,55),c4=color(220,15,45)):27==ColorPicker?(window.METADATA.Palette="Creep",c1=color(236,254,170),c2=color(226,222,132),c3=color(166,166,112),c4=color(134,131,109)):28==ColorPicker?(window.METADATA.Palette="Lazarus",c1=color(239,247,207),c2=color(186,217,181),c3=color(171,163,97),c4=color(115,44,44)):29==ColorPicker?(window.METADATA.Palette="Love Will Tear Us Apart",c1=color(0,48,73),c2=color(214,40,40),c3=color(247,127,0),c4=color(252,191,73)):30==ColorPicker?(window.METADATA.Palette="Blue Moon Risig",1==bgPicker&&(blendmode=.1),c1=color(48,41,47),c2=color(65,63,84),c3=color(95,90,162),c4=color(53,86,145)):31==ColorPicker?(window.METADATA.Palette="Season Of The Witch",c1=color(249,200,14),c2=color(248,102,36),c3=color(234,53,70),c4=color(102,46,155)):32==ColorPicker?(window.METADATA.Palette="Odessa",c1=color(144,156,194),c2=color(8,72,135),c3=color(245,138,7),c4=color(249,171,85)):33==ColorPicker?(window.METADATA.Palette="Such Great Heights",c1=color(155,29,32),c2=color(61,43,61),c3=color(99,93,92),c4=color(203,239,182)):34==ColorPicker?(window.METADATA.Palette="The Next Episode",c1=color(35,35,35),c2=color(56,128,0),c3=color(255,215,5),c4=color(245,33,8)):35==ColorPicker?(window.METADATA.Palette="We Are Nowhere And It´s Now",c1=color(134,147,171),c2=color(189,212,231),c3=color(33,34,39),c4=color(99,112,116)):36==ColorPicker?(window.METADATA.Palette="The Nightly Disease, Pt. II",c1=color(120,192,224),c2=color(68,157,209),c3=color(21,5,120),c4=color(14,14,82)):37==ColorPicker&&(window.METADATA.Palette="The Times They Are A-Changing",c1=color(247,184,1),c2=color(241,135,1),c3=color(25,123,189),c4=color(5,83,156)),.7<distortionPicker&&0!=bgPicker||.4<distortionPicker||.25<distortionPicker,noiseDetail(1.5,.9),0==restart&&(.9<blendmode&&1!=bgPicker&&(2==bgPicker||3==bgPicker)&&1!=ColorPicker&&35!=ColorPicker&&20!=ColorPicker&&21!=ColorPicker&&23!=ColorPicker&&24!=ColorPicker&&25!=ColorPicker&&27!=ColorPicker&&29!=ColorPicker&&0!=ColorPicker&&9!=ColorPicker&&10!=ColorPicker&&17!=ColorPicker&&11!=ColorPicker&&5!=ColorPicker&&4!=ColorPicker?(blendMode(SOFT_LIGHT),window.METADATA["Color Mode"]="Fade"):.45<blendmode&&21!=ColorPicker?(blendMode(HARD_LIGHT),window.METADATA["Color Mode"]="Pop"):window.METADATA["Color Mode"]="Regular"),5==noiseType?(x1=y1=0,x2=y2=2):2==noiseType?(x1=y1=4,x2=y2=6):6==noiseType?.7<modulate?(x1=y1=0,x2=y2=2):(x1=y1=0,x2=y2=2):7==noiseType?.7<modulate?(x1=y1=5,x2=y2=7):(x1=y1=0,x2=y2=2):(x1=y1=2,x2=y2=4),1==noiseType&&(x1=y1=5,x2=y2=7),10==noiseType&&(x1=y1=1,x2=y2=3),y=y1,.45<density&&.7>=woven?(step=(x2-x1)/(.85*width)*M,window.METADATA.Density="High"):(step=(x2-x1)/(.6*width)*M,window.METADATA.Density="Low")}var x1,y1,x2,y2,step,y,go,Start=1;function draw(){if(1!=restart&&(.33>rotationPicker||1==noiseType||9==noiseType&&.3<variationPicker&&.6>=variationPicker?(translate(width/2,height/2),rotate(-90),translate(-width/2,-height/2)):.66>rotationPicker&&(translate(width/2,height/2),rotate(180),translate(-width/2,-height/2))),go)for(var a=0;1>a&go;a++){for(var b=x1;b<=x2;b+=step).6<bgPicker2||.6<shapePicker&&(.7<=circlePicker||.4>=circlePicker)&&.5<variationPicker&&2!=noiseType||1==noiseType?(c=c1,drawBackground(b,y,c),1==Start&&(window.METADATA.Background="Structured")):1==Start&&(window.METADATA.Background="Clean"),c=c2,noiseScale=.6<variationPicker?noiseScaleA:noiseScaleA*noiseVar1,offset=shapeOffset,drawLayer(b,y,c,offset,noiseScale),c=c3,noiseScale=.6<variationPicker?noiseScaleA:noiseScaleA*noiseVar2,offset=.8*-shapeOffset,drawLayer(b,y,c,offset,noiseScale),c=c4,noiseScale=noiseScaleA,offset=1.2*-shapeOffset,drawLayer(b,y,c,offset,noiseScale),c=c2,offset=2*shapeOffset,.8<variationPicker?noiseScale=-.7*noiseScaleA:.3<variationPicker?(noiseScale=noiseScaleA*rnd.random_between(5,10),offset=shapeOffset*rnd.random_between(1,2.2)):noiseScale=noiseScaleA*rnd.random_between(1.3,2.2),drawLayer(b,y,c,offset,noiseScale),c=c3,.6<variationPicker?noiseScale=1.2*noiseScaleA:.3<variationPicker?(noiseScale=noiseScaleA*rnd.random_between(5,10),offset=shapeOffset*rnd.random_between(1,2.2)):noiseScale=noiseScaleA*rnd.random_between(.9,1.3),0<intensity&&(offset=-2*shapeOffset,drawLayer(b,y,c,offset,noiseScale),c=c4,.6<variationPicker?noiseScale=1.1*noiseScaleA:.3<variationPicker?(noiseScale=noiseScaleA*rnd.random_between(5,10),offset=shapeOffset*rnd.random_between(1,2.2)):noiseScale=noiseScaleA*rnd.random_between(.9,2),offset=-shapeOffset,drawLayer(b,y,c,offset,noiseScale),c=c4,offset=shapeOffset,.6<variationPicker?noiseScale=1.8*noiseScaleA:.3<variationPicker?(noiseScale=noiseScaleA*rnd.random_between(5,10),offset=shapeOffset*rnd.random_between(1,2.2)):noiseScale=noiseScaleA*rnd.random_between(1,2.2),drawLayer(b,y,c,offset,noiseScale));y+=step,y>y2&&(go=!1,noLoop(),print("done"),onDone()),t+=1}}function drawLayer(a,b,d,e,f){var g=new createVector(a,b);g.x=(g.x-x1)%(x2-x1),0>g.x&&(g.x+=x2-x1),g.y=(g.y-y1)%(y2-y1),0>g.y&&(g.y+=y2-y1),g.x+=x1,g.y+=y1;noise(a,b);2==noiseType&&(f*=1.3);var h=rnd.random_between(-1,1),i=map(g.x+.005*gauss(),x1,x2,Padding,width-Padding),j=map(g.y+.001*gauss(),y1,y2,Padding,height-Padding),k=noise(1.6*(g.mag()*f),1*(g.mag()*f),.0014*(t*f)),l=noise(17*(cos(g.x*TWO_PI)*f),17*(sin(g.y*TWO_PI)*f),8e-7*(t*PI)),m=noise(2*(cos(g.x)*f),.1*(atan(g.y)*f)),n=noise(20*(cos(g.x*TWO_PI)*f),25*(sin(g.y*TWO_PI)*f),8e-9*(t*PI));if(1==noiseType){var o=n;1==Start&&(window.METADATA.Structure="Dune")}else if(8==noiseType){var o=m;1==Start&&(window.METADATA.Structure="Monument")}else if(9==noiseType){var o=k;1==Start&&(.7<modulate?(blacklines=rnd.random_between(.3,1),lines=rnd.random_between(.3,1),window.METADATA.Structure="Glass"):window.METADATA.Structure="Veil")}else if(10==noiseType){var o=l;1==Start&&(window.METADATA.Structure="Dune")}var p=2.8*map(o,0,2,100,0);2==noiseType&&(p*=1.5),d.setAlpha(p),.75<minimal&&.4>circlePicker&&1!=noiseType&&.5<shapePicker&&(.7<=circlePicker||.4>=circlePicker)&&.5<variationPicker&&2!=noiseType&&1!=bgPicker&&8==noiseType&&(1==Start&&(window.METADATA["Special Effect"]="Super Minimal"),d.setAlpha(0)),1==noiseType&&(d.setAlpha(2*p),1<rnd.random_dec()?.9<o?d=color(255):.8<o?d=color(255):.2>o?d=color(0):.4>o?d=color(255):.48>o:1<o?d=color(0):0>o&&(d=color(255)),d.setAlpha(2*p)),.7<modulate&&(1==Start,o=.2>=o?.2:.4>=o?.4:.6>=o?.6:.8>=o?.8:.1);var q=i*o+400*(1-o)*M+e;if(!(1<overlayPicker&&2!=noiseType)){if(1==Start,i>width-Padding-250*M&&i<width-Padding+5*M){d=color(0);var r=map(i,width-Padding-250*M,width-Padding+5*M,220*M,0);d.setAlpha(r)}.4<lines&&1!=noiseType&&(i>width-Padding-300*M&&i<width-Padding-295*M&&(d=color(255),d.setAlpha(255*o)),1==Start&&(window.METADATA.Accent="Light")),.4<blacklines&&(i>width/2-8*M&&i<width/2+8*M&&(d=color(0),d.setAlpha(300*o)),.4<lines&&1!=noiseType?1==Start&&(window.METADATA.Accent="Light & Dark"):1==Start&&(window.METADATA.Accent="Dark"))}else if(1==Start,i>width-Padding-250*M&&i<width-Padding+5*M){d=color(255);var r=map(i,width-Padding-250*M,width-Padding+5,0,220*M);d.setAlpha(r)}.4>circlePicker&&1!=noiseType?(p=2.4*map(o,0,2,120,0),dist(width/2,height/2,q,j)>circle-20*M&&d.setAlpha(.4*p),1==Start&&(window.METADATA.Stencil="Circle")):.7>circlePicker&&2!=noiseType&&1!=noiseType&&(right=2.4*map(o,0,2,120,0),(q<6.5*Padding||q>width-6.5*Padding||j<6.5*Padding||j>height-6.5*Padding)&&d.setAlpha(.4*p),1==Start&&(window.METADATA.Stencil="Square")),.5<shapePicker&&(.7<=circlePicker||.4>=circlePicker)&&.5<variationPicker&&2!=noiseType||1==noiseType?(dist(width/2,height/2,q,j)>circle&&d.setAlpha(0),1==Start&&(window.METADATA.Outline="Circle")):((q<3.5*Padding||q>width-3.5*Padding||j<3.5*Padding||j>height-3.5*Padding)&&d.setAlpha(0),1==Start&&(window.METADATA.Outline="Square")),(q<Padding||q>width-Padding||j<Padding||j>height-Padding)&&d.setAlpha(0),stroke(d),.7<woven?(1==Start&&(window.METADATA.Texture="Stone"),yyy=0==squareCounter?j:yyy,point(q,yyy)):(1==Start&&(window.METADATA.Texture="Sand"),point(q,j)),pointCounter+=1,Start=0,squareCounter+=1,20==squareCounter&&(squareCounter=0),tileCounter+=1,30==tileCounter&&(tileCounter=0),onMetadata()}function drawBackground(a,b,d){var e=new createVector(a,b);e.x=(e.x-x1)%(x2-x1),0>e.x&&(e.x+=x2-x1),e.y=(e.y-y1)%(y2-y1),0>e.y&&(e.y+=y2-y1),e.x+=x1,e.y+=y1;var f=map(e.x+.004*gauss(),x1,x2,Padding,width-Padding),g=map(e.y+.001*gauss(),y1,y2,Padding,height-Padding),h=noise(1*e.x,1*e.y),i=e.mag(),j=map(i,0,2,rnd.random_between(0,200),rnd.random_between(200,360)),k=.9*map(a*h,x1,x2,100,20);d.setAlpha(k),.7<woven&&.4<bgPicker2&&d.setAlpha(.5*k),(f<Padding||f>width-Padding||g<Padding||g>height-Padding)&&d.setAlpha(0),stroke(d),.7<woven&&.4<bgPicker2?(yyy=0==squareCounter?g:yyy,point(f,yyy)):point(f,g)}function initializeFields(){x1=0,y1=0,x2=0,y2=0,step=0,y=0,go=!0}function keyTyped(){if("s"===key&&save(Seed+".jpg"),"l"===key){clear();density=.1,start()}if("h"===key){clear();density=.9,start()}if("p"===key){clear();blendMode(HARD_LIGHT),start()}if("f"===key){clear();blendMode(SOFT_LIGHT),start()}if("r"===key){clear();blendMode(BLEND),start()}}</script></body></html>P5JS
0xf7d96d2d…484d·#14,487,538·0x5342fbf8…215b4d
GenArtPaymentSplitterV2: contrac`GenArtPaymentSplitterV2: invalid`Ownable: new owner is the zero a`GenArtPaymentSplitterV2: payment` not found for collectionOwnable: caller is not the owner`GenArtPaymentSplitterV2: sender `is not current payeeGenArtAccess: caller is not gena`GenArtPaymentSplitterV2: no fund`GenArtAccess: caller is not the `
0xf7d96d2d…484d·#14,487,131·0x1c47b216…c6075c
GenArtPaymentSplitterV2: contrac`GenArtPaymentSplitterV2: invalid`Ownable: new owner is the zero a`GenArtPaymentSplitterV2: payment` not found for collectionOwnable: caller is not the owner`GenArtPaymentSplitterV2: sender `is not current payeeGenArtAccess: caller is not gena`GenArtPaymentSplitterV2: no fund`GenArtAccess: caller is not the `
0xf7d96d2d…484d·#14,442,488·0x58662aeb…37f206
Ownable: new owner is the zero a`GenArtPaymentSplitter: invalid a`GenArtPaymentSplitter: no funds `Ownable: caller is not the owner`GenArtPaymentSplitter: payment n`ot found for collectionGenArtAccess: caller is not gena`GenArtPaymentSplitter: sender is` not current payeeGenArtAccess: caller is not the `
<head> <meta charset="utf-8"> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script> <script id="genart-tweaks">const tweaks={"tweak_range":1,"tweak_range_2":1,"bool":true,"tweak_select":"sin","hex_color":"#ff005b","rgba_color":{"r":248,"g":214,"b":40,"a":1}};</script></head> <body><style>html, body{margin: 0; padding: 0; display:flex; justify-content: center;}canvas{display: block;}</style><script>window.METADATA={};function onMetadata(){window.top?.postMessage( `genart:metadata:${JSON.stringify(window.METADATA)}`, '*' );}function onDone(){window.top?.postMessage(`genart:done`, '*'); window.onImageRendered && window.onImageRendered()}function random_hash(){let chars='0123456789abcdef'; let result='0x'; for (let i=64; i > 0; --i) result +=chars[Math.floor(Math.random() * chars.length)]; return result;}class Random{seed; decimals; constructor(hash, decimals=3){this.seed=parseInt(hash.slice(0, 16), 16); this.decimals=decimals;}random_dec(){this.seed ^=this.seed << 13; this.seed ^=this.seed >> 17; this.seed ^=this.seed << 5; return ( ((this.seed < 0 ? ~this.seed + 1 : this.seed) % 10 ** this.decimals) / 10 ** this.decimals );}random_between(a, b){return a + (b - a) * this.random_dec();}random_int(a, b){return Math.floor(this.random_between(a, b + 1));}random_choice(x){return x[Math.floor(this.random_between(0, x.length * 0.99))];}}</script><script id="genart-options">const options={hash: random_hash()}</script><script>let AR,WIDTH,HEIGHT,oW,oH,rW,rH,maxWH,minWH,M,DIM,BW,BG,BC,BGA,CC,CP,CN,CO,CV,CVRn,SRn,PRn,CSRn,FGRn,DB,L,LL,LG,LGS,LT,LH,LV,FG,SC,SG,SW,SM,SWV,SGS,Dx,T,rotation,LR,Ds,zX1,zX2,zX3,zY1,zY2,zY3,xM,yM,sM,sO,wF,wS,stencil,B,GA,GAO,GD,IA,TX,RT,IRM,IRN,ST,SCN,SE,sAC,SB,WS,RA,FA,SF,FS,S,P,p,PC,canvas,C,CL,Cv,F,G,N,R,tS,o="undefined"!=typeof options?options:{},DS=1e3,ARS=[[1,1.5],[1.5,1],[1,1]],AR_INDEX=0,S_U=!0,CUSTOM_AR=[],CS="",DnX=1e4,DmX=-1e4,DnY=1e4,DmY=-1e4,FSD="",FM="",sBG=!0,dD=!1,dS=!1,dP=!1,dPk=!1,highRes=!1;p5.disableFriendlyErrors=!0,setup=(()=>{C=color,CL=console.log,Cv=createVector,F=floor,G=randomGaussian,N=noise,R=random,tS=Date.now(),colorMode(HSL,360,100,100,100),frameRate(60),rectMode(CENTER),L=[],LL=0,S=[];const e=o.hash||random_hash(),n=new Random(e,12);S_U&&(seed=round(1e12*n.random_dec())),CL(seed),noiseSeed(seed),randomSeed(seed),Fsp(),Fpbc(),Fcb(),Fcs(),Fcl(),Fsm(),Fdb(),randomSeed(seed),noiseSeed(seed)}),draw=(()=>{translate(DIM/2*AR[0],DIM/2*AR[1]),LR&&rotate(LR),noStroke(),colorMode(HSL,360,100,100,100),LL<L.length?Fdl():(CL("Done"),noLoop(),onDone())}),Fcl=(()=>{let e=-rW/2-DB,n=-rH/2-DB,s=rW/2+DB;for(;n<rH/2+DB;){let i=R(LH);L.length<2&&(i=min(100,i)),i=min(i,rH/2+DB-n),L.push({x:e,y:n,w:s,h:i,xMin:-rW/2+BW,xMax:rW/2-BW,yMin:-rH/2+BW,yMax:rH/2-BW,drawn:!1}),n+=i}}),Fdl=(()=>{null===Dx&&(Dx=L[LL].x,SC=0);let e=L[LL].y,n=L[LL].w,s=L[LL].h;if(Dx<n){let[n,i]=[...Frc(Dx,e)],r=max(.5,G(.8,.2)),o=10*max(1.8,G(3.5,.3));r*=pow(GA,.5),o/=GA,highRes&&(r*=1.1);let a=round((0!=SM?rW*SM:rW+2*DB)*(SWV?R(2,10)/4:1));a=max(5,min(rW+2*DB,a)),"Tiled"==p.di&&(a=s);let l=!(Dx+a<DnX||Dx>DmX),t=C(CC.FG||30);t.setAlpha(60);let S=C(0,0,lightness(t),60);"Charcoal"==CP&&(S=C(80,60));let P=SGS*("Marker"==RT?2:1),d=LGS*("Marker"==RT?2:1);if(l){let R=[r,o,.75,0,0,t,S];if("Outline"==p.di)for(let n=0;n<2;n++)Fdc(Dx,e,a,d,...R),Fdc(Dx,e,P,s,...R),Fdc(Dx,e+s,a,d,...R),Fdc(Dx+a,e,P,s,...R);else"Yes"==FG?(Fdc(Dx,e,a,d,...R),Fdc(Dx,e,P,s,...R),Fdc(Dx,e,a,s,r,o,.75,0,0,n,i)):Fdc(Dx,e,a,s,r,o,.75,P,d,n,i)}Dx+=a,SC++}else Dx=null,L[LL].drawn=!0,LL++}),Fdc=((e,n,s,i,r,o,a,C,l,t,S)=>{push(),translate(e*M,n*M),"Outline"==p.di&&translate(R(-5,5)*M,R(-5,5)*M);let P=RT;"Disorder"==RT?P=["Pencil","Marker"][(LL+SC)%2]:"Chaos"==RT&&(P=R(["Crayon","Halftone","Marker","Pencil","Crosshatch"]));for(let p=0;p<s;p++)for(let p=0;p<i;p++)for(let p=0;p<o;p++){let p="Pencil"==P?.8:.75;R()<p&&Fcp(e,n,s,i,r,o,a,C,l,t,S,P)}pop()}),Fcp=((e,n,s,i,r,o,a,C,l,t,S,P)=>{let d,h,u=R(.4,.6),L=u*C,D=u*l,m=s*a;d="None"==SF?R(0,s):LL%2<("Alternating"==SF?1:2)?s-abs(G(0,m/1.5)):abs(G(0,m/1.5));let c=i*a;if("None"==FA?h=G(i/2,c):"Ragged"==FA?R()<.85?h=G(0,c*(map(N(3e5+(e+d)/10,LL),0,1,.45,.65)+R(-.1,.2))):d=-rW:"Varied"==FA?h=G(0,c*map(N(3e5+e/5,3e5+n/5),0,1,.4,.85)):(h=G(0,c*FS),"Stepped"==FM&&(h=F(3*h/i)/3*i+R(i/3))),d>0+L&&d<s-L&&h>0+D&&h<i-D){let s=e+d;if("Pulse"==T)h+=(rW+e+d)%200<100?50:-50;else if("Zigzag"==T)h+=s<zX1?(s-rW/2)/(zX1-rW/2)*zY1:s<zX2?zY1+(s-zX1)/(zX2-zX1)*(zY2-zY1):s<zX3?zY2+(s-zX2)/(zX3-zX2)*(zY3-zY2):zY3+(s-zX3)/(rW/2-zX3)*(0-zY3);else if("Bend"==T)h+=pow(s/rW*2,2)*Ds;else if("Sweep"==T)h+=pow(s/rW*2,3)*Ds;else if("Slope"==T){h+=(s>dispOffset?s:dispOffset)/rW*Ds*2}else if("Chevron"==T)h+=abs(s)/(rW/2)*Ds;else if("Waves"==T)h+=sin(s*wF)*wS;else if("Triangle"==T){let e=(rW+s)%wF/wF;h+=(e<.5?2*e:1-(e-.5)/.5)*wS}else"Bumps"!=T&&"Mountains"!=T&&"Hills"!=T||(noiseDetail(3,.5),h+=map(N(2e4+s*xM,2e4+(n+h)*yM,LL/200),0,1,-1,1)*Ds*map(sin(sO+(n+h)*sM),-1,1,.75,1.25),noiseDetail(4,.5));if("Vortex"==p.di){let e=Cv(s,n+h),R=e.heading()+PI/2;d+=e.mag()*(sin(R+2*PI*e.mag()/DS)-sin(R)),h+=-e.mag()*(cos(R+2*PI*e.mag()/DS)-cos(R))}else if("Instability"==p.di){IA=map(N(1e4+e/DS*1,1e4+n/DS*2,SC/10),0,1,-PI/15,PI/15);let s=Cv(d-e,h-n),R=s.heading()+PI/2;d+=s.mag()*(sin(R+IA)-sin(R)),h+=-s.mag()*(cos(R+IA)-cos(R))}else if("Reduction"==p.di){let e=.9;d*=e,h*=e}(s=e+d)>DnX&&s<DmX&&n+h>DnY&&n+h<DmY&&Frp(e,n,d,h,i,r,o,t,S,P)}}),Frp=((e,n,s,i,r,o,a,C,l,t)=>{if("Halftone"==t){let r=15,o=pow(a*GA/4/8,2)*r/3.5;s=round((e+s)/r)*r-e,i=round((n+i)/r)*r-n,s+=map(N(3e4+e+s,3e4+n+i,1e3),0,1,-1,1),i+=map(N(3e4+e+s,3e4+n+i,2e3),0,1,-1,1);let C=(o>r/2.3?R(r/2.3):o)*sqrt(R()),l=R(TWO_PI);s+=C*sin(l),i+=C*cos(l)}else if("Crayon"==t){let e=sqrt(2*GA);i+=R(-1,1),s=round(s/(pow(a*GA/4,.7)*e))*(pow(a*GA/4,.7)*e)+R(-e/2,e/2)*pow(a*GA/4,.2),s+=map(N(LL*r/200,s/40),0,1,-PI/64*IRM,PI/64*IRM)*i+map(N(s/200,i/200,1e3),0,1,-2,2)}else if("Marker"==t){i+=R(-3,3);let o=pow(3*GA,.6);s=round(s/(10*o))*(10*o)+R(-o,o)*(2+a*GA/80)+N((4e4+e-s+n+-i)/20,LL*r/200)*o,s+=map(N(LL*r/200,s/(50*IRN)),0,1,-PI/36*IRM,PI/36*IRM)*i+map(N(s/200,i/200,1e3),0,1,-2,2)}else if("Crosshatch"==t){i+=map(N((5e4+e+s)/100,LL*r/50),0,1,-2,2);let n=pow(a*GA/15,2);R()<.5?(s=round(s/(2.5*n))*(2.5*n)+R(-.5,.5)*n/3+N(6e4+(s+i)/200,LL*r/50)*n,s+=map(N(LL*r/50,s/200),0,1,-PI/60,PI/60)*i):(i=round(i/(2.5*n))*(2.5*n)+R(-.5,.5)*n/3+N(6e4+(i+s)/200,LL*r/50)*n,i+=map(N(LL*r/50,i/200),0,1,-PI/60,PI/60)*s)}"Skew"==p.di&&(s+=LL%2==0?i:-i),Fas(e,n,s,i,o,C,l,t)}),Fas=((e,n,s,R,i,r,o,a)=>{let C=!1,l=!0,t=0,p=!1,P=!1,d=G(0,1.25),h=!1;for(let i of S)if(!h){let r=i.se,{d:o,pS:S}=Fps(e,s,n,R,i,d,a);if(0!=S)if(i.end&&(h=!0),"Boundless"==stencil&&(p=!0),2==S)l=!1;else{if("Rotate"==r){RA="Circles"==i.shape?PI/3:PI/2;let r=Cv(e+s-i.x,n+R-i.y).heading()+PI/2;s+=o*(sin(r+RA)-sin(r)),R+=-o*(cos(r+RA)-cos(r))}else if("Warp"==r||"Color Warp"==r)if("Circles"==i.shape){let r,a,C=Cv(e+s-i.x,n+R-i.y).heading()+PI/2,l=C+o/i.r*(WS*t%2==0?-1:1);s+=r=o*(sin(l)-sin(C)),R+=a=-o*(cos(l)-cos(C))}else if("Squares"==i.shape||"Diamonds"==i.shape){let r,a,C=Cv(e+s-i.x,n+R-i.y).heading()+PI/2;t%2==0?(s+=r=o*(sin(C+3*PI/2)-sin(C)),R+=a=-o*(cos(C+3*PI/2)-cos(C))):(s+=r=o*(sin(C+PI/2)-sin(C)),R+=a=-o*(cos(C+PI/2)-cos(C)))}"Color Switch"!=r&&"Color Warp"!=r||(C=!C,P=!0)}t++}Fdp(e,n,s,R,i,r,o,a,l,C,p,P)}),Fdp=((e,n,s,i,r,o,a,l,t,S,P,d)=>{let h=R(-10,10);if(e+s>L[LL].xMin+h&&e+s<L[LL].xMax+h&&n+i>L[LL].yMin+h&&n+i<L[LL].yMax+h){let l=isInBase(e,s,n,i);if(P&&!l&&d&&(S=!S),t&&(P||l))for(let t=0;t<1;t++){if("Banksy"==CN&&"Outline"!=p.di&&N((9e4+e+s)/30,(9e4+n+i)/50,LL)<.25+R(-.02,.02))return!1;let t=10,P=20,d=20,h=rW+(e+s)/200,u=rH+(n+i)/200,G=.75*CV,L=map(N(1e5+h,u,100*LL+SC),0,1,-G,G),D=map(N(2e5+h,u,100*LL+SC),0,1,-G,G),m=map(N(3e5+h,u,100*LL+SC),0,1,-G,G);pointCol=C(S?a:o),pointCol=C((hue(pointCol)+F(R(-t,t+1))+6*m)%360,l?min(100,max(0,saturation(pointCol)+(CC.SO||0)+F(R(-P,P+1))+8*D)):0,min(100,max(0,lightness(pointCol)+(CC.LO||0)+F(R(-d,d+1))+6*L)),max(0,alpha(pointCol)));let c=r/4*R(.7,1.1);"Leather"==TX?c*=map(.2*N((1e4+rW+e+s)/9,(rH+n+i)/27)+.2*N((2e4+rW+e+s)/43,(rH+n+i)/129,SC),0,.4,.7,1.3):"Weave"==TX?abs(5-(rW+e+s+map(N(rW+(e+s)/10,rH+(n+i)/10),0,1,-2,2))%10)<R()?c*=R(1,1.7):abs(5-(rH+n+i+map(N(rW+(e+s)/10,rH+(n+i)/10),0,1,-2,2))%10)<R()&&(c*=R(1,1.7)):c*="Denim"==TX?map(pow(abs(6-(rW+rH+e+s+n+i)%12),.3),0,pow(6,.3),1.35,.85):map(.2*N((rW+e+s)/91,(rH+n+i)/91)+.2*N((1e4+rW+e+s)/37,(rH+n+i)/37)+.2*N((2e4+rW+e+s)/5,(rH+n+i)/5),0,.6,.8,1.2),noStroke(),fill(pointCol);let B=s+R(-.5,.5),W=i+R(-.5,.5);square(B*M,W*M,c*M)}}}),Frc=((e,n)=>{let s,i,r=[75,95],o=[];for(let e=r[0];e<r[1];e+=4)o.push(e);if("Charcoal"==CP){let e;"Random"==CS?e=R(...r):"Sequence"!=CS&&"Blend"!=CS||(e=o[(CO+LL+SC*("Sequence"==CS?2:1))%o.length]),s=C(0,0,0,e),i=C(0,0,95,e)}else{let o;if("Blend"==CS){o=(CO+(N(21e4+e/minWH*2,22e4+n/minWH*2)+n/rH/10)*CP.length*3)%CP.length;let R=C(CP[~~o]),i=C(CP[~~(o+1)%CP.length]);colorMode(RGB),s=lerpColor(R,i,o%1),colorMode(HSL,360,100,100,100)}else"Random"==CS?(o=~~R(CP.length),s=C(CP[o])):"Sequence"==CS&&(o=(CO+LL+SC)%CP.length,s=C(CP[o]));s.setAlpha(R(...r)),i=C((hue(s)+180)%360,0,lightness(s),alpha(s))}return[s,i]}),Fsc=(()=>{AR=ARS[AR_INDEX];let e=o.size||min(windowWidth/AR[0],windowHeight/AR[1]);WIDTH=e*AR[0],HEIGHT=e*AR[1],oW=rW=DS*AR[0],oH=rH=DS*AR[1],maxWH=max(oW,oH),minWH=min(oW,oH),canvas=createCanvas(WIDTH,HEIGHT),DIM=min(WIDTH,HEIGHT),M=DIM/DS,pixelDensity(o.pixelDensity||(highRes?8:2))}),Fcc=(()=>{let e=[{CP:["#282523","#2D2926","#37302D","#4D4442","#5B5049"],BG:"#f2e8da",CN:"Appian",SE:R(["Rotate","Color Warp"]),P:4},{CN:"Banksy",BG:"#b64028",FG:"#222",P:3},{CN:"Johnson",CP:["#000","#040404","#080808"],BG:"#333",FG:"#666",SE:R(["Rotate","Color Warp"]),P:1},{CN:"Kusama",CP:["#fc0","#d90","#090909","#000"],BG:"#666",FG:"#c80",CS:"Random",SE:R(["Rotate","Warp"]),P:2},{CN:"Metropolis",BG:"#e2b241",FG:"#333",P:3},{CN:"Molnar",CP:["#AE4047"],BG:"#c5bDb0",FG:"#8E2027",SE:R(["Rotate","Warp"]),P:1},{CN:"O'Keefe",BG:"#36537e",FG:"#222",P:3},{CN:"Picasso",CP:["#EFE4D1","#DDCFB6","#C7B59B"],BG:"#1B1916",FG:"#eDdFc6",SE:R(["Rotate","Color Warp"]),P:1,LO:10,SO:-12},{CN:"Rothko",CP:["#3F2126"],BG:"#201C24",FG:"#5F4146",LO:10,P:1}];BG="#f7eeec";let n=PRn<.7?[{CN:"Albrecht",CP:["#102D6B","#311D5A","#8A315D","#B56907","#EDA107"],BG:"#f3eAe6",FG:"#5A012D",P:2},{CN:"Bayer",CP:["#DCA215","#C54514","#23507F","#222222"],BG:"#E8E7Db",CS:"Random",FG:"#333",P:3},{CN:"Botticelli",CP:["#7A989A","#849271","#C1AE8D","#CF9546","#C67052"],SO:10,LO:-12,FG:"#614E3D",P:2},{CN:"Dunand",CP:["#c6b3a2","#799497","#566161","#fCBA65"],BG:"#111",FG:"#eCaA55",CS:"Blend",SO:10,LO:-5,P:4},{CN:"Escher",CP:["#8a5","#da3","#c52","#a13","#68a"],BG:"#f5f5f0",FG:"#350",P:3},{CN:"Gauguin",CP:["#EBC36B","#E08942","#CB3824","#59595B","#5F5A81","#A0ACC6"],BG:"#111",FG:"#d07932",SO:10,LO:-5,P:3},{CN:"Guayasamin",CP:["#c7cEc2","#9B9995","#657375","#8D2613","#7A1208"],BG:"#120602",FG:"#758385",P:2,LO:5,CS:"Random"},{CN:"Hokusai",CP:["#3a4b60","#486972","#789F95","#aAb6aC","#BA9E68","#706849"],BG:"#f1eAe5",FG:"#2a3b50",SO:10,LO:-2,P:3},{CN:"Iridescent",CP:["#CE3743","#E88B0C","#F3B841","#7Ab86E","#406B8B","#654A85"],BG:"#10100E",FG:"#eee",LO:5,P:3},{CN:"Kahlo",CP:["#525550","#6D8325","#d59D3F","#BD5630"],BG:"#e9e6da",FG:"#3D5100",SO:2,P:2},{CN:"Kandinsky",CP:["#278","#882","#EA2","#310","#DA6","#441"],FG:"#330",P:4},{CN:"Klee",CP:["#EDF0AD","#0B7883","#B82D09","#DA7503","#61262A"],FG:"#eA8513",BG:"#121220",P:4},{CN:"Klimt",CP:["#654","#8ba","#bb7","#ea2","#b42"],BG:"#EDEBDE",FG:"#432",LO:-2,SO:2,P:3},{CN:"Lempicka",CP:["#B44F33","#977151","#c6b57F","#C4CfB0"],BG:"#141A1F",FG:"#f3f1c9",SO:10,LO:5,P:2},{CN:"Lissitzky",CP:["#8B8785","#1B1715","#b43911"],BG:"#EEE8E5",FG:"#642901",CS:"Random",P:1},{CN:"Magritte",CP:["#7B2B24","#b47252","#b6a390","#858F9b","#5B6A24"],BG:"#1C1017",FG:"#e6dCd5",SO:5,P:2},{CN:"Munch",CP:["#C30","#C60","#699","#144"],BG:"#ddaa77",FG:"#144",P:1},{CN:"Pollock",CP:["#c88C99","#e1dCc7","#E8C051","#5B8B6B","#497C90","#BFCDCD"],BG:"#1A1C23",FG:"#F1ECD7",CS:"Random",P:2,SO:5,LO:5},{CN:"Prism",CP:["#635","#358","#7AB","#2A9","#FB1","#E73","#D45"],BG:"#f7eEdC",FG:"#555",LO:-4,P:3},{CN:"Van Gogh",CP:["#516F90","#6686A0","#8FA7A0","#bEc4a4","#c5b02B"],BG:"#1D2121",FG:"#aFc7c0",SO:5,LO:5,P:2},{CN:"Vermeer",CP:["#8698A7","#E2B170","#E8C8B1","#AA7668"],BG:"#100702",FG:"#B9B0A5",SO:2,LO:2,CS:"Random",P:1},{CN:"Warhol",CP:["#D32934","#5F494B","#2BAA92","#D12E6C"],BG:"#Fff4ee",FG:"#b10E4C",P:1},{CN:"Whistler",CP:["#8AB18B","#5A6378","#3F4941","#51785D","#B6CA8E","#6D988F","#3F5D59","#A48410"],BG:"#f7f7f7",FG:"#2F4D49",LO:-5,P:2}]:e,s=n.map(e=>e.P);CC=weighted_random(n,s),BG=CC.BG||BG,CP=CC.CP||"Charcoal",SE="Charcoal"==CP?R(["Color Switch","Color Warp"]):"",CC.CS&&(CS=CC.CS),CC.SE&&(SE=CC.SE),CN=CC.CN,CO=~~R(5),""==CS&&(CS=CSRn<.1?"Sequence":CSRn<.45?"Blend":"Random"),CV=CVRn<.33?2:CVRn<.66?1.5:1,BC=C(BG)}),Fpbc=(()=>{("Pencil"!=RT||-1==LG.indexOf("Small")||0!=SM&&-1==SG.indexOf("Small")||PRn>=.7&&-1!=SG.indexOf("Small"))&&(FG="No"),"Pulse"==T&&(p.di=""),-1!=["Reduction","Instability"].indexOf(p.di)&&0==SM&&(p.di=""),-1==["Outline","Vortex"].indexOf(p.di)&&"Ragged"!=FA||(SRn=0),"Vortex"==p.di&&(ST="Circles"),"Crosshatch"!=RT&&"Halftone"!=RT||(SE="Charcoal"==CP?"Color Switch":"Rotate")}),Fsp=(()=>{loadPacks(),p=weighted_random(P,PC),dPk&&(p={id:"None",di:""}),PRn=p.PRn||R(),CSRn=p.CSRn||R(),Fcc(),SRn=p.SRn||R(),Fsc(),CVRn=p.CV||R();let e=p.TRn||R(),n=p.RRn||R(),s=p.LRn||R(),i=p.LVRn||R(),r=p.LGRn||R(),o=p.SWRn||R(),a=p.SWVRn||R();SWV=a<.8;let C=p.SGRn||R(),l=p.STRn||R(),t=p.SERn||R();WS=R([-PI/4,-PI/3,-PI/2]);let S=p.RTRn||R();FGRn=p.FGRn||R()<.1,FG=FGRn&&S>=.35&&S<1?"Yes":"No";let d=p.FSRn||R(),h=p.SFRn||R(),u=p.GRn||R(),G=p.TXRn||R();if(IRM=R(.4,.7),IRN=R(2,4),BW=50,BGA=[5,10],1==e)T="Pulse";else if(e<.1)T="Traditional";else if(e<.2)T="Slope",Ds=R(100,200)*(R()<.5?1:-1),dispOffset=p.forceDispOffset||R()<.75?R(-rW/4,rW/4):-rW/2-250;else if(e<.3)T="Chevron",Ds=R(75,125)*(R()<.5?1:-1);else if(e<.4){T="Zigzag";let e=R()<.5?1:-1;zX1=R(-rW/2,-rW/4),zX2=R(-rW/5,rW/5),zX3=R(rW/4,rW/2),zY1=R(25,50)*e,zY2=-R(25,50)*e,zY3=R(25,50)*e}else e<.5?(T="Bend",Ds=R(100,200)*(R()<.5?1:-1)):e<.6?(T="Sweep",Ds=R(100,200)*(R()<.5?1:-1)):e<.7?(T="Waves",wF=R(.01,.025),wS=R(10,40)):e<.8?(T="Triangle",wF=DS/~~R(4,8),wS=R(20,80)):e<.9?(T="Bumps",Ds=R(100,125),xM=R(.0015,.0025),yM=R(.0025,.005),sM=R(.001,.0025),sO=R(500,1e3)):e<.95?(T="Hills",Ds=R(150,175),xM=R(.0015,.0025),yM=R(.00125,.005),sM=R(.001,.0025),sO=R(500,1e3)):(T="Mountains",Ds=R(200,250),xM=R(.002,.004),yM=R(.00125,.0025),sM=R(.002,.008),sO=R(500,1e3));rotation="No",LR=0,n<.5&&"Mountains"!=T&&(rotation="Yes",LR=-PI/2,rH=oW,rW=oH),s<.1?(LT="Very Small",LH=[5,8,13]):s<.35?(LT="Small",LH=[13,21,34]):s<.6?(LT="Medium",LH=[34,55,89]):s<.8?(LT="Large",LH=[55,89,144]):s<.95?(LT="Very Large",LH=[89,144,233]):(LT="Huge",LH=[144,233,297]);let L=s<.35;if(i<.15&&"Huge"!=LT){LV="Uniform";let e=round((LH[1]+LH[2])/2);LH=[e]}else LV="Varied";p.LGRn&&(r=p.LGRn),"Very Small"==LT&&(r=min(.39,r)),"Small"==LT&&(r=min(.69,r)),r<.05?(LG="None",LGS=0):r<.2?(LG="Very Small",LGS=2):r<.4?(LG="Small",LGS=3):r<.7?(LG="Medium",LGS=5):r<.9?(LG="Large",LGS=8):(LG="Very Large",LGS=13),o<.05?(SW="Very Small",SM=.025):o<.2?(SW="Small",SM=.05):o<.55?(SW="Medium",SM=.1):o<.7?(SW="Large",SM=.25):o<.75?(SW="Very Large",SM=.35):(SW="None",SM=0),SWV=0!=SM&&SWV,C<.5?(SG=LG,SGS=LGS):C<.6?(SG="None",SGS=0):C<.7?(SG="Small",SGS=3):C<.9?(SG="Medium",SGS=5):C<.975?(SG="Large",SGS=8):(SG="Very Large",SGS=13),ST=l<.1?"Diamonds":l<.25?"Squares":"Circles",-1!=["Bend","Chevron","Triangle","Zigzag"].indexOf(T)&&(ST="Circles"),""==SE&&(SE=2==t?"Color Switch":t<.4?"Rotate":t<.8?"Warp":"Color Warp"),SCN=5,SB=4.5,RT="Pencil",2==S?L||(RT="Crosshatch"):3==S?L||(RT="Halftone"):S<.1?L||(RT="Crayon"):S<.2?L||"Medium"==LT||(RT="Marker"):S<.275?L||(RT="Disorder"):S<.35&&(L||(RT="Chaos")),FA="None",s>=.1&&(FA="","Pencil"!=RT||L||R()<.5&&(FM="Stepped")),FS=.8,"None"!=FA&&(FS=.7,FSD="Normal",d<.1?(FA="Normal",FM=FSD=""):s>.6&&d<.175&&"Pencil"==RT?(FA="Ragged",FM=FSD=""):d<.35?(FS=.8,FSD="Weak"):d>=.85&&(FS="Pencil"==RT?.6:.65,FSD="Strong")),SF="None",h<.4||h<.55&&L||L&&"None"==LG?SF="Normal":h<.55&&(SF="Alternating"),GA=3,GD="Medium",u<.2?(GA=1.5,GD="Fine"):u<.3&&(GA=4.5,GD="Coarse"),GAO&&(GA=GAO),TX="Smooth",s>.8&&(G*=.6),"Pencil"!=RT||L||(G<.05&&"Ragged"!=FA&&"Pollock"!=CN?TX="Leather":G<.15?TX="Denim":G<.225&&(TX="Weave")),""!=p.di||-1==["Pencil","Crayon","Marker","Disorder"].indexOf(RT)||L||("None"!=SW&&-1==["Hills","Mountains","Bumps"].indexOf(T)&&(R()<.05?p.di="Reduction":R()<.05&&(p.di="Instability")),""==p.di&&R()<.4&&"None"!=SW&&s<.8&&"Traditional"==T&&(p.di="Skew"),""==p.di&&R()<.03&&"Pencil"==RT&&(p.di="Vortex")),dD&&(p.di="")}),Fcb=(()=>{B=[];if(stencil=SRn<.75?"None":weighted_random(["Boundless","Concentration","Paradox","Harmony","Monoliths","Purity","Reflection","Solidarity"],[2,3,3,2,4,3,1,4]),dS&&(stencil=""),"Concentration"==stencil)cRB(0,0,oW/2-125,oH/2-125);else if("Boundless"==stencil)cRB(0,0,minWH/2-150,minWH/2-150),sAC=!0;else if("Paradox"==stencil){for(let e=-.4;e<=.4;e+=.2)cRB(oW/4.15,e*oH,oW/4.8,.05*oH);cCB(-oW/4.15,0,oW/4.8)}else if("Harmony"==stencil)cCB(oW>oH?-oW/2:0,oW>oH?0:.5*-oH,.4*minWH),cCB(oW>oH?oW/2:0,oW>oH?0:.5*oH,.4*minWH),cCB(0,0,.2*minWH);else if("Monoliths"==stencil)cRB(0,0,.125*minWH,.35*oH),cRB(.325*-oW,0,.125*minWH,.25*oH),cRB(.325*oW,0,.125*minWH,.25*oH);else if("Purity"==stencil)cCB(0,0,.45*minWH),sAC=!0;else if("Reflection"==stencil)cCB(0,0,.2*minWH,0,0,0,{minX:0}),cCB(0,0,.4*minWH,0,0,0,{maxX:0}),cRB(0,0,oW/2,oH/2,0,0,{minX:0});else if("Solidarity"==stencil)for(let e=0;e<20;e++){let e,n,s=minWH*R(.1,.3),i=null,r=0;for(;null==i||n&&r<500;)i=oW*R(-.65,.65),e=oH*R(-.65,.65),r>100?(s*=.9,r=0):r++,n=checkOverlap(i,e,s,0,B,"b");r<500&&cCB(i,e,s,0,0)}else cRB(0,0,.5*oW,.5*oH,0);B.forEach(e=>{DnX=min(DnX,e.x-(e.r||e.w)),DmX=max(DmX,e.x+(e.r||e.w)),DnY=min(DnY,e.y-(e.r||e.h)),DmY=max(DmY,e.y+(e.r||e.h))}),"Yes"==rotation&&([DnX,DmX,DnY,DmY]=[DnY,DmY,DnX,DmX])}),Fcs=(()=>{DB="Vortex"==p.di?350:250,"Vortex"==p.di&&(sAC=!0);let e=[275,340,445],n=[.15,.4],s=[230,275,340],i=[-.35,-.3,-.25,-.2,-.15,.15,.2,.25,.3,.35],r=R(.8,1);e=e.map(e=>e*r*DS/1e3),s=s.map(e=>e*r*DS/1e3);let o=0,a=0;for(;o<SCN&&a<100;){let r,C,l="Circles"==ST&&R()<.25,t=ST,p=SE,P=-rW/2+25,d=rW/2-25,h=-rH/2+25,u=rH/2-25,G=R(l?s:e),L=l?0:max(30,R(...n)*G),D=0;for(;(void 0===r||sAC&&dist(0,0,r,C)-G<.125*minWH)&&D<100;){r=R(P,d),C=R(h,u);let e=checkOverlap(r,C,G,L,S);for(;e&&D<100;)r=R(P,d),C=R(h,u),D%10==9&&(G*=.85,L*=.85),D++,e=checkOverlap(r,C,G,L,S)}if(100!=D&&("Circles"!=t&&(L*=1.5),"Crosshatch"==RT&&(L*=1.5),"Color Switch"!=p&&(G=min(G,rW/2-abs(r)+DB/4),G=min(G,rH/2-abs(C)+DB/4)),L>.5*G&&(L=.5*G),G>120)){if(S.push({x:r,y:C,r:G,w:L,i:S.length,se:p,shape:t}),DnX=min(DnX,r-G),DmX=max(DmX,r+G),DnY=min(DnY,C-G),DmY=max(DmY,C+G),l){let e="Circles"==t;for(;G>R(60,80);)G/=1.6,r+=e?R(i)*G:0,C+=e?R(i)*G:0,S.push({x:r,y:C,r:G,w:L,i:S.length,se:p,shape:t})}S[S.length-1].end=!0,o++}a++}dP&&(S=[])}),isInBase=((e,n,s,R)=>{let i="None"==stencil?0:G(0,1),r="None"==stencil?0:G(0,2.5);for(let o of B){let a=e+n,C=s+R;"Yes"==rotation&&([a,C]=[-C,a]),0!=o.a&&(a=cos(o.a)*a+sin(o.a)*C,C=cos(o.a)*C-sin(o.a)*a);let l=o.b/2+i*o.s;if("Quad"==o.type){let e=abs(a-o.x),n=abs(C-o.y);if(o.b&&(abs(e-o.w)<l&&abs(n-o.h)<0||abs(n-o.h)<l&&abs(e-o.w)<0))return o.i;if(a>o.x-o.w+r&&a<o.x+o.w+r&&C>o.y-o.h+r&&C<o.y+o.h+r)return(void 0!==o.l.minX&&a<o.l.minX+r||void 0!==o.l.maxX&&a>o.l.maxX+r||void 0!==o.l.minY&&C<o.l.minY+r||void 0!==o.l.maxY&&C>o.l.maxY+r)&&o.e?o.i:!o.i}else if("Circle"==o.type){let e=sqrt(pow(a-o.x,2)+pow(C-o.y,2));if(o.b&&(abs(e-o.r)<l||0==o.ir&&abs(e-o.ir)<l))return o.i;if(e<o.r+r&&(0==o.ir||e>o.ir+r)){if(!(void 0!==o.l.minX&&a<o.l.minX+r||void 0!==o.l.maxX&&a>o.l.maxX+r||void 0!==o.l.minY&&C<o.l.minY+r||void 0!==o.l.maxY&&C>o.l.maxY+r))return!o.i;if(o.e)return o.i}}}return!1}),Fdb=(()=>{background(255);const e=drawingContext.createRadialGradient(WIDTH/2,HEIGHT/2,0,WIDTH/2,HEIGHT/2,maxWH/2);e.addColorStop(0,C(hue(BC),saturation(BC),lightness(BC)+2,alpha(BC))),e.addColorStop(1,C(hue(BC),saturation(BC),lightness(BC)-2,alpha(BC))),drawingContext.fillStyle=e,noStroke(),rect(WIDTH/2,HEIGHT/2,WIDTH,HEIGHT);let n=[];n.push([hue(BC),max(0,saturation(BC)-10),max(10,lightness(BC)-40)],[hue(BC),max(0,saturation(BC)-5),max(20,lightness(BC)+15)]),strokeWeight(.35*M);let s=(DS/1e3)**2,i=AR[0]*AR[1]/1.5;for(var r=0;r<4e3*i*s;r++){let e=R(n),s=C(e[0]+F(R(-10,11)),e[1]+F(R(-30,31)),e[2]+F(R(-20,21)),R(...BGA)),i=R(0,WIDTH),r=R(0,HEIGHT);stroke(s),sBG&&line(i,r,i+R(-50,50)*M,r+R(-50,50)*M)}strokeWeight(.25*M);for(r=0;r<1e4*i*s;r++){let e=R(n),s=C(e[0]+F(R(-10,11)),e[1]+F(R(-30,31)),e[2]+F(R(-20,21)),R(...BGA));stroke(s),sBG&&line(R(-WIDTH/2,1.5*WIDTH),R(-HEIGHT/2,1.5*HEIGHT),R(-WIDTH/2,1.5*WIDTH),R(-HEIGHT/2,1.5*HEIGHT))}noStroke();for(r=0;r<AR[0]*AR[1]*5e5*s;r++){let e=R(n),s=C(e[0]+F(R(-10,11)),e[1]+F(R(-30,31)),e[2]+F(R(-30,31)),R(...BGA)+3);fill(s);let i=map(N(r/500,1e3),0,1,-.75,1.75)*WIDTH,o=map(N(r/500,3e3),0,1,-.75,1.75)*HEIGHT;sBG&&i>0&&i<WIDTH&&o>0&&o<HEIGHT&&square(i,o,R(.75,1)*M)}}),Fsm=(()=>{window.METADATA={"Color Mode":CS,Distortion:p.di||"None","Filled Gaps":FG,Grain:GD,"Layer Fade":FA+FSD+(FM?" "+FM:""),"Layer Gap":LG,"Layer Size":LT+" - "+LV,Palette:CN,Pattern:T,Rotated:rotation,"Shape Effect":SE,"Shape Type":ST,Stencil:stencil,"Strip Fade":SF,"Strip Gap":0!=SM?SG:"None","Strip Size":SW+(0!=SM?" - "+(SWV?"Varied":"Uniform"):""),Style:RT,Texture:TX},onMetadata(),CL(window.METADATA)}),keyPressed=(()=>{if("o"==key)AR=ARS[AR_INDEX=(AR_INDEX+1)%3],rerun();else if("z"==key||"x"==key){let e=DS;DS+="z"==key?-250:250,(DS=min(1500,max(500,DS)))!=e&&rerun()}else if("n"==key||"m"==key){let e=GAO||GA,n=[1,1.5,3,4.5,6],s=n.indexOf(e);s+="n"==key?-1:1,(GAO=n[min(4,max(0,s))])!=e&&rerun()}else if(/^d+$/.test(key)){let e=0==key?10:parseInt(key);0==CUSTOM_AR.length&&(CUSTOM_AR=[AR[0],AR[1]],ARS.push([AR[0],AR[1]])),e<6?CUSTOM_AR[0]=e:CUSTOM_AR[1]=e-5;let n=min(CUSTOM_AR[0],CUSTOM_AR[1]);(AR=ARS[3])[0]=CUSTOM_AR[0]/n,AR[1]=CUSTOM_AR[1]/n,AR_INDEX=3,rerun()}else"s"==key?save():"d"==key?(p.di||dD)&&(dD=!dD,rerun()):"t"==key?("None"!=stencil||dS)&&(dS=!dS,rerun()):"b"==key?(sBG=!sBG,rerun()):"p"==key?(dP=!dP,rerun()):"k"==key?(dPk=!dPk,rerun()):"h"==key?(highRes=!highRes,rerun()):"i"==key&&filter(INVERT)}),rerun=(()=>{S_U=!1,setup(),loop()}),fib=((e,n=0,s=1)=>s<e?fib(e,s,n+s):s-e>e-n?n:s),Fps=((e,n,s,R,i,r,o)=>{let a,C,l,t=dist(i.x,i.y,e+n,s+R),S=i.r-i.w,p=r+SB*("Halftone"==o?1.25:1)*1.5;if("Circles"==i.shape)l=t>i.r+p||0!=i.w&&t-r<S?0:t+r<i.r&&(0==i.w||t-p>S)?1:2;else if("Squares"==i.shape)a=abs(e+n-i.x),C=abs(s+R-i.y),l=a>i.r+p/2||C>i.r+p/2||0!=i.w&&a+p/2<S&&C+p/2<S?0:a+p/2<i.r&&C+p/2<i.r&&(0==i.w||a-p/2>S||C-p/2>S)?1:2;else if("Diamonds"==i.shape){a=abs(e+n-i.x),C=abs(s+R-i.y);let r=abs(a+C);l=r-i.r-1.4*p>0||0!=i.w&&r<S?0:r<i.r&&(0==i.w||r-1.4*p>S)?1:2}return{d:t,pS:l}}),checkOverlap=((e,n,s,R,i,r="s")=>{let o=("s"==r?rW:oW)/2,a=("s"==r?rH:oH)/2;if(e-s<-o-100||e+s>o+100||n-s<-a-100||n+s>a+100)return!0;for(let o of i)if("s"==r&&"Squares"==ST){if(dist(e,0,o.x,0)<s+o.r+R+(o.w||0)+30&&dist(0,n,0,o.y)<s+o.r+R+(o.w||0)+30)return!0}else if(dist(e,n,o.x,o.y)<s+o.r+R+(o.w||0)+30)return!0;return!1}),weighted_random=((e,n)=>{let s,i=[...n],r=i.length;for(s=0;s<r;s++)i[s]+=i[s-1]||0;let o=R()*i[r-1];for(s=0;s<r&&!(i[s]>o);s++);return e[s]}),loadPacks=(()=>{P=[],PC=[];let e={SRn:.25},n={SRn:R([.25,.85])},s={PRn:R([.95,.2])},i={di:R()<.05?"Reduction":""},r={FGRn:1},o={FGRn:R()<.2?1:0},a={FGRn:R()<.5?1:0},C={LRn:.05},l={LRn:.2},t={LRn:.6},S={LRn:.79},p={LRn:.9},d={LRn:.97},h={LRn:R([.9,1])},u={LRn:R(.65,1)},G={LRn:R(.45,1)},L={LRn:R(.35,.65)},D={LRn:R(.35)},m={LRn:R(.075,.45)},c={LRn:R(.15,.85)},F={FSRn:.15},B={LGRn:.025},W={LGRn:.1},T={LGRn:.3},f={LGRn:.5},A={LGRn:.8},H={LGRn:.95},M={LGRn:R(.7,1)},N={LGRn:R(.4,1)},x={LGRn:R(.2,.5)},y={LGRn:R(.05,.35)},I={LGRn:R(.2,.7)},E={LVRn:.1},g={LVRn:.8},O={TRn:.85},w={forceDispOffset:!0},b={TRn:.05},X={TRn:R(.8)},k={TRn:R([.925,.975])},V={TRn:R(.1,.6)},Y={TRn:R(.85,.95)},z={TRn:R(.1,.9)},v={TRn:R([.05,.15,.25,.35,.65])},_={RTRn:.32},U={RTRn:.15},q={RTRn:.225},K={RTRn:.8},Z={RTRn:R([.05,.1,.2,.3,.7])},Q={RRn:.8},J={SERn:.2},$={SERn:R(.6,.9)},j={SFRn:.15},ee={SGRn:.2},ne={SGRn:.8},se={SGRn:.95},Re={SGRn:.55},ie={SGRn:R(.7,.95)},re={SWVRn:.85},oe={SWVRn:.2},ae={SWRn:.1},Ce={SWRn:.5},le={SWRn:.6},te={SWRn:.725},Se={SWRn:.8},pe={SWRn:R(.5,.6)},Pe={SWRn:R(.1,.6)},de={SWRn:R(.1,.5)},he={SWRn:R(.5,.725)},ue={SWRn:R(.2)},Ge={SWRn:R(.6,.9)},Le={SWRn:R(.3)};P.push({...u,...N,...z,..._,...J,...Pe}),PC.push(3),P.push({...u,...N,...X,...K,...$,...le,...ie}),PC.push(1),P.push({...i,...h,...g,...f,...$,...ne,...{SWRn:.025},...re,...b}),PC.push(3),P.push({...$,...p,...g,...v,...Ce,...oe,...i}),PC.push(2),P.push({...W,...m,...g,...K,...k,...Se,...a}),PC.push(3),P.push({...n,...$,...D,...x,...K,...Ce,...oe,...Q,...i}),PC.push(2),P.push({...J,...h,...g,...N,...X,...U,...le,...oe}),PC.push(3),P.push({...$,...T,...t,...g,...k,...Q,...K,...Se,...o}),PC.push(3),P.push({...T,...h,...g,...k,...q,...Se}),PC.push(2),P.push({...d,...g,...V,...Ce,...oe,...i}),PC.push(1),P.push({...p,...v,...K,...Q,...Re,...ue,...oe,...i,...o}),PC.push(2),P.push({...y,...L,...g,...K,...{RRn:.2},...ee,...Ce,...oe,...X,...i,...r}),PC.push(1),P.push({...W,...c,...g,...{TRn:.925},...K,...oe,...ee,...r}),PC.push(3),P.push({...n,...u,...g,...V,...w,...Pe,...K,...i}),PC.push(1),P.push({...{CSRn:.2},...S,...E,...O,..._}),PC.push(1),P.push({...S,...g,...O,...K,...te,...oe,...ee}),PC.push(2),P.push({...A,...t,...g,...{TRn:.65},...se,...de,...oe}),PC.push(1),P.push({...s,...G,...E,...k,...K,...pe,...oe,...Re}),PC.push(2),P.push({...H,...G,...v,...w,...{RTRn:2},...J,...de,...se,...i}),PC.push(2),P.push({...T,...l,...g,...v,...K,...{SGRn:.65},...ae,...oe}),PC.push(2),P.push({...s,...S,...g,...x,...b,...U,...te,...oe,...i}),PC.push(1),P.push({...n,...f,...G,...{RTRn:3},...{SERn:2},...ne,...de,...oe,...z}),PC.push(3),P.push({...p,...M,...g,...k,...ie,...U}),PC.push(1),P.push({...f,...G,...g,...X,...{RTRn:.05}}),PC.push(3),P.push({...G,...Y,...K,...le,...oe,...se,...i}),PC.push(1),P.push({...A,...G,...X,...K,...oe,...se}),PC.push(2),P.push({...H,...u,...g,...K,...ae,...oe,...i}),PC.push(3),P.push({...p,...g,...K,...Ce,...oe,...Re,...i}),PC.push(2),P.push({...L,...g,...w,...Pe,...oe,...ee,...K,...a}),PC.push(5),P.push({...m,...y,...g,...w,...Pe,...oe,...ee,...K,...o}),PC.push(3),P.push({...t,...g,...k,...ee,...Pe,...oe,...K,...a}),PC.push(2),P.push({...u,...g,...{TRn:.975},...x,...Ge,...oe,...J,...K,...o}),PC.push(1),P.push({...D,...g,...B,...Re,...oe,...K,...pe,...$}),PC.push(2),P.push({...D,...g,...y,...ee,...oe,...K,...pe,...$,...o}),PC.push(4),P.push({...B,...g,...X,...K,...Re,...pe,...oe}),PC.push(3),P.push({...y,...c,...g,...X,...K,...ee,...Pe,...oe,...r,...{di:"Instability"}}),PC.push(3),P.push({...G,...I,...g,...K,...ee,...Ce,...oe,...X,...r}),PC.push(3),P.push({...h,...g,...K,...$,...he,...oe,...ee,...Q,...{di:"Vortex"},...a}),PC.push(3),P.push({...Se,...F,...Z,...j,...a}),PC.push(3),P.push({...h,...g,...q,...ue}),PC.push(2),P.push({...G,...Pe,...g,...b,...{STRn:.2},...Z}),PC.push(2),P.push({...y,...l,...K,...ee,...de,...{di:"Outline"},...J}),PC.push(2),P.push({...e,...u,...g,...ee,...K,...{di:"Tiled"},...X,...o}),PC.push(3),P.push({...u,...g,...ee,...K,...Le,...F,...a}),PC.push(3),P.push({...D,...K,...y,...ee,...pe,...oe,...j,...o}),PC.push(3),P.push({...e,...L,...g,...M,...oe,...ue,...ee}),PC.push(2),P.push({...e,...d,...g,...M,...oe,...ue,...ee,...K}),PC.push(1),P.push({...n,...C,...g,...oe,...pe,...ne,...K}),PC.push(1),P.push({...n,...G,...g,...ne,...pe,...oe,...q}),PC.push(3),P.push({...C,...x,...Pe,...oe,...ee,...j,...o}),PC.push(2),P.push({...l,...g,...N,...b,...Se}),PC.push(1),P.push({...n,...M,...ee,...G,...ue,...re,...Q,...K,...{TRn:1}}),PC.push(2),P.push({...G,...Pe,...g,...b,...Z}),PC.push(1);for(let e=0;e<P.length;e++){let n=P[e];n.id=e,n.di=n.di||""}}),cCB=((e,n,s,R=0,i=0,r=0,o={},a=!1,C=0,l=!0)=>{B.push({x:e,y:n,r:s,ir:R,b:i,s:r,type:"Circle",l:o,i:a,a:C,e:l})}),cRB=((e,n,s,R,i=0,r=0,o={},a=!1,C=0,l=!0)=>{B.push({x:e,y:n,w:s,h:R,r:1.414*max(s,R),b:i,s:r,type:"Quad",l:o,i:a,a:C,e:l})});</script></body>P5JS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Anhedra</title> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>!function(){"use strict";const hash="{{hash}}";function e(e,f,t,r){let o=t+~~(e/2),a=r+~~(e/2);if(t+=G,r+=H*(f?-1:1),W++,W===U){W=0;let e=G;G=-H,H=e,0==H&&U++}return[o,a,t,r]}function f(e,f,r){let o,a,i=0;do{[o,a]=t([f/2,f/2],r),i+=1}while((0>o||o>=f||0>a||a>=f||oe(F(o),F(a)))&&2e4>i);return o=F(o),a=F(a),2e4<=i?[void 0,0]:(e[`${o}-${a}`]=!0,[o,a])}function t(e,f=0,t=.04,r=2*E/6){Y=t*I;let o=e[0]+Y*m(I+V),a=e[1]+Y*g(I+V);return I+=r*(f?-1:1)/(t*p(1+I**2)),[h(o),h(a)]}function r(e,f,t){var r,o,a,i,n,l,d;for(a=f,o=0,d=e;0<=d?o<d:o>d;0<=d?o++:o--){for(i="",n=0,l=a.length;n<l;n++)i+=(r=a[n])in t?t[r]:r;a=i}return i}function o(e){let f,t,r,o=0,a=1,i=[[0,0]];for(let n=0,l=e.length;n<l;n++)f=e[n],"+"===f?o+=-E/2:"-"===f?o-=-E/2:"F"===f&&(t=m(o)+i[a-1][0],r=g(o)+i[a-1][1],i.push([h(t),h(r)]),a++);return i}function a(e,f){return Z.noise(e*K+ee[0],f*K+ee[1])}function i(e,f){return(a(e,f)+1)/2}function n(e,f){return 1-F(a(e,f))}function l(e,f){var t=Math.atan2;let r,o,a=.001;r=i(e,f+a),o=i(e,f-a);let n=(r-o)/.002;r=i(e+a,f),o=i(e-a,f);let l=(r-o)/.002,d=p(n*n+l*l),c=[n/d,-l/d],s=t(c[1],c[0]);return 0>s&&(s+=E),s/q*2}function d(e,f,t){let r=[];for(let t,o=0;o<te.length;o++)t=te[o],r.push((e-t[0])**2+(f-t[1])**2);return r=r.sort(((e,f)=>e-f)),T(p(r[0]),0,Q*t,1,0,!0)}function c(e,f,t){let r,o=e*f/50,a=[],c=!1;const s=(e,f)=>h(10*a[e+50*f])/10,b=(e,f)=>e.every(((e,t)=>e===f[t]));for(let u=0;u<50;u++)for(let h=0;h<50;h++){let p=(h+.5)*o,g=(u+.5)*o;0===t?r=i(p,g):1===t?r=l(p,g):2===t?r=d(p,g,e*f):3==t&&(r=n(p,g)),a.push(r);let m=s(h,u);if(1===t&&(0===m||1===m)){let e=[s(h,u),s(h-1,u),s(h,u-1),s(h-1,u-1)];(b(e,[1,0,0,1])||b(e,[0,1,1,0]))&&(c=!0)}}return a.sort(((e,f)=>e-f)),[a[0],a[1250],a[2250],a[2499],c]}function s(e,f,t){let r=h(.0175*t);return e>1*t/3-r&&e<1*t/3+r&&(f=!1),e>2*t/3-r&&e<2*t/3+r&&(f=!1),f}var b=Math.max,u=Math.min,h=Math.round,p=Math.sqrt,g=Math.sin,m=Math.cos,F=Math.abs;let v,w=null,M=!1;const y=e=>{M=!1,w=null,v=Uint32Array.from([0,0,0,0].map(((f,t)=>parseInt(e.substr(8*t+2,8),16))))},L=()=>{let e,f=v[3];return v[3]=v[2],v[2]=v[1],v[1]=e=v[0],f^=f<<11,f^=f>>>8,v[0]=f^e^e>>>19,v[0]/4294967296},A=(e=.5)=>L()<e,R=(e,f)=>(void 0===f&&(f=e,e=0),L()*(f-e)+e),C=(e,f)=>Math.floor(R(e,f)),x=e=>e.length?e[C(e.length)]:void 0,j=e=>{let f,t=e.reduce(((e,f)=>e+f)),r=L()*t;for(f=0;f<e.length;f++){if(r<e[f])return f;r-=e[f]}return 0},S=(e=0,f=1)=>{var t=Math.log;if(M){M=!1;var r=w;return w=null,e+f*r}var o=0,a=0,i=0;do{i=(o=2*L()-1)*o+(a=2*L()-1)*a}while(1<=i||0===i);var n=p(-2*t(i)/i);return w=a*n,M=!0,e+f*(o*n)},{sqrt:$}=Math,O=(e,f,t)=>e[0]*f+e[1]*t,P=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]];class B{constructor(e){this.p=[...Array(256)].map((()=>~~(256*e()))),this.pm=[...this.p,...this.p]}noise(e,f){const t=this.pm;var r,o,a=(e+f)*(.5*($(3)-1)),i=~~(e+a),n=~~(f+a),l=(3-$(3))/6,d=(i+n)*l,c=e-(i-d),s=f-(n-d);c>s?(r=1,o=0):(r=0,o=1);var b=c-r+l,u=s-o+l,h=c-1+2*l,p=s-1+2*l,g=255&i,m=255&n,F=t[g+t[m]]%12,v=t[g+r+t[m+o]]%12,w=t[g+1+t[m+1]]%12,M=.5-c*c-s*s,y=.5-b*b-u*u,L=.5-h*h-p*p;return 70*((0>M?0:(M*=M)*M*O(P[F],c,s))+(0>y?0:(y*=y)*y*O(P[v],b,u))+(0>L?0:(L*=L)*L*O(P[w],h,p)))}}const N=(e,f,t)=>b(u(e,t),f),T=(e,f,t,r,o,a)=>{let i=(e-f)/(t-f)*(o-r)+r;return a?r<o?N(i,r,o):N(i,o,r):i},k=(e,f)=>Array(f-e+1).fill().map(((f,t)=>e+t)),E=Math.PI,q=2*E;let z;const D=.99;let G,H,U,W,I,Y,V,Z,K,J,Q,X=r(9,"A",{A:"-BF+AFA+FB-",B:"+AF-BFB-FA+"}),_=r(6,"L",{L:"LFRFL-F-RFLFR+F+LFRFL",R:"RFLFR+F+LFRFL-F-RFLFR"}),ee=[0,0],fe=[],te=[];const re=(e,f,t,r,o,a,n,l,d,c,b)=>{z={};let u=A(T(t,240,1200,.5,.2,!0));u=+u,(l||d||600>t||0<=[4,5,6,7].indexOf(f))&&(u=1);let h=1;if(1===u){let e=[5,10,20,40,60,80,120,160],r=[0,8];l?r=[1,6]:0<=[4,5,6,7].indexOf(f)?800>t?r=[1,4]:800<=t&&1200>t?r=[2,6]:1200<=t&&(r=[2,7]):12===f?r=[2,5]:500>t?r=[0,5]:500<=t&&800>t?r=[0,8]:800<=t&&1e3>t?r=[1,8]:1e3<=t&&(r=[3,8]),e=e.slice(...r),4>=c.length&&(e=e.filter((e=>100>e))),h=x(e)}const g=(e,f,t)=>{var r,o;oe(e,f)&&t.push((r=e,o=f,z[`${r}-${o}`]).color)},m=(e,f,t,r,o)=>{t>=r/16&&t<(r+2)/16&&g(e,f,o)};if(e.forEach((e=>{let r,i,m=e.i,F=e.j,v=e.noise,w=A(v);if(1===a?w=s(m,w,t):2==a&&(w=s(F,w,t)),1===o&&p((m-t/2)**2+(F-t/2)**2)>t/2&&(w=!1),w&&(r=b?c[j(b)]:x(c),10!==f)){let e=[r],f=[u];g(m-1,F,e),g(m,F-1,e),g(m+1,F,e),g(m,F+1,e),d&&(g(m-1,F-1,e),g(m+1,F-1,e),g(m+1,F+1,e),g(m-1,F+1,e));for(let t=0;t<e.length-1;t++)f.push(h);1<=e.length&&(r=e[j(f)])}e.draw=w,e.stroke=0===n?0:A(.2),e.color=r,l?i=T(v,0,1,.65,1.25,!0):500>t?i=T(v,0,1,.5,1,!0):500<=t&&600>t?i=T(v,0,D,.65,1.1,!0):600<=t&&900>t?i=T(v,0,D,.7,1.25,!0):900<=t&&(i=T(v,0,D,.75,1.5,!0)),e.r=i,w&&(z[`${e.i}-${e.j}`]=e)})),10===f){K=.0014,Z=new B(L);let f=e.length;for(let t=0;t<f;t++){let f=e[t],o=f.i,a=f.j;if(f.draw){let e=[f.color],t=[u],n=i((o+.5)*r,(a+.5)*r);n>=7/16&&n<15/16&&(m(o-1,a,n,7,e),m(o-1,a-1,n,9,e),m(o,a-1,n,11,e),m(o+1,a-1,n,13,e),2===e.length&&(t.push(h),f.color=e[j(t)]))}}for(let t=f-1;0<=t;t--){let f=e[t],o=f.i,a=f.j;if(f.draw){let e=[f.color],t=[u],n=i((o+.5)*r,(a+.5)*r);(n>=15/16||n<7/16)&&((n>=15/16||n<1/16)&&g(o+1,a,e),m(o+1,a+1,n,1,e),m(o,a+1,n,3,e),m(o-1,a+1,n,5,e),2===e.length&&(t.push(h),f.color=e[j(t)]))}}}},oe=(e,f)=>void 0!==z[`${e}-${f}`],ae=(e,f,t,r)=>e.arcTo(...f,...t,r);var ie=t=>{function r(){pe=pe.sort(((e,f)=>0==e.j-f.j?e.i-f.i:e.j-f.j)),((e,f,t)=>{function r(t,r){if(0<=t&&t<e&&0<=r&&r<e){let o=f[t+r*e]=Object.assign({},a);o.i=t,o.j=r}}let o,a,i,n,l,d,c,s=e/2,b=e/2;if(1===t)for(i=0;i<s;i++)for(n=0;n<b;n++)for(o=i+n*e,a=f[o],c=0;3>c;c++)0===c?(l=s+(s-i-1),d=n):1===c?(l=s+(s-i-1),d=b+(b-n-1)):2===c&&(l=i,d=b+(b-n-1)),r(l,d);else if(2===t)for(i=0;i<s;i++)for(n=0;n<e;n++)o=i+n*e,a=f[o],l=s+(s-i-1),r(l,n)})(s,pe,N)}y(t);const a=2e3;let s,g=j([2,2,1,1,1.5,1.5,2,2,.25,.25,3,.75,2]);do{s=10*~~(S(600,80)/10)*2}while(240>s||1600<s||12===g&&700>s);2===g||3===g?s=10*h(C(400,800)/10)*2:8===g?s=[256,512][j([1,2])]:9===g?s=[243,729][j([1,2])]:(10===g||11===g)&&(s=10*h(C(120,275)/10)*2);let m=j([20,1]),F=1===m?2:j([1,5,3,8===g||9===g?0:.25]),v=[.125,.09,.05,-.02].map((e=>u(e*a)))[F],w=3===F||1===m||12===g?0:j([20,1,.5]),M=[2,3,2,1];8===g||9===g?M=[2,3,0,2]:10===g?M=[3,2,3,.5]:12===g&&(M=[2,5,0,0]);let $=j(M),O=1===$||2===$||8===g||9===g||12===g||800>s&&10!==g?0:j([100,8]),P=[0,1][j([3,T(s,240,320,2,0,!0)])],N=j([100,2,1]);1===$&&(N=j([100,2,0])),(11===g||0<w)&&(N=0);let E,oe=0<N&&1===$&&0===O?j([1,1]):0,ie=1===$&&600<s&&0>[4,5,6,7].indexOf(g)&&A(.05)?1:0,ne=0<=[2,3,10,12].indexOf(g)||A(.45);ne=+ne,2===g||3===g?(E=k(0,16).concat(k(23,29)),1===$&&(E=E.concat(k(30,38)))):8===g||9===g?E=500>s?[0,2,4,5,7,9]:k(0,12).concat([14,15,16,24,25,26,27,28]):10===g?E=k(0,13).concat([29]):11===g?(E=k(0,14).concat([24,25,26,28]),1===$&&(E=E.concat([33,34,35]))):E=450>s?[0,1,2,3,4,5,6,7,9,16,24]:k(0,750<s&&1===$?38:29);let le=j([2,3,1.5,.25,1,1.5,1,2,.25,2,.5,.75,1.5,1.5,.35,1,.5,.35,.35,.25,.25,.25,.25,.25,1.25,.75,.75,.75,.75,.25,1.25,2,1.25,1.25,2,1.25,1.25,1.25,1.25].filter(((e,f)=>0<=E.indexOf(f))));E=E[le];let de,ce,se,[be,ue,he]=(e=>{let f,t,r;return 0===e?(f=["#e31f4f","#f0ac3f","#18acab","#26265a","#ea7d81","#ebe8e1"],t="#ead7c9"):1===e?(f=["#09217f","#17c3b2","#ffcb77","#fe6d73","#fef9ef"],t="#fef9ef"):2===e?(f=["#360568","#6560a7","#80e3d3","#ee559d","#f29db9","#ffd090","#00c8bb","#fafffe"],t="#fff4f7"):3===e?(f=["#171413","#d93c15","#ff9b5e","#ffe580","#5e36a3","#3462ac","#39cec2","#fafff9"],t="#ece9e7",r=[2,1,1,1,1,1,1,1]):4===e?(f=["#ffca56","#f4015a","#ff7ca1","#051332","#1e9db0","#fffbf9"],t="#feecec"):5===e?(f=["#403273","#92529f","#ee6a7c","#ffa7a5","#ffe38b","#fff3ea","#72ddbb","#34acba"],t="#ffe7d6"):6===e?(f=["#ef476f","#ffd166","#06d6a0","#118ab2","#073b4c","#fbfbfb"],t=f[5],r=[2,1,1,2,4,2]):7===e?(f=["#342448","#fdfaed","#f7cf75","#f76975","#229eac","#538a79"],t="#f0e2d0",r=[5,3,1,1,1,1]):8===e?(f=["#db2517","#edc01c","#4267eb","#030322","#f7eeeb"],t="#f0ebe8"):9===e?(f=["#f4f1de","#e07a5f","#373a53","#81b29a","#f2cc8f"],t="#f4f1de",r=[2,1,3,1,1]):10===e?(f=["#24435b","#39aeb3","#7be1a6","#d7fbd5","#fbb5c4","#fb6581","#fffff7"],t="#ebf4e6",r=[3,1,1,1,1,1,2]):11===e?(f=["#2e8f9d","#a0c8cf","#ffc327","#041926","#ecf5f7","#fffbf6"],t="#e9eef2"):12===e?(f=["#2d354d","#15788c","#00b9be","#ff6e78","#ffbdb2","#fef1d8"],t="#ffdfda"):13===e?(f=["#e65693","#ff95b1","#fdc6d0","#ffecf0","#dedfff","#849bf7","#5f62c6","#3c2d7b"],t="#d3d5f9"):14===e?(f=["#ec3242","#00023d","#1aa1b1","#f77d8a","#bbdeea","#f1f7f9"],t="#e1eef3"):15===e?(f=["#372980","#f25b68","#3cb3b1","#d2ecf4","#fbfbfb"],t=f[4],r=[2,1,1,1,.5]):16===e?(f=["#42094a","#e82263","#f7717e","#f7ada1","#fdf5ea"],t="#fbdad3"):17===e?(f=["#5e315b","#cc74be","#71e3af","#fff7dd"],t=f[3],r=[10,1,1,5]):18===e?(f=["#9f3472","#ff8acd","#4aedff","#fffafb"],t=f[3],r=[10,1,1,5]):19===e?(f=["#fff3f4","#ffc0c4","#ff8d93","#ec2a39","#b00b2a","#6a111d"],t="#fbdddd"):20===e?(f=["#0f380f","#35662e","#6f9519","#aac73e","#dce6c3"],t="#cddbad"):21===e?(f=["#01024d","#07669f","#37b3d9","#89d4ec","#cbebf0"],t="#a6dced"):22===e?(f=["#f8f9fb","#d5dce2","#8197a6","#3f4f60","#0d1428"],t="#eff2f7",r=[2,1,1,1,4]):23===e?(f=["#f8f9fb","#d5dce2","#8197a6","#0d1428",x(["#ec3a1d","#28b2ca","#fdc726"])],t="#eff2f7",r=[2,1,1,3,.15]):24===e?(f=["#151313","#FF5555","#0ee1db","#fffff9"],t=f[3],r=[10,1,1,8]):25===e?(f=["#1b1b1c","#48b4f4","#48e8aa","#fdfffa"],t=f[3],r=[10,1,1,5]):26===e?(f=["#1e1e24","#fd2ca3","#ffdb4d","#f9f7fc"],t=f[3],r=[10,1,1,5]):27===e?(f=["#0e0e0e","#6646cc","#ec38b9","#34e3d5","#f4f7f9"],t=f[4],r=[10,1,1,1,5]):28===e?(f=["#111111","#ff206e","#fbff12","#41ead4","#fdfcfa"],t=f[4],r=[18,1,1,1,7]):29===e?(f=["#000000","#ff0000","#00ff00","#0000ff","#00ffff","#ff00ff","#ffff00","#ffffff"],t="#f9f9f9",r=[16,1,1,1,1,1,1,6]):30===e?(f=["#df293c","#f6f6f4"],r=[1.5,1]):31===e?(f=["#4169ff","#f6f6f4"],r=[1.5,1]):32===e?(f=["#0a133e","#f7f7f3"],r=[1.5,1]):33===e?(f=["#f6f6f4","#21b2ac"],r=[1.5,1]):34===e?(f=["#f6f6f4","#ff5937"],r=[1.5,1]):35===e?(f=["#f5f4f6","#9d7ad2"],r=[1.5,1]):36===e?(f=["#071028","#f28e76"],r=[2,1]):37===e?(f=["#080809","#90dae1"],r=[2,1]):38==e&&(f=["#240606","#f0de7b"],r=[2,1]),29<e&&(t=f[1]),[f,t,r]})(E);7>=E?de="Prisms":18>=E?de="Mixed Colors":22>=E?de="Monochrome":29>=E?de="B|W|Colors":38>=E&&(de="Singular Color"),0===g||1===g?ce="Angled":2===g||3===g?ce="Straight":4===g||5===g?ce="Cross":6===g||7===g?ce="Radial":8===g||9===g?ce="Speckled":10===g?ce="River":11===g?ce="Drusy":12===g&&(ce="Vortex"),window.METADATA={"Color Palette":["Chaos","Ammolite","Fluorite","Labradorite","Rhodonite","Opal","Chrysocolla","Bornite","Linarite","Unakite","Tourmaline","Larimar","Serandite","Charoite","Pyroxmangite","Amazonite","Thulite","Zoisite","Kunzite","Garnet","Peridot","Aquamarine","Pinolith","Hematite","Neptunite","Magnetite","Ullmannite","Shungite","Uraninite","Hardystonite","Cinnabarite","Lapis Lazuli","Diorite","Mariposite","Crocoite","Amethyst","Granite","Turquenite","Legrandite"][E],"Color Group":de,"Color Flow":ce,Margin:["Big","Medium","Small","Inverse"][F],Layout:["Square","Circle"][m],Triptych:["None","Vertical","Horizontal"][w],"Grid Rows":s,Noise:["Simplex","Curl","Worley","Ridged"][$],"Zoomed Out":["No","Yes"][ie],"Diagonal Neighbors":["No","Yes"][ne],Symmetric:["No","4-fold","2-fold"][N],"Full Field":["No","Yes"][O]},[v,se]=((e,f,t)=>{let r=(2e3-2*f)/t;return r=h(10*r)/10,f-=u((t*r-(2e3-2*f))/2),[f=h(10*f)/10,r]})(0,v,s);let pe=((t,r)=>{function a(e,f,r){return[f=~~(e/t),0==f%2?e%t:t-1-e%t]}let i,n,l,d=[],c=0,s=0;z={},(4===r||5===r)&&(G=2===r?1:-1,H=0,U=1,W=0),(6===r||7===r)&&(I=0,Y=0,V=R(q)),8===r?l=o(X):9==r&&(l=o(_));for(let o=0;o<t**2;o++){if(0===r||10===r||11===r||12===r)i=o%t,n=~~(o/t);else if(1===r)i=t-o%t-1,n=~~(o/t);else if(2===r||3===r)2===r?[n,i]=a(o,n):[i,n]=a(o,i);else if(4===r||5===r)[i,n,c,s]=e(t,4===r?0:1,c,s);else if(6!==r&&7!==r)(8===r||9===r)&&(i=l[o][0],n=l[o][1]);else if([i,n]=f(z,t,6===r?0:1),void 0===i)continue;let b={i,j:n};d.push(b)}return d})(s,g);return((e,f,t,r,o,a,s,h,g)=>{let m,F=0,v=f*(0<s?.5:1);if(2!==r){K=R(2e-4,3===r?325e-6:1===r?55e-5:5e-4),h&&(K=R(.00175,.003));let e=.6;10===a&&0===s&&3!==r?e=.725:(8===a||9===a||3===r)&&(e=.7);do{ee=[R(1,1e3),R(1,1e3)],Z=new B(L),fe=c(v,t,r),F++}while((.84>fe[3]||.76>fe[2]||fe[1]<e||0===r&&.4<fe[0]||3===r&&.35<fe[0]||10===a&&.5<fe[0]||!0===fe[4])&&0===h&&3e3>F)}if(2===r){J=C(10===a?5:3)+(10===a?3:2);let e,f=.45;10===a&&0===s&&3!=r&&(f=.6);do{Q=R(10===a?T(J,3,7,.95,.8,!0):T(J,2,4,.9,.6,!0),1),te=[];for(let e=0;e<J;e++)te.push([L()*g,L()*g]);e=te.map((e=>p((e[0]-g/2)**2+(e[1]-g/2)**2))),e=e.reduce(((e,f)=>e+f),0)/J,fe=c(v,t,r),F++}while((e>g/2*.75||fe[1]<f&&.75>fe[2])&&3e3>F)}m=R(fe[3]-.1,fe[3]+.05);let w=.85<fe[1]?.15:.1;m=b(fe[1]+w,m),2===a||3===a?m=u(fe[3],m):8===a||9===a?m=b(m,fe[3]+.03):10===a&&(m=b(fe[3],u(fe[3]+.02,m))),e.forEach((e=>{let c,s=e.i,b=e.j,u=(s+.5)*t,h=(b+.5)*t;0===r?c=i(u,h):1===r?c=l(u,h):2===r?c=d(u,h,t*f):3==r&&(c=n(u,h));let p=fe[0];(m<fe[0]||2===r||10===a&&3===r)&&(p=0),c=T(c,p,m,.05,D,!0),o&&(c=D),e.noise=c}))})(pe,s,se,$,O,g,N,ie,2e3-2*v),N&&oe&&r(),11===g&&(e=>{for(let f=e.length-1;0<f;f--){const t=~~(L()*(f+1));[e[f],e[t]]=[e[t],e[f]]}})(pe),re(pe,g,s,se,m,w,P,O,ne,be,he),N&&!oe&&r(),pe=pe.sort(((e,f)=>f.r-e.r)),(e,f,o)=>{y(t);const i=o/a;12===g&&(re(pe,g,s,se,m,w,P,O,ne,be,he),N&&!oe&&r());const n=v*i,l=se*i;f.fillStyle=ue,f.fillRect(0,0,o,o);let d=h((a-2*v)/s*i*.3*4)/4;f.lineWidth=d,pe.filter((e=>e.draw)).forEach((e=>function(e){f.save(),f.translate(n+(e.i+.5)*l,n+(e.j+.5)*l);let t=e.noise,r=(l-(e.stroke?d:0))/2;r*=e.r*R(1,1.1),0===O&&550<s&&0<=[3,6,8,17,18,25,26,27,28,29].indexOf(E)&&(r*=T(t,0,1,1,1.25,!0));let o=r*T(t,.5,.98,1,.6,!0);((e,f,t)=>{e.beginPath(),e.moveTo(0,-f),ae(e,[f,-f],[f,f],t),ae(e,[f,f],[-f,f],t),ae(e,[-f,f],[-f,-f],t),ae(e,[-f,-f],[t,-f],t),e.closePath()})(f,r,o);let a=e.color;a!==ue&&(f.fillStyle=f.strokeStyle=a,e.stroke?f.stroke():f.fill()),f.restore()}(e))),window.top&&window.top.postMessage("genart:done","*")}};(()=>{let e=window,f=document;const t=f.body.appendChild(f.createElement("canvas")),r=t.getContext("2d");let o,a,i;const n=()=>{o(t,r,a)},l=()=>{a=u(e.innerWidth,e.innerHeight),i=b(6,2),t.width=~~(a*i),t.height=~~(a*i),t.style.width=`${a}px`,t.style.height=`${a}px`,a*=i,o&&n()};e.addEventListener("resize",l),l(),o=ie(hash),n()})()}(); </script></body></html>VanillaJS
0xf7d96d2d…484d·#14,004,895·0x857d7f10…560223
Ownable: new owner is the zero a`GenArtTokenAirdrop: no tokens to`GenArtTokenAirdrop: sender is no`t owner of membershipOwnable: caller is not the owner`GenArtTokenAirdrop: tokens alrea`GenArtTokenAirdrop: sender does `not own membershipsGenArtTokenAirdrop: token claimi`ng window has ended
0xf7d96d2d…484d·#14,004,133·0x4b0bc400…a7e718
Ownable: new owner is the zero a`GenArtTokenAirdrop: no tokens to`GenArtTokenAirdrop: sender is no`t owner of membershipOwnable: caller is not the owner`GenArtTokenAirdrop: tokens alrea`GenArtTokenAirdrop: sender does `not own membershipsGenArtTokenAirdrop: token claimi`ng window has ended
<!DOCTYPE html><html><head> <title>Imagination</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <style>body{width: 100%; height: 100%; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; flex-direction: row; overflow: hidden; background: #000}canvas{margin: auto; display: block}</style> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script></head><body> <script>let hash="{{hash}}";console.log("By Hevey (@HeveyArt) - " + hash); let e, x, fa, bb, S, ba, m, b, R, T, Kb=(t, i, e, s, a, h)=> a > t && a < e && h > i && h < s, kb=(t, i, e, s)=> sqrt(abs(t - e) ** 2 + abs(i - s) ** 2), Mb=(t, i, e, s)=> [e + (t - e) / 2, s + (i - s) / 2], Lb=t=> t.reduce(((t, i)=> t + i)), C=(t, i, e, s, a)=> a - (a - s) * (i - (e > i ? i : e)) / (i - t), g=255, p=238, s=[40, 40, 40], ha=[g, g, g], K=[244, 237, 228], Ib=hash.slice(2), vb=2e3, Ba=[], j=200, P=h(22, 24, 5) ? 0 : 1, ma=h(49, 51, 22, 8), Q=h(52, 53, P ? 8 : 4) ? 1 : 0, ga=h(24, 26, Q ? P ? 4 : 260 : P ? 260 : 4) ? 1 : 0, ra=!ga && !Q, ia=ra ? [2, 2, 2, 2, 8, 8][h(54, 55)] ?? 1 : [P || !Q ? 1 : 4, 4, 4, 4, 4, 4, 6, 6, 8, 8, 16][h(54, 55)] ?? 2; 1===P && 16==ia && (ia=8); let O=h(16, 18) < 10, Y=O ? 3 : [1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4][h(39, 41, 30)] ?? 0, za=!O && h(18, 20) < 10, E=h(45, 46, 3) ? 1 : 0, wb=ga && h(46, 47) > 1, na=!za && h(33, 34) > 3 ? ~~(.6 * ma) - 1 : 0, aa=[1, ra ? 0 : 2][h(20, 22, 20)] ?? 0, sb=[0, 0, 1, 2==aa ? 0 : 2, 2==aa ? 1 : 2][h(26, 28, 5)], Aa=2==aa ? 3 : [0, 1, 1, 2][h(51, 52, 4)], ta=E && h(55, 56, 4) ? 0 : 1, mb=h(31, 33, 6, 1), Ja=.6 + .2 * mb, Oa=[1, 2, 3, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8][h(60, 61)], nb=.2 * Oa, Ra=[0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9][h(58, 60, 25)], tb=.2 * Ra, Ta=h(48, 49, 4), sa=h(44, 45, 2), xa=3.5 + h(57, 58) / 10, ya=2 + h(56, 57) / 10; ya + .5 > xa && (ya=xa - .5); let ob=[[[220, 220, 220], ha, [20, 20, 20], [240, 240, 240], [190, 190, 190]], [K, [20, 19, 17], [182, 176, 170], [86, 83, 80], K], [[23, 126, 137], [219, 58, 52], [g, 200, 87], s, [8, 76, 97], [14, 164, 181]], [K, [33, 123, 116], [g, p, 173], [150, 206, 180], [217, 83, 79], [g, 173, 96]], [[240, 120, 16], [197, 13, 102], [11, 139, 155], [245, 244, 232], [p, 198, 10]], [[245, 244, 232], [p, 198, 10], [197, 13, 102], [240, 120, 16], [11, 139, 155]], [[245, 244, 232], [p, 198, 10], [11, 139, 155], [197, 13, 102], [240, 120, 16]], [[0, 157, 174], s, [194, g, 249], [g, 230, 82]], [[48, 59, 40], [86, 84, 73], [p, p, p], [83, 223, 19], s], [[8, 76, 97], [23, 126, 137], s, [219, 58, 52], [g, 200, 87], [14, 164, 181]], [K, s, [228, 137, 0], [247, 234, 0], [158, 222, 115]], [[220, 183, 138], [204, 147, 80], [63, 19, 15], [94, 32, 16], [161, 65, 33], [39, 19, 15], [186, 116, 40], [112, 63, 15], [0, 0, 0]], [[99, 28, 35], [237, 236, 244], [56, 31, 33], [209, 28, 22]], [[60, 31, 52], [99, 28, 82], [242, 246, 250], [199, 23, 134]], [[28, 99, 99], [242, 244, 236], [31, 59, 60], [23, 178, 199]], [[192, 134, 104], [131, 125, 116], [235, 227, 207], [74, 95, 125], [176, 184, 179], K], [[g, 231, 0], [230, 20, 132], [0, 158, 239], s], [[0, 158, 239], [g, 231, 0], [230, 20, 132], s], [s, [230, 20, 132], [g, 231, 0], [0, 158, 239]], [s, [230, 20, 132], [0, 158, 239], [g, 231, 0]], [s, [0, 158, 239], [g, 231, 0], [230, 20, 132]], [[240, 240, 240], [23, 148, 172], [186, 184, 189], [45, 45, 45], [161, 212, 226]], [s, [254, 244, 169], [59, 154, 156], [75, 194, 197], [120, 254, 224]], [[63, 19, 15], [247, 253, 4], [249, 132, 4], [249, 178, 8]], [s, [241, 246, 249], [20, 39, 78], [57, 72, 103], [155, 164, 180]], [ha, [0, 136, 145], [15, 48, 87], [231, 231, 222], [0, 88, 122]], [s, [76, 96, 133], [57, 160, 237], [19, 196, 163], [54, 241, 205]], [[44, 50, 59], [253, 112, 19], [73, 78, 86], [p, p, p]], [[73, 78, 86], [44, 50, 59], [p, p, p], [253, 112, 19]], [[73, 78, 86], [44, 50, 59], [253, 112, 19], [p, p, p]], [[99, 28, 35], [192, 0, 0], [247, 179, 45], [248, 249, 252], [222, 60, 60]], [[48, 16, 24], [216, 50, 33], [85, 30, 29], [175, 144, 133], [145, 39, 32], [244, p, 227]], [K, [45, 45, 45], [188, 132, 32], [15, 15, 15], [163, 158, 158]], [[45, 45, 45], [188, 132, 32], [15, 15, 15], K, [163, 158, 158]], [[188, 132, 32], [30, 30, 30], [237, 163, 35], [244, 205, 42], [g, 253, 184]], [[0, 24, 113], [65, 182, 230], [g, 88, 93], [g, 181, 73]], [[61, 45, 1], [242, 156, 43], [139, 194, 76], [222, 67, 7], [246, 208, 77]], [[61, 45, 1], [242, 156, 43], [222, 67, 7], [139, 194, 76], [246, 208, 77]], [[3, 7, 30], [244, 140, 6], [157, 2, 8], [106, 4, 15], [208, 0, 0], [220, 47, 2], [232, 93, 4], [250, 163, 7], [g, 186, 8], [55, 6, 23]], [[55, 6, 23], [106, 4, 15], [250, 163, 7], [157, 2, 8], [208, 0, 0], [220, 47, 2], [232, 93, 4], [244, 140, 6], [g, 186, 8]], [[157, 2, 8], [250, 163, 7], [208, 0, 0], [g, 186, 8], [106, 4, 15], [220, 47, 2], [232, 93, 4], [244, 140, 6]], [[7, 59, 76], [17, 138, 178], [g, 209, 102], [6, 214, 160]], 0, [s, [7, 59, 76], [g, 209, 102], [6, 214, 160], [17, 138, 178]], [s, [6, 214, 160], [7, 59, 76], [g, 209, 102], [17, 138, 178]], [K, [0, 29, 61], [g, 195, 0], [0, 53, 102], [g, 214, 10]], [[36, 0, 70], [123, 44, 191], [g, 158, 0], [157, 78, 221], [g, 109, 0], [g, 121, 0], [g, 133, 0], [g, 145, 0], [60, 9, 108], [90, 24, 154]], [[60, 9, 108], [36, 0, 70], [g, 158, 0], [g, 109, 0], [g, 121, 0], [g, 133, 0], [g, 145, 0], [90, 24, 154], [123, 44, 191], [157, 78, 221]], [[0, 77, 97], [g, 80, 47], [52, 132, 152], [91, 209, 215]], [[128, 120, 89], [235, 220, 187], [75, 64, 61], [153, 78, 60], [190, 155, 55]], [[235, 220, 187], [75, 64, 61], [128, 120, 89], [190, 155, 55], [153, 78, 60]], [[245, 244, 232], [197, 13, 102], [240, 183, 117], [240, 120, 16], [p, 198, 10]], [[249, p, 211], [102, 139, 138], [159, 176, 131], [164, 124, 100]], 0, 0, [[91, 96, 68], [15, 13, 33], [207, 155, 97], [249, p, 211]], [[114, 13, 32], [5, 38, 0], [242, 231, 218], [191, 51, 63], [165, 54, 54]], [[37, 42, 52], [8, 217, 214], [g, 46, 99], [234, 234, 234]], [[151, 142, 67], [53, 6, 8], [199, 59, 11], [242, 197, 69], K], [[53, 6, 8], K, [199, 59, 11], [242, 197, 69], [151, 142, 67]], [[102, 102, 51], [176, 0, 59], s, [204, 204, 153]], [[46, 148, 185], [240, 183, 117], [210, 85, 101], [g, 253, 192]], [ha, s, [202, 62, 71], [82, 82, 82], [65, 65, 65]], [[228, 209, 211], [1, 73, 85], [221, 10, 53], [22, 135, 167]], [[242, 232, 207], [56, 102, 65], [106, 153, 78], [167, 201, 87], [188, 71, 73]]]; S=E ? ra ? [0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 24, 24, 25, 27, 31, 32, 32, 33, 38, 39, 40, 44, 45, 47, 49, 55, 62][h(41, 44, 35)] : ta ? [0, 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 51, 56, 57, 59, 61, 62, 63][h(41, 44, 51)] : [0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 9, 10, 11, 12, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 62, 63, 63, 64][h(41, 44, 65)] : [0, 1, 2, 2, 2, 3, 3, 4, 5, 6, 9, 9, 11, 12, 13, 18, 24, 27, 31, 33, 36, 38, 38, 39, 45, 49, 50, 57, 58, 62, 64][h(41, 44, 31)], 11==S && (s=[20, 20, 20]); let Ca=ob[S], f={fb: Ca.shift(), k: Ca, H: Ca.length}, Z=(!Q || ia > 2) && [4, 5, 6, 9, 11, 17, 18, 19, 20, 38, 47, 63, 64].indexOf(S) > -1 && h(36, 37) < 4 ? ha : s; window.METADATA={Palette: ["Black & White", "Paper", "Oxide", "Vintage", "Sherbets", "Sherbets", "Sherbets", "Lagoon", "Grass", "Oxide", "Honey & Plants", "Coffee", "Blood", "Pink", "Blue", "Middle Ages", "CMYK", "CMYK", "CMYK", "CMYK", "CMYK", "Winter", "Tropical Water", "Gold", "Porcelain", "Deep Water", "Night Water", "Metallurgy", "Metallurgy", "Metallurgy", "Jam", "Samurai", "Inkstick", "Inkstick", "Medieval Coins", "Circus", "Warm Light", "Warm Light", "Fire", "Fire", "Fire", "Seaside", 0, "Seaside", "Seaside", "Gold & Blue", "Night Lights", "Night Lights", "Vacation", "Fresco", "Fresco", "Honey & Pink", "Nature", 0, 0, "Desert", "Watermelon", "Pink & Blue", "Hamburger", "Hamburger", "Olives", "Pastel", "Redback Spider", "Blood Water", "Plants"][S], Style: ["M", "V"][P], Tentacles: ["Few", "Some", "Many"][~~((ma - 8) / 7.1)], Thickness: ["Thin", "Moderately Thin", "Moderately Thick", "Thick"][[0, 0, 1, 1, 2, 2, 3, 3][Oa - 1]], Curvature: ["None", "Very Light", "Light", "Medium", "Medium", "Moderately Strong", "Moderately Strong", "Strong", "Very Strong", "Maximum"][Ra], Space:{1: "Very Thin", 2: "Thin", 4: "Medium", 6: "Moderately Large", 8: "Large", 16: "Very Large"}[ia], Position: ["Bottom Left", "Top Left", "Top Right", "Bottom Right", "Corners", "Special", "Bottom"][O ? 6 : za ? 5 : Y], "Color Mode": ["Random", ta ? "Same Gradient" : "Variable Gradient"][E], Frame: na ? [["Small", "Medium", "Large"][Aa], "Circle", "Inside"][aa] : "None", Borders: ga ? Q ? "Both" : "Vertical" : Q ? "Horizontal" : "None", "Borders Color": ra ? "None" : Z==ha ? "White" : "Black"}; class yb{constructor(t){this.z=t, this.Cb=O ? 0 : .1 * -e, this.Bb=O ? e : 1.1 * e, this.ib=h(0 + t, 1 + t, 2), this.ua=[[this.Cb, this.Bb]], this.Wa=[bb], this.t=[], this.v=[], this.i=[], this.F=[], this.G=[], this.Na=t % 2, this.M=ta ? 0 : h(3 + t, 5 + t, f.H), this.I=ta ? 1 : h(4 + t, 6 + t, f.H), this.M===this.I && (this.I=(this.I + 1) % f.H); let i=j / 2, s=~~(j / xa), a=~~(j / ya); this.la=h(0 + t, 2 + t, 25, O ? 6 : 10) / 10; let r=e / j * this.la, o=TWO_PI / j * (this.ib ? -1 : 1) / (this.la / tb), l=o, b=radians(h(0 + t, 3 + t, 90, 270 + (h(0 + t, 2 + t, 30, 5) - 10) * (this.ib ? -1 : 1))), n=e / (h(61, 62) + 10), g=e * this.la ** 1.2 / 10; for (let t=0; t < j; t++){this.Na && t >=s && t <=a && (o=C(s, a, t, l, -1 * l)); let e=this.Wa[t].copy().add(createVector(cos(b), sin(b)).setMag((t / j) ** (this.Na ? 2 : 1.5))).normalize(), h=this.ua[t], f=((j - t) / j + .1) ** nb, m=h[0] + e.x * r * f, d=h[1] + e.y * r * f, k=(abs(i - t) / i) ** 2, p=n * k + g * (1 - k), c=e.copy().rotate(90).setMag(p * ((j - t) / j) ** 1.5); this.t.push([m + c.x, d + c.y]), this.v.push([m - c.x, d - c.y]), this.i.push([m, d]), this.F.push([m + c.x / 2, d + c.y / 2]), this.G.push([m - c.x / 2, d - c.y / 2]), this.ua.push([m, d]), this.Wa.push(e), b +=o}this.Ka=this.v.slice().reverse()}Ab(){noStroke(); if (wb && (ba.save(), ba.shadowOffsetX=10 * x, ba.shadowOffsetY=10 * x, ba.shadowBlur=30 * x, ba.shadowColor=color(0, 0, 0, 30), fill(g), R(), this.t.forEach((t=> m(...t))), this.Ka.forEach((t=> m(...t))), T(CLOSE), ba.restore()), !P){randomSeed(Ea((parseInt(hash, 16) * (this.z + 1.234)).toString())); let t=2 * ia, i=~~(j / 25), e=i * x * Ja, s=1.8; for (let a=0; a < j; a++)if (a % t==0 && a < j - i - t){let h=e * ((1 - a / j) ** 2 + .5), r=[C(0, j - 1, a * s, f.k[this.M][0], f.k[this.I][0]), C(0, j - 1, a * s, f.k[this.M][1], f.k[this.I][1]), C(0, j - 1, a * s, f.k[this.M][2], f.k[this.I][2])]; 1===E && fill(r), E || (r=f.k[~~b(f.H)], fill(r)), N([this.t[a + t][0] + b(-h, h), this.t[a + t][1] + b(-h, h)], [this.t[a][0] + b(-h, h), this.t[a][1] + b(-h, h)], [this.F[a + i][0] + b(-h, h), this.F[a + i][1] + b(-h, h)], [this.F[a + i + t][0] + b(-h, h), this.F[a + i + t][1] + b(-h, h)], r), E || fill(f.k[~~b(f.H)]), N([this.i[a + t][0] + b(-h, h), this.i[a + t][1] + b(-h, h)], [this.i[a][0] + b(-h, h), this.i[a][1] + b(-h, h)], [this.G[a + i][0] + b(-h, h), this.G[a + i][1] + b(-h, h)], [this.G[a + i + t][0] + b(-h, h), this.G[a + i + t][1] + b(-h, h)], r), r=[C(0, j - 1, a * s, f.k[this.I][0], f.k[this.M][0]), C(0, j - 1, a * s, f.k[this.I][1], f.k[this.M][1]), C(0, j - 1, a * s, f.k[this.I][2], f.k[this.M][2])], 1===E && fill(r), E || (r=f.k[~~b(f.H)], fill(r)), N([this.i[a + t][0] + b(-h, h), this.i[a + t][1] + b(-h, h)], [this.i[a][0] + b(-h, h), this.i[a][1] + b(-h, h)], [this.F[a + i][0] + b(-h, h), this.F[a + i][1] + b(-h, h)], [this.F[a + i + t][0] + b(-h, h), this.F[a + i + t][1] + b(-h, h)], r), E || fill(f.k[~~b(f.H)]), N([this.v[a + t][0] + b(-h, h), this.v[a + t][1] + b(-h, h)], [this.v[a][0] + b(-h, h), this.v[a][1] + b(-h, h)], [this.G[a + i][0] + b(-h, h), this.G[a + i][1] + b(-h, h)], [this.G[a + i + t][0] + b(-h, h), this.G[a + i + t][1] + b(-h, h)], r)}if (noFill(), strokeWeight(1.3 * fa), ga){stroke(...Z, 140); for (let t=0; t < 3; t++)R(), this.ua.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T(), R(), this.F.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T(), R(), this.G.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T()}if (Q){stroke(Z); for (let e=0; e < j; e++)e % t==0 && e < j - i && (line(...this.G[e + i], ...this.v[e]), line(...this.F[e + i], ...this.i[e]), line(...this.i[e], ...this.G[e + i]), line(...this.t[e], ...this.F[e + i]))}}if (1===P){randomSeed(Ea((parseInt(hash, 16) * (this.z + 1.234)).toString())); let t=8 * ia, i=~~(.75 * t), e=~~(t / 2), s=~~(.375 * t), a=~~(.125 * t), h=s * x * 2 * Ja, r=1.8; for (let o=0; o < j; o++)if (o % t==0 && o < j - i - t - a){let a=h * ((1 - o / j) ** 2 + .5), l=[C(0, j - 1, o * r, f.k[this.M][0], f.k[this.I][0]), C(0, j - 1, o * r, f.k[this.M][1], f.k[this.I][1]), C(0, j - 1, o * r, f.k[this.M][2], f.k[this.I][2])]; 1===E && fill(l), E || (l=f.k[~~b(f.H)], fill(l)); let n=[this.v[o][0] + b(-a, a), this.v[o][1] + b(-a, a)], g=[this.i[o + s][0] + b(-a, a), this.i[o + s][1] + b(-a, a)]; N(n, sa ? n : g, g, [this.v[o + i][0] + b(-a, a), this.v[o + i][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.t[o + e][0] + b(-a, a), this.t[o + e][1] + b(-a, a)], g=[this.i[o + s + e][0] + b(-a, a), this.i[o + s + e][1] + b(-a, a)], N(n, sa ? n : g, g, [this.t[o + i + e][0] + b(-a, a), this.t[o + i + e][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.i[o + e][0] + b(-a, a), this.i[o + e][1] + b(-a, a)], g=[this.v[o + s + e][0] + b(-a, a), this.v[o + s + e][1] + b(-a, a)], N(n, sa ? n : g, g, [this.i[o + i + e][0] + b(-a, a), this.i[o + i + e][1] + b(-a, a)], l), E || fill(f.k[~~b(f.H)]), n=[this.i[o + t][0] + b(-a, a), this.i[o + t][1] + b(-a, a)], g=[this.t[o + s + t][0] + b(-a, a), this.t[o + s + t][1] + b(-a, a)], N(n, sa ? n : g, g, [this.i[o + i + t][0] + b(-a, a), this.i[o + i + t][1] + b(-a, a)], l)}if (noFill(), strokeWeight(1.3 * fa), stroke(...Z, 140), ga) for (let t=0; t < 3; t++)R(), this.ua.forEach((t=> m(...t))), T(); if (Q){stroke(Z); for (let h=0; h < j; h++)h % t==0 && h < j - i - t - a && (line(...this.v[h], ...this.i[h + s]), line(...this.v[h + i], ...this.i[h + s]), line(...this.t[h + e], ...this.i[h + s + e]), line(...this.t[h + i + e], ...this.i[h + s + e]), line(...this.i[h + e], ...this.v[h + s + e]), line(...this.i[h + i + e], ...this.v[h + s + e]), line(...this.i[h + t], ...this.t[h + s + t]), line(...this.i[h + i + t], ...this.t[h + s + t]))}}if (ga){noFill(), stroke(...Z, 140); for (let t=0; t < 3; t++)R(), this.t.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), this.Ka.forEach((t=> m(t[0] + x * b(-1, 1), t[1] + x * b(-1, 1)))), T()}}}function setup(){e=min(windowWidth, windowHeight), x=e / vb, fa=3 * x, createCanvas(e, e), noLoop(), strokeWeight(fa), ba=drawingContext, m=vertex, b=random, R=beginShape, T=endShape, randomSeed(Ea(hash)), bb=createVector(e, -e).normalize(); for (let t=0; t < ma; t++)Ba.push(new yb(t)); Ba.sort(((t, i)=> i.la - t.la))}function draw(){if (background(f.fb), N([0, 0], [e, 0], [e, e], [0, e], f.fb, .2 * Ta + .4), 4==Y) for (let t=0; t < ma; t++){if (Y=(Y + 1) % 4, push(), Y){let t=[[e, 0, PI / 2], [e, e, PI], [0, e, 3 * PI / 2]][Y - 1]; translate(t[0], t[1]), rotate(t[2])}Qa(t), pop()}else{if (Y){let t=[[e, 0, PI / 2], [e, e, PI], [0, e, 3 * PI / 2]][Y - 1]; translate(t[0], t[1]), rotate(t[2])}for (let t=0; t < ma; t++)Qa(t)}window.top && window.top.postMessage("genart:done", "*");}function Qa(t){if (O && push(), (za || O) && (translate(e / 2, -((e ** 2 * 2) ** .5 - e) / 2), rotate(PI / 4)), Ba[t].Ab(), O && pop(), na && na===t){strokeCap(PROJECT); let t=e * [.05, .08, .11, .125][Aa]; if (fill([ha, K, f.k[h(28, 30, f.H)]][sb]), stroke(Z), R(), 2==aa){let i=t / 2; m(i, i), m(e - i, i), m(e - i, e - i), m(i, e - i)}else m(-t, -t), m(e + t, -t), m(e + t, e + t), m(-t, e + t); if (beginContour(), 1===aa){let t=0; for (let i=0; i < 1200; i++){let i=e / 2 + cos(t) * e * .45, s=e / 2 + sin(t) * e * .45; m(i, s), t -=TWO_PI / 1200}}else m(t, e - t), m(e - t, e - t), m(e - t, t), m(t, t); endContour(), T(CLOSE), strokeCap(ROUND)}}function N(t, i, e, s, a, h=Ta / (P ? 2 : 1.33) + 1){let r=~~(max(kb(...t, ...i), kb(...e, ...s)) / fa * 2); for (let o=0; o <=r; o++){strokeWeight(fa); let l=b(-h, h); a=a.map((t=> t + l)), stroke(a), line(C(0, r, o, i[0], t[0]), C(0, r, o, i[1], t[1]), C(0, r, o, e[0], s[0]), C(0, r, o, e[1], s[1]))}}function Ea(t){let i, e, s=0; for (i=0; i < t.length; i++)e=t.charCodeAt(i), s=(s << 5) - s + e, s |=0; return s}function h(t, i, e, s=0){let a=parseInt(Ib.substring(t, i), 16); return (e ? a % e : a) + s}</script></body></html>P5JS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Dendrites</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>const hash = "{{hash}}"; let canvas; const DEFAULT_SIZE=1600; let WIDTH=window.innerWidth, HEIGHT=window.innerHeight; const EXPORT_SIZE=1600; let DIM=Math.min(WIDTH, HEIGHT), M=DIM / DEFAULT_SIZE; const borderPercentage=.04; let scl, cols, rows, fr, ff, mxMag, rHs, swSclFrHMin, swSclFrHMx, strWCh, currentframeCount, anLn, bgcl, clr1, clr2, clr3, clr4, rndChNo, rndHsStr, llmp, llrp, dMd, shapeSpeed, bgCpl, cplt, pourPalette, mchPoP, paMPo, particleModePourParticles, invP, darkPaletteShade, paletteMetadata, bgc=[{name: "White", cls: [[42, 26, 89]]},{name: "Dark", cls: [[0, 0, 0], [220, 57, 7]]},{name: "Grey", cls: [[0, 0, 89], [0, 0, 29]]}], newPalettes=[{name: "Rooster", cls: [[192, 100, 35], [0, 96, 53], [36, 99, 54], [47, 100, 50]], okBgd: 1, lerp: 0, pColMd: 0, invOK: 0},{name: "Rooster", cls: [[192, 100, 35], [0, 96, 53], [212, 89, 14], [47, 100, 50]], okBgd: 2, lerp: 0, pColMd: 0, invOK: 0},{name: "Bacteria", cls: [[69, 98, 36], [128, 96, 18], [190, 74, 59], [175, 49, 48]], okBgd: 3, lerp: 0, pColMd: 0, invOK: 0},{name: "Spring", cls: [[69, 98, 36], [128, 96, 18], [356, 97, 74], [16, 100, 74]], okBgd: 3, lerp: 0, pColMd: 0, invOK: 0},{name: "Mars", cls: [[71, 22, 90], [221, 36, 38], [5, 67, 50], [51, 100, 56]], okBgd: 3, lerp: 0, pColMd: 0, invOK: 1},{name: "White walker", cls: [[188, 23, 36], [186, 12, 69], [30, 16, 78], [214, 31, 30]], okBgd: 2, lerp: 0, pColMd: 0, invOK: 1},{name: "Metal", cls: [[34, 63, 71], [32, 100, 71], [213, 21, 58], [132, 6, 69]], okBgd: 2, lerp: 0, pColMd: 0, invOK: 1},{name: "Purple Haze", cls: [[39, 100, 50], [47, 100, 50], [324, 63, 30], [324, 56, 52]], okBgd: 3, lerp: 1, pColMd: 1, invOK: 1},{name: "Bruise", cls: [[324, 63, 30], [0, 0, 10], [39, 100, 50], [47, 100, 50]], okBgd: 1, lerp: 0, pColMd: 0, invOK: 0},{name: "Coral", cls: [[29, 100, 75], [326, 100, 75], [0, 96, 48], [0, 100, 51]], okBgd: 3, lerp: 1, pColMd: 1, invOK: 1},{name: "Subzero Ice", cls: [[192, 100, 35], [212, 89, 14], [0, 0, 98], [0, 0, 81]], okBgd: 1, lerp: 1, pColMd: 0, invOK: 0},{name: "Compost", cls: [[79, 69, 52], [84, 61, 32], [80, 18, 46], [180, 6, 14]], okBgd: 1, lerp: 0, pColMd: 0, invOK: 1},{name: "Subzero Rose", cls: [[192, 100, 35], [212, 89, 14], [0, 0, 98], [0, 96, 48]], okBgd: 1, lerp: 0, pColMd: 1, invOK: 0},{name: "Subzero Red", cls: [[192, 100, 35], [212, 89, 14], [0, 96, 53], [0, 96, 48]], okBgd: 3, lerp: 0, pColMd: 1, invOK: 0},{name: "Glacier", cls: [[190, 74, 59], [189, 75, 75], [190, 76, 82], [190, 77, 88]], okBgd: 2, lerp: 0, pColMd: 1, invOK: 1},{name: "Aqua", cls: [[224, 97, 40], [175, 49, 48], [198, 82, 43], [190, 64, 69]], okBgd: 3, lerp: 0, pColMd: 0, invOK: 1},{name: "Ice Cream", cls: [[1, 100, 81], [340, 100, 62], [176, 49, 48], [160, 39, 64]], okBgd: 3, lerp: 1, pColMd: 1, invOK: 0},{name: "Synth Wave", cls: [[333, 93, 56], [276, 91, 38], [258, 86, 34], [194, 85, 62]], okBgd: 3, lerp: 1, pColMd: 1, invOK: 1},{name: "Sprout", cls: [[20, 94, 63], [42, 93, 64], [94, 38, 59], [162, 43, 46]], okBgd: 3, lerp: 1, pColMd: 1, invOK: 1},{name: "Lion", cls: [[49, 100, 50], [36, 99, 54], [15, 73, 44], [26, 81, 47]], okBgd: 1, lerp: 0, pColMd: 1, invOK: 1},{name: "Mango", cls: [[29, 100, 75], [36, 100, 54], [326, 100, 75], [347, 87, 57]], okBgd: 1, lerp: 1, pColMd: 1, invOK: 1},{name: "Fire", cls: [[29, 100, 75], [0, 96, 48], [30, 100, 45], [49, 100, 50]], okBgd: 1, lerp: 1, pColMd: 1, invOK: 1}], maAr=[], mpa=[], numberOfMachines=1, inc=.1, zoff=0, prt=[], prtVCf=2.3, zoomMode=0, mxVmp=0, lOkfp=!1, parAlLo=.9, parAlHi=.98; function setup(){canvasWidth=DIM, canvasHeight=DIM, canvas=createCanvas(canvasWidth, canvasHeight), colorMode(HSL, 360, 100, 100, 1); getURLParams(); rHs=new Random(hash), seed=round(1e9 * rHs.random_dec()), noiseSeed(seed), randomSeed(seed), dMd=weighted_random([0, 1, 3], [10, 1, 6]), window.METADATA={}, createNewDrawing()}function createNewDrawing(){colorrndChNo=1==dMd ? weighted_random([1, 2], [5, 5]) : weighted_random([1, 2, 5, 6], [30, 30, 1, 1]), invP=weighted_random([0, 1], [5, 5]), setclsBasedOnrndChNo(colorrndChNo), background(bgcl), pntDpnr=rHs.random_int(0, 2), llmp=rHs.random_int(2, 4), llrp=rHs.random_int(5, 10); let t=0==(strWCh=weighted_random([0, 1], [3, 1])) ? [.35, .052075] : [.25, .042075]; swSclFrHMx=t[0], swSclFrHMin=t[1], 1==lOkfp ? (paMPo=rHs.random_int(0, 2), particleModePourParticles=rHs.random_int(0, 1)) : (paMPo=rHs.random_int(1, 2), particleModePourParticles=rHs.random_int(1, 1)), 0==cplt.pColMd && 1==paMPo && (paMPo=2), createGradient(); for (let t=0; t < numberOfMachines; t +=1)maAr[t]=new Machine, maAr[t].createSemiRandomMachine(rHs), maAr[t].reset(); for (let t=0; t < maAr.length; t +=1)cm=maAr[t], calculateShapePoints(cm); mxMag=rHs.random_int(0, 90), scl=rHs.random_int(10, 14), scaleColsAndRowsToResolutionAndCreateFlowFieldArray(), scalecmPointsToFitWindowAndSaveScaledResult(), parsempaInToFlowfieldArray(), scaleFlowFieldArrayInToUnitVectors(), populateMetadata(), addParticlesToFlowfield(maAr, 2), anLn=1==dMd ? 240 : 120}function populateMetadata(){paletteMetadata=5==colorrndChNo ? "Black and Grey" : 6==colorrndChNo ? "Black" : pourPalette.name, 0==paMPo && (window.METADATA["Shape Shades"]=llmp), 0==particleModePourParticles && (window.METADATA["Pour Shades"]=llrp), 1==colorrndChNo && 1==darkPaletteShade && (colorrndChNo=0), window.METADATA["Drawing Mode"]=["Normal", "Double", "", "Zoom"][dMd], window.METADATA.Background=["Dark Blue", "Black", "Light", "", "", "Light", "Light"][colorrndChNo], window.METADATA.Shape=shapeSpeed + 1, window.METADATA.Pour=["Square", "Circle", "Line"][pntDpnr], window.METADATA["Particle thickness"]=["Normal", "Thin"][strWCh], window.METADATA["Grid Size"]=["Very Low", "Low", "Medium", "High", "Very High"][4 * round((scl - 10) / 4)], window.METADATA["Force Scale"]=["Very Low", "Low", "Medium", "High", "Very High"][4 * round(mxMag / 90)], window.METADATA.Palette=paletteMetadata, window.METADATA["Particle Mode shape"]=["Multi shade", "Even Odd", "50-50"][paMPo], window.METADATA["Particle Mode pour"]=["Multi shade", "50-50"][particleModePourParticles], window.METADATA["Palette Mode"]=["Inverted", "Normal"][invP]}function createGradient(){let t, e=drawingContext.createRadialGradient(width / 2, height / 2, 0, width / 2, height / 2, 4 * width / 3); t=0==colorrndChNo || 1==colorrndChNo ? [round(hue(bgcl)), round(saturation(bgcl)), round(lightness(bgcl) + 10)] : [round(hue(bgcl)), round(saturation(bgcl)), round(lightness(bgcl) - 10)], e.addColorStop(0, color(bgcl)), e.addColorStop(1, color(t)), drawingContext.fillStyle=e, noStroke(), rect(0, 0, width, height)}function calculateShapePoints(t){let e=[]; for (let r=0; r < 360 * t.mTrn; r +=t.crStps){let s=2 * r * PI / 360; t.setRotation(s); let o=t.getPenPositionOnCanvas(); 0 !=isNaN(o.x) && 0 !=isNaN(o.y) || e.push(o)}t.mpa=e}function scaleColsAndRowsToResolutionAndCreateFlowFieldArray(){cols=floor(DEFAULT_SIZE / scl), rows=floor(DEFAULT_SIZE / scl), ff=new Array(cols * rows)}function scalecmPointsToFitWindowAndSaveScaledResult(){for (let t=0; t < maAr.length; t +=1)cm=maAr[t], scaleMachinePointsToFitCanvas(cm), applyScaling(cm.scFmpa), movePointsFromAroundOrigoToCenterOfCanvas(cm, DEFAULT_SIZE / 2, DEFAULT_SIZE / 2)}function scaleMachinePointsToFitCanvas(t){let e; for (let e=0; e < t.mpa.length; e +=1)abs(t.mpa[e].x) > mxVmp && (mxVmp=abs(t.mpa[e].x)), abs(t.mpa[e].y) > mxVmp && (mxVmp=abs(t.mpa[e].y)); e=(DEFAULT_SIZE - DEFAULT_SIZE * borderPercentage) / mxVmp / 2, t.scFmpa=e}function applyScaling(t){t > .9 && 3==dMd && cm.mpa.length > 23e3 ? (zoomMode=1, t=2, pSpc=1) : 3==dMd && (dMd=0); for (let e=0; e < cm.mpa.length; e +=1){let r=createVector(cm.mpa[e].x, cm.mpa[e].y); r.setMag(r.mag() * t), cm.mpa[e].x=r.x, cm.mpa[e].y=r.y}}function movePointsFromAroundOrigoToCenterOfCanvas(t, e, r){for (let s=0; s < t.mpa.length; s +=1)t.mpa[s].x=t.mpa[s].x + e, t.mpa[s].y=t.mpa[s].y + r}function parsempaInToFlowfieldArray(){for (let t=0; t < maAr.length; t +=1){cm=maAr[t]; let e=DEFAULT_SIZE / cols, r=DEFAULT_SIZE / rows; for (let t=0; t < cm.mpa.length - 1; t +=1){let s, o, l=createVector(cm.mpa[t + 1].x - cm.mpa[t].x, cm.mpa[t + 1].y - cm.mpa[t].y); if (l.mag() < 100){for (let l=0; l < cols; l +=1){cm.mpa[t].x >=l * e && cm.mpa[t].x <=(l + 1) * e && (s=l); for (let e=0; e < rows; e +=1)cm.mpa[t].y > e * r && cm.mpa[t].y < (e + 1) * r && (o=e)}let n=s + o * cols, a=ff[n]; null==a ? a=l : a.add(l), ff[n]=a}}}}function addParticlesToFlowfield(t, e){for (let r=0; r < numberOfMachines; r +=1)cm=t[r], cm.mpa.length < 14e3 ? createPraticlesAtMachinePoints(cm, llmp, 1) : createPraticlesAtMachinePoints(cm, llmp, e), createRandomPraticles(1e4, llrp)}function createPraticlesAtMachinePoints(t, e, r){if (0==paMPo){let s=0; for (let o=0; o < maAr.length; o +=1){let o; for (let l=0; l < t.mpa.length - r; l +=r){let r=createVector(t.mpa[l].x * M, t.mpa[l].y * M), n=t.mpa.length / e; for (let t=0; t < e; t +=1)l >=n * t && l <=n * (t + 1) && (lerpScale=t, o=lerpColor(color(clr1), color(clr2), 1 / lerpScale)); let a=new Particle; s +=1, a.prC=o, a.prC.setAlpha(rHs.random_between(parAlLo, parAlHi)), a.pos=r, a.prevPos=a.pos.copy(), prt.push(a)}}}else if (1==paMPo){let e=0; for (let s=0; s < maAr.length; s +=1){let s; for (let o=0; o < t.mpa.length - r; o +=r){let l=createVector(t.mpa[o].x * M, t.mpa[o].y * M); ooe=o / r % 2, s=1==ooe ? color(clr1) : color(clr2); let n=new Particle; e +=1, n.prC=s, n.prC.setAlpha(rHs.random_between(parAlLo, parAlHi)), n.pos=l, n.prevPos=n.pos.copy(), prt.push(n)}}}else if (2==paMPo){let e=0; for (let s=0; s < maAr.length; s +=1){let s; for (let o=0; o < t.mpa.length - r; o +=r){let r=createVector(t.mpa[o].x * M, t.mpa[o].y * M); s=o < t.mpa.length / 2 ? color(clr1) : color(clr2); let l=new Particle; e +=1, l.prC=s, l.pos=r, l.prevPos=l.pos.copy(), l.prC.setAlpha(rHs.random_between(parAlLo, parAlHi)), prt.push(l)}}}}function createRandomPraticles(t, e){let r; if (0==particleModePourParticles){let s; for (let o=0; o < t; o +=1){let l=t / e; for (let t=0; t < e; t +=1)o >=l * t && o <=l * (t + 1) && (s=t, r=lerpColor(color(clr3), color(clr4), 1 / s)); let n=new Particle; n.prC=color(r), n.prC.setAlpha(rHs.random_between(parAlLo, parAlHi)), 0==pntDpnr ? n.pos=createVector(rHs.random_between(DIM / 8 * 2, DIM / 8 * 6), rHs.random_between(DIM / 8 * 2, DIM / 8 * 6)) : 1==pntDpnr ? n.pos=getRandomVectorWithinCircle(DIM / 5) : 2==pntDpnr && (n.pos=createVector(rHs.random_between(DIM / 10 * 4.9, DIM / 10 * 5.1), rHs.random_between(DIM / 8 * 1, DIM / 8 * 7))), n.prevPos=n.pos.copy(), prt.push(n)}}if (1==particleModePourParticles) for (let e=0; e < t; e +=1){r=e < t / 2 ? color(clr3) : color(clr4); let s=new Particle; s.prC=color(r), s.prC.setAlpha(rHs.random_between(parAlLo, parAlHi)), 0==pntDpnr ? s.pos=createVector(rHs.random_between(DIM / 8 * 2, DIM / 8 * 6), rHs.random_between(DIM / 8 * 2, DIM / 8 * 6)) : 1==pntDpnr ? s.pos=getRandomVectorWithinCircle(DIM / 5) : 2==pntDpnr && (s.pos=createVector(rHs.random_between(DIM / 10 * 4.9, DIM / 10 * 5.1), rHs.random_between(DIM / 8 * 1, DIM / 8 * 7))), s.prevPos=s.pos.copy(), prt.push(s)}}function getRandomVectorWithinCircle(t){let e=rHs.random_between(0, 4 * PI), r=rHs.random_between(0, t), s=DIM / 2 + cos(e) * r, o=DIM / 2 + sin(e) * r; return createVector(s, o)}function draw(){if (1==dMd){1==frameCount && (window.METADATA["Palette Double"]=paletteMetadata); for (let t=0; t < prt.length; t++)prt[t].follow(ff), prt[t].update(), prt[t].show(); frameCount < anLn && (currentframeCount=frameCount), frameCount==floor(anLn / 2) && createNewDrawing(), frameCount==anLn && (prt.splice(0, prt.length), window.top && window.top.postMessage("genart:done", "*"), noLoop())}if (0==dMd || 3==dMd){for (let t=0; t < prt.length; t++)prt[t].follow(ff), prt[t].update(), prt[t].show(); frameCount==anLn && (prt.splice(0, prt.length), window.top && window.top.postMessage("genart:done", "*"), noLoop())}}function scaleFlowFieldArrayInToUnitVectors(){let t=[]; for (let e=0; e < ff.length; e +=1){let r=ff[e]; null !=r && t.push(r.mag())}for (let t=0; t < ff.length; t +=1){let e=ff[t]; if (null !=e){let r=e.mag() / mxMag; e.setMag(r), ff[t]=e}}}function setclsBasedOnrndChNo(t){if (1==t){for (bgCpl=bgc[1], darkPaletteShade=rHs.random_int(0, bgCpl.cls.length - 1), bgcl=bgCpl.cls[darkPaletteShade], cplt=newPalettes[rHs.random_int(0, newPalettes.length - 1)]; 1==cplt.okBgd;)cplt=newPalettes[rHs.random_int(0, newPalettes.length - 1)]; lOkfp=1==(pourPalette=cplt).lerp, 1==invP && 1==pourPalette.invOK ? (clr1=cplt.cls[2], clr2=cplt.cls[3], clr3=cplt.cls[0], clr4=cplt.cls[1]) : (invP=0, clr1=cplt.cls[0], clr2=cplt.cls[1], clr3=cplt.cls[2], clr4=cplt.cls[3])}else if (2==t){for (bgCpl=bgc[0], bgcl=bgCpl.cls[rHs.random_int(0, bgCpl.cls.length - 1)], cplt=newPalettes[rHs.random_int(0, newPalettes.length - 1)]; 2==cplt.okBgd;)cplt=newPalettes[rHs.random_int(0, newPalettes.length - 1)]; lOkfp=1==(pourPalette=cplt).lerp, 1==invP && 1==pourPalette.invOK ? (clr1=cplt.cls[2], clr2=cplt.cls[3], clr3=cplt.cls[0], clr4=cplt.cls[1]) : (invP=0, clr1=cplt.cls[0], clr2=cplt.cls[1], clr3=cplt.cls[2], clr4=cplt.cls[3])}else 5==t ? (bgCpl=bgc[0], bgcl=bgCpl.cls[rHs.random_int(0, bgCpl.cls.length - 1)], cplt=bgc[1], pourPalette=cplt, clr1=cplt.cls[0], clr2=cplt.cls[0], cplt=bgc[2], mchPoP=cplt, clr3=cplt.cls[0], clr4=cplt.cls[1]) : 6==t && (bgCpl=bgc[0], bgcl=bgCpl.cls[rHs.random_int(0, bgCpl.cls.length - 1)], cplt=bgc[1], pourPalette=cplt, mchPoP=cplt, clr1=cplt.cls[0], clr2=cplt.cls[0], clr3=cplt.cls[0], clr4=cplt.cls[0])}function returnPlusOrMinus1(){return result=rHs.random_int(0, 1), 0==result ? -1 : 1}function random_hash(){let t="0123456789abcdef", e="0x"; for (let r=64; r > 0; --r)e +=t[Math.floor(Math.random() * t.length)]; return print("random hash result: " + e), rndHsStr=e, e}function weighted_random(t, e){let r; for (r=0; r < e.length; r++)e[r] +=e[r - 1] || 0; let s=rHs.random_between(0, 1) * e[e.length - 1]; for (r=0; r < e.length && !(e[r] > s); r++); return t[r]}class Random{constructor(t){this.seed=parseInt(t.slice(0, 16), 16)}random_dec(){return this.seed ^=this.seed << 13, this.seed ^=this.seed >> 17, this.seed ^=this.seed << 5, (this.seed < 0 ? 1 + ~this.seed : this.seed) % 1e3 / 1e3}random_between(t, e){return t + (e - t) * this.random_dec()}random_int(t, e){return Math.floor(this.random_between(t, e + 1))}random_choice(t){return t[Math.floor(this.random_between(0, .99 * t.length))]}}class Machine{constructor(t, e, r, s, o, l, n, a, i, c, h, p, d, m, g, w, M, u, A, P, C, f, v, b, H, D, _, y, T, S, B, x, I, F){this.cpX=t, this.cpY=e, this.cSpd=r, this.tAs=s, this.tAd=o, this.tAr=l, this.tAsa=n, this.tBs=a, this.tBd=i, this.tBr=c, this.tBsa=h, this.tABd=p, this.tCs=d, this.tCr=m, this.tCsa=g, this.rAbl=w, this.rAel=M, this.rBl=u, this.mTrn=A, this.scale=P, this.caGr=C, this.tAgr=f, this.tBgr=v, this.tCgr=b, this.mCvs=H, this.towerA=D, this.towerB=_, this.towerC=y, this.rodA=T, this.rodB=S, this.spPos=B, this.crStps=x, this.mpa=I, this.scFmpa=F}reset(){this.mCvs=new Rotor(new PointDrama(this.cpX, this.cpY), 0, this.cSpd, this.caGr, 0, 0); let t=this.getThetaFromLegs(this.tAd, this.tBd, this.tABd), e=new PointDrama(this.mCvs.location.x, this.mCvs.location.y + this.tAd); e.Rotate(this.mCvs.location, -t / 2); let r=new PointDrama(this.mCvs.location.x, this.mCvs.location.y + this.tBd); r.Rotate(this.mCvs.location, t / 2), this.towerA=new Rotor(e, this.tAr, this.tAs, this.tAgr, radians(this.tAsa), 0), this.towerB=new Rotor(r, this.tBr, this.tBs, this.tBgr, radians(this.tBsa), 0), this.towerC=new Rotor(this.towerB, this.tCr, this.tCs, this.tCgr, radians(this.tCsa), 0)}setRotation(t){this.mCvs.theta=t * this.mCvs.speed * this.mCvs.gearing, this.towerA.theta=t * this.towerA.speed * this.towerA.gearing, this.towerB.theta=t * this.towerB.speed * this.towerB.gearing, this.towerC.theta=t * this.towerC.speed * this.towerC.gearing, this.moveRods()}moveRods(){let t=new Line(this.towerA.getConnectingPoint(), this.towerB.getConnectingPoint()), e=t.getLength(), r=this.getThetaFromLegs(e, this.rAbl, this.rBl); this.rodA=t, this.rodA.rotate(r), this.rodA.setLength(this.rAbl); new Line(this.towerB.getConnectingPoint(), this.rodA.end); this.rodA.setLength(this.rAbl + this.rAel)}getThetaFromLegs(t, e, r){return acos((pow(t, 2) + pow(e, 2) - pow(r, 2)) / (2 * t * e))}getPenPositionOnCanvas(){let t=new PointDrama(this.rodA.end.x, this.rodA.end.y); return t.Rotate(this.mCvs.location, this.mCvs.theta), t}increasetAsPerStep(t){this.tAs=this.tAs + t}setStartPointForMachine(t, e){this.cpX=t, this.cpY=e}createSemiRandomMachine(t){this.rHs=t; let e=[.04135640605, .5, .012953634173, 1, 1, .019507268346, 1.20589873, 1.20589873, .019653634173, .058970902519, .019653634173, .019653634173, .009853634173, .009753634173, .009753634173, .009753634173, .009491634173, 2.45414276, .03, .01437304603, .005423790956, 1.627137287, .003254274574, 1.20570873, .002983085026, .02711895478]; this.spPos=int(this.rHs.random_between(0, e.length)), shapeSpeed=this.spPos, this.cSpd=e[this.spPos] * returnPlusOrMinus1(), this.tAs=[.02757976195, 1, 4.81783686, 2, 2, 4.81783686, 3.613377645, 3.613377645, 9.63567372, 4.81783686, 4.81783686, 4.81783686, 4.81783686, 4.81783686, 4.81783686, 4.81783686, 4.81783686, .0481783686, 2, 2.384829246, 2.426985318, 3.252039881, 4.336053174, 3.613377645, 5.058728703, .05420066468][this.spPos] * returnPlusOrMinus1(), this.tBs=[4.827575302, 9.15, 4.83729111, 5.0053, 2.9964, 4.83729111, .9022586356, 3.609034539, 4.78836111, 4.78836111, 9.57672222, 4.78836111, 4.78829111, 4.81629111, 4.82429111, 4.83729111, 4.84929111, 4.812046052, 4.06, .002406023026, 2.446925417, 3.266176258, 5.78047032, -3.609034539, .04330841447, 2.414444107][this.spPos] * returnPlusOrMinus1(), this.cpX=0, this.cpY=0, this.tAd=this.rHs.random_between(325, 450), this.tAr=this.rHs.random_between(150, 400), this.tAsa=radians(this.rHs.random_between(0, 360)), this.tBd=this.rHs.random_between(325, 500), this.tBr=this.rHs.random_between(45, 200), this.tBsa=radians(this.rHs.random_between(0, 360)), this.tABd=this.rHs.random_between(200, 400), this.rAbl=this.rHs.random_between(270, 400), this.rAel=this.rHs.random_between(112, 150), this.rBl=this.rHs.random_between(225, 300), this.mTrn=this.rHs.random_between(150, 250), this.crStps=this.rHs.random_between(1, 2.5), this.mpa=[], this.caGr=1, this.tAgr=1, this.tBgr=1, this.tCgr=1}}class Particle{constructor(){this.rHs=rHs, this.pos=createVector(0, 0), this.vel=createVector(1 * M, 1 * M), this.acc=createVector(0, 0), this.maxspeed=4 * M, this.h=0, this.prC=color("#0095cf"), this.particleFiction=rHs.random_between(.05, .08), this.prevPos=this.pos.copy()}update(){this.vel.add(this.acc), this.vel.limit(4 * M), this.pos.add(this.vel), this.acc.mult(0); let t=this.vel.mag() - this.particleFiction; this.vel.setMag(t)}follow(t){var e=t[floor(this.pos.x / (scl * M)) + floor(this.pos.y / (scl * M)) * cols]; this.applyForce(e)}applyForce(t){this.acc.add(t)}show(){this.h=this.h + 1, this.h > 255 && (this.h=0); let t=color(this.prC), e=map(this.vel.mag(), 2 * M, 4 * M, swSclFrHMin * M, swSclFrHMx * M); strokeWeight(e), this.vel.mag() > prtVCf * M && (stroke(t), line(this.pos.x, this.pos.y, this.prevPos.x, this.prevPos.y)), this.updatePrev()}updatePrev(){this.prevPos.x=this.pos.x, this.prevPos.y=this.pos.y}edges(){this.pos.x > width && (this.pos.x=0, this.updatePrev()), this.pos.x < 0 && (this.pos.x=width, this.updatePrev()), this.pos.y > height && (this.pos.y=0, this.updatePrev()), this.pos.y < 0 && (this.pos.y=height, this.updatePrev())}}class PointDrama{constructor(t, e){this.x=t, this.y=e}Rotate(t, e){let r=cos(e) * (this.x - t.x) - sin(e) * (this.y - t.y) + t.x, s=sin(e) * (this.x - t.x) + cos(e) * (this.y - t.y) + t.y; this.x=r, this.y=s}Move(t){this.x +=t.x, this.y +=t.y}GetDistanceFrom(t){return sqrt(pow(this.x - t.x, 2) + pow(this.y - t.y, 2))}}class Rotor{constructor(t, e, r, s, o, l){this.location=t, this.radius=e, this.speed=r, this.gearing=s, this.startTheta=o, this.theta=l}getCenter(){return this.location}getThetaSum(){return this.startTheta + theta}getConnectingPoint(){let t=this.startTheta + this.theta; return new PointDrama(this.location.x + cos(t) * this.radius, this.location.y + sin(t) * this.radius)}}class Line{constructor(t, e){this.start=t, this.end=e}draw(){line(this.start.x, this.start.y, this.end.x, this.end.y)}getLength(){return sqrt(pow(this.end.x - this.start.x, 2) + pow(this.end.y - this.start.y, 2))}setLength(t){let e=t / this.getLength(), r=new PointDrama(this.start.x + (this.end.x - this.start.x) * e, this.start.y + (this.end.y - this.start.y) * e); this.end=r}rotate(t){this.end.Rotate(this.start, t)}}</script></body></html>P5JS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Folded Sequence</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>var hash="{{hash}}"; var crl=[["#3E454B","#5B5853","#84837E","#A69C93","#A28B79","#3E454B","#5B5853","#84837E"],["#efefef","#888888","#acacac","#101010","#FCFCFC","#DDDDDD","#00D9FD"],["#0D0D0D","#B0B0B0","#FFFFFF"],["#3D0702","#CF1908","#9E1306","#6E0D04","#EB1C09","#AD2D21","#D92B2B","#8A1106"],["#00b7ca","#F36426","#cc333f","#41c4eb","#20b2aa","#9696fe","#ABB0AC","#cc333f"],["#5E6167","#fbf54a","#db0b00","#D30BE3","#CC096C"],["#cBc0ce","#ee70da","#5ce3c3","#7b407e","#a9ecdc","#E59C2C"],["#10A0BF","#4974a5","#CE1836","#F85931","#3FB9F9","#F85931","#31D0F8","#EDB92E"],["#5C7079","#7D8D9D","#94C7A8","#F9645D","#F8E9CC"],["#26251C","#A0E8B7","#EB0A44","#F2643D","#F2A73D"],["#979D9A","#030D4F","#FB0C06","#CEECEF"],["#A0C0CF","#FF370F","#332717","#6BACBF"],["#ff2d03","#ff6c03","#ffab03","#473936","#02B2F2"],["#DBD1FF","#FF6303","#87F4FF","#383838"],["#004882","#FFE4E0","#B4B100","#007D7D","#EEFFDD"],["#C7F8FC","#2BEEFC","#00AEFF","#C5CDD1"],["#DCDCB0","#FFFFA3","#FFFFEB","#93936D","#C3C3B2"],["#F4EFDC","#E1C390","#C6B38D","#A39D71","#699259"],["#E4DED0","#ABCCBD","#7DBEB8","#181619","#E32F21"],["#EFEECC","#0AABBA","#FE0557","#400403"],["#6e8c8c","#57779C","#abd1d3","#a09fc2","#C33345","#6e8e8e","#7dabdf","#59ADB0"],["#C4ACAA","#C4BCAA","#9698A0","#879092"]];class Random{constructor(){this.useA=!1;let o=function(o){let r=parseInt(o.substr(0,8),16),e=parseInt(o.substr(8,8),16),t=parseInt(o.substr(16,8),16),i=parseInt(o.substr(24,8),16);return function(){let o=((r|=0)+(e|=0)|0)+(i|=0)|0;return i=i+1|0,r=e^e>>>9,e=(t|=0)+(t<<3)|0,t=(t=t<<21|t>>>11)+o|0,(o>>>0)/4294967296}};this.prngA=new o(hash.substr(2,32)),this.prngB=new o(hash.substr(34,32));for(let o=0;o<1e6;o+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}n(o,r){return o+(r-o)*this.random_dec()}i(o,r){return Math.floor(this.n(o,r+1))}}window.METADATA={};var D_S=1250,DIMS=Math.min(window.innerWidth,window.innerHeight);if(window.innerHeight>1.33333*window.innerWidth)var WIDTH2=window.innerWidth,HEIGHT2=Math.round(1.3333333*window.innerWidth);else WIDTH2=Math.round(window.innerHeight/1.3333333),HEIGHT2=window.innerHeight;var WIDTH=WIDTH2,HEIGHT=HEIGHT2,DIM=Math.min(WIDTH,HEIGHT),M=DIM/D_S;let shady,testShader,testShaderTexture,testCanvas,orientations,R=new Random,derp=R.n(0,1);function setup(){createCanvas(WIDTH2,HEIGHT2,WEBGL),fin=createGraphics(WIDTH,HEIGHT,WEBGL),droo=createGraphics(WIDTH,HEIGHT,WEBGL),buff=createGraphics(WIDTH,HEIGHT,WEBGL),testCanvas=createGraphics(WIDTH,HEIGHT,WEBGL),testShaderTexture=createGraphics(WIDTH,HEIGHT,WEBGL),shady=buff.createShader(vS,fS),testShader=testShaderTexture.createShader(vS,tS);let o=pixelDensity();HEIGHT*o<3500&&(pixelDensity(2*o),droo.pixelDensity(2*o),buff.pixelDensity(2*o),fin.pixelDensity(2*o)),testShaderTexture.noStroke(),testShaderTexture.shader(testShader),testShader.setUniform("u_resolution",[WIDTH,HEIGHT]),testShaderTexture.rect(0,0,width,height),testCanvas.translate(.5*-width,.5*-height),testCanvas.texture(testShaderTexture),testCanvas.rect(0,0,width,height);let r=testCanvas.get(1,1);orientations=r[0]<200?0:1}function draw(){for(droo.perspective(PI/3,WIDTH/HEIGHT,1500*M,125e3*M),mb=R.n(2,25500),r=R.n(3,11),rw=R.n(8,10),r2=R.n(3,9),r3y=R.i(1,15),r7=R.n(3,2550),mC=R.i(0,14),rcl=R.i(4,crl.length-1),0==mC&&(rcl=R.i(0,3)),window.METADATA.Style=derp<.15?"Coarse":derp<.2?"Analog":derp>.6?"Fine":"Deteriorating",rclnames=["Monochrom+","Monochrom2+","Darker Mono","Red Mono","Ruska","Brightness","Almost Pastels","OBR dom","Earth","Mint & Oranges","Primaries","Augmented Primaries","Golden tones","Curated","Green tones","Aquatic","Toned down","Brut","Vintage","Wheaty","Muted","Still"],window.METADATA["Color palette"]=rclnames[rcl],crs=crl[rcl],rc=R.i(0,crs.length-1),rc2=R.i(0,crs.length-1);rc2==rc;)rc2=R.i(0,crs.length-1);for(rc3=R.i(0,crs.length-1);rc3==rc||rc3==rc2;)rc3=R.i(0,crs.length-1);ro=R.i(0,80),rclf=R.n(0,1.25),trs=R.i(200,1500),flip=R.i(0,1),roty=R.i(0,3),vnofill=R.i(0,6);let o=R.n(0,2)-R.n(0,2);clr1=color(crs[rc]),clr2=color(crs[rc2]),clr3=color(crs[rc3]),ro<=30?(r*=2,r2*=2,rw*=1.5):ro<=50?r*=2:(r*=2,r2*=2,rw*=1.5);let e=R.i(0,9),t=R.i(0,4),i=R.i(0,1),n=R.i(0,1),d=R.i(0,4),a=R.i(0,3),s=R.i(0,9),l=R.i(0,9),c=R.i(0,9),T=R.i(1,4),f=R.i(0,3),u=R.n(.949,1.029),h=R.i(0,3),D=R.n(20,34),H=R.i(0,2),E=R.n(1,6),p=R.i(0,3);droo.smooth(),droo.angleMode(DEGREES),angleMode(DEGREES),0==h?(droo.background(R.i(64,180)),window.METADATA["Background color"]="Gray"):(droo.background(clr1),window.METADATA["Background color"]="From palette"),e<=8||derp<.6?(droo.noStroke(),window.METADATA.Outline="Smooth"):0==a?(droo.stroke(245),window.METADATA.Outline="Stroked White"):(window.METADATA.Outline="Stroked",droo.stroke(clr3)),1==vnofill&&s<=7?window.METADATA.Vertices="Hollow":window.METADATA.Vertices=s<=7?"Solid":"Missing",window.METADATA["Additional rects"]=c<=2?"True":"False",window.METADATA["Line objects"]=0==i?"Long lines":T<2?"Scatter boxes":2==T?"Dashed lines":"Dashed boxes",window.METADATA["Background object"]=0==d?"Stroked":"Solid",window.METADATA.Material=0!=l?"Matte":"Shiny";let A=color(255,255,255),w=color(255,0,255);0==R.i(0,7)?(droo.ambientLight(66),droo.pointLight(w,R.i(0,WIDTH),R.i(0,HEIGHT),(R.i(0,210)-R.i(0,210))*M),window.METADATA.Lighting="Bright"):(droo.ambientLight(16),window.METADATA.Lighting="Moody");R.n(0,10),R.n(0,10);droo.pointLight(A,R.i(0,WIDTH),R.i(0,HEIGHT),(R.i(0,210)-R.i(0,210))*M);let g=R.n(.5,.8);droo.lightFalloff(g,0,0);let I=R.i(3e3,4e3);if(droo.translate(0,0,-I*M),2==H){window.METADATA.Structures="True",droo.push(),droo.translate(0,1400*M,0);for(let r=0;r<6;r++){0==n?droo.rotateZ(22.5*round(rw+r)):droo.rotateZ(rw+r);for(let r=0;r<16;r++){0==n?droo.rotateX(22.5*round(r*rw)):droo.rotateX(r*rw);for(let e=0;e<16;e++){0==n?droo.rotateY(22.5*round(e*o)):droo.rotateY(e*o);let t=lerpColor(clr1,clr2,e/15);0!=l?droo.ambientMaterial(t):droo.specularMaterial(t),droo.translate(r*r3y*2*M,4*r*M,2*e*M),droo.box(500*M,R.n(10,1500)*M,100*M)}}}droo.pop()}else window.METADATA.Structures="False";0!=l?droo.ambientMaterial(255):droo.specularMaterial(255),droo.push();for(let o=0;o<2;o++){1==roty&&droo.rotateY(90),droo.push();for(let o=0;o<r;o++){let r=R.i(100,1e4),e=R.i(10,35);droo.translate(10*M,sin(r*o*1e4)*M,0);for(let o=0;o<r2;o++){if(droo.strokeWeight(3*M),droo.translate(fract(mb*o*2e4)*M,atan(trs*o*2e7)*M,cos(2e6*r7)*M),0==n?droo.rotateX(45*round(e)):droo.rotateX(e),o%2==0&&0!=o)if(0==i)droo.box(e*M,E*M,10*r*M);else{droo.push();for(let o=0;o<16*r2;o++)if(droo.translate(r/62*M,0,0),T<2){let o=R.n(30,100);for(let r=0;r<16;r++)droo.push(),droo.translate(10*o*r*M,o*r*M,0),droo.rect(r*M,0,o/15*M),droo.pop()}else if(2==T)for(let o=0;o<16;o++)droo.push(),droo.translate(o*(r/62/o)*M,0,0),droo.box(M,M,r/26*M),droo.pop();else droo.box(e*M,M,r/46*M);droo.pop()}for(let r=0;r<r2*rw;r++){let e=R.n(0,40),i=R.n(0,40),d=R.n(0,40);0==n?droo.rotateY(22.5*round(e)):droo.rotateY(e),r%3==0?droo.translate(cos(mb*o*1e4)*M,sin(trs*o*1e6)*M,sin(1e6*trs)*M):droo.translate(atan(mb*o*1e5)*M,sin(trs*o*1e7)*M,-cos(1e7*trs)*M),lerps=lerpColor(clr1,clr3,r/(r2*rw)),ilerps=lerpColor(clr3,clr2,r/(r2*rw)),droo.fill(lerps);let a=R.n(20,380),l=R.n(0,a),T=R.n(0,a),f=R.n(0,a);s<=7&&(droo.beginShape(),1==vnofill&&r%2==0&&(droo.noFill(),droo.strokeWeight(3*M),droo.stroke(lerps)),droo.vertex(l*M,0,0),1==vnofill&&r%2==0?droo.stroke(ilerps):droo.fill(ilerps),1==vnofill&&r%2==0?(droo.stroke(lerps),droo.vertex(2*T*M,l*M,0)):(droo.fill(lerps),droo.vertex(T*M,l*M,0)),droo.vertex(f*M,T*M,0),0==t&&(droo.vertex(l+d*M,T-l*M,d*M),droo.vertex(f-d*M,T+T*M,-f*M),droo.vertex(T-l*M,T-f*M,0)),droo.endShape(CLOSE)),0==c?droo.rect(0,0,l/2*M):c<=2&&droo.rect(0,0,l*M),droo.box(i/3*M,(r+e/6)*M,4*d*M)}}}droo.pop()}if(droo.pop(),droo.push(),droo.translate(1.6*-WIDTH,2*-HEIGHT,-R.n(200,2e3)*M),0==flip&&(droo.rotate(180),droo.translate(4*-WIDTH,4*-HEIGHT,0)),0==d){droo.noFill();let o=R.i(80,160);droo.strokeWeight(o*M)}haumeni=R.i(4,64),colsr=R.i(0,2),droo.push();for(let o=0;o<haumeni;o++){droo.translate(2e3/haumeni*M,0,0),droo.beginShape(),black=color(0,0,0);let r=lerpColor(clr3,clr1,o/haumeni),e=lerpColor(clr1,clr2,o/haumeni),t=lerpColor(clr2,black,o/haumeni);0==colsr?(droo.ambientMaterial(r),droo.stroke(r)):1==colsr?(droo.ambientMaterial(e),droo.stroke(e)):(droo.ambientMaterial(t),droo.stroke(t)),0!=p&&0!=d&&droo.noStroke(),1==f&&droo.rotateY(2),droo.vertex(0,0),droo.vertex(R.n(0,4*WIDTH,0)),droo.vertex(R.n(0,4*WIDTH),R.n(0,4*HEIGHT)),droo.vertex(0,R.n(0,4*HEIGHT)),droo.endShape(CLOSE)}droo.pop(),fin.image(droo,-WIDTH/2,-HEIGHT/2,WIDTH,HEIGHT),fin.fill(clr1),fin.noStroke(),fin.rect(-WIDTH/2,-HEIGHT/2,WIDTH,HEIGHT/85),fin.rect(-WIDTH/2,HEIGHT/2-HEIGHT/85,WIDTH,HEIGHT/85),fin.rect(-WIDTH/2,-HEIGHT/2,HEIGHT/85,HEIGHT),fin.rect(WIDTH/2-HEIGHT/85,-HEIGHT/2,HEIGHT/85,HEIGHT),buff.shader(shady),shady.setUniform("time",160),shady.setUniform("tekstuur",fin),shady.setUniform("derp",derp),shady.setUniform("skaler",u),shady.setUniform("multi",D),shady.setUniform("u_orientation",orientations),buff.rect(-WIDTH/2,-HEIGHT/2,WIDTH,HEIGHT),image(buff,-WIDTH2/2,-HEIGHT2/2,WIDTH2,HEIGHT2),noLoop(),window.onImageRendered&&window.onImageRendered();window.top && window.top.postMessage('genart:done','*')}let fS="precision highp float;varying vec2 vTexCoord;uniform float derp;uniform float skaler;uniform float multi;uniform sampler2D tekstuur;uniform int u_orientation;float rand(vec2 co){return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);}void main(){vec2 coord=vTexCoord;if (u_orientation==1) coord.y=1.0 - coord.y;vec2 fbuv=coord;fbuv=coord * 2.0 - 1.0;fbuv=fbuv * 0.5 + 0.5;fbuv +=0.0000999999;coord=coord * 2.0 - 1.0;coord *=skaler;coord=coord * 0.5 + 0.5;float random=rand(vTexCoord);vec4 tex=texture2D(tekstuur, fbuv);vec4 tex2=texture2D(tekstuur, coord);vec3 noisy=vec3(random, random, random);float avg=dot(tex2.rgb, vec3(0.33333));avg=avg * 2.0 - 1.0;float disp=avg * (derp * multi * 0.0145);vec4 ftex=texture2D(tekstuur, fbuv + disp);vec3 new_tex=tex.rgb;if ( derp < 0.15 ){new_tex=mix(tex.rgb, noisy.rgb, -0.23);}vec3 new_colory=mix(new_tex.rgb, tex2.rgb, -0.4);new_colory.rgb=mix(new_colory.rgb, 1.0 - new_colory.rgb, step(1.0,new_colory.g) );vec3 ncol=mix(ftex.rgb, noisy, 0.15);if ( derp < 0.2 ){ncol=mix(new_colory, noisy, 0.15);}if ( derp > 0.6 ){ncol=mix(tex.rgb, noisy, 0.15);}gl_FragColor=vec4(ncol, 1.0);}",vS="attribute vec3 aPosition;attribute vec2 aTexCoord;varying vec2 vTexCoord;void main(){vTexCoord=aTexCoord;vec4 positionVec4=vec4(aPosition, 1.0);positionVec4.xy=positionVec4.xy * 2.0 - 1.0;gl_Position=positionVec4;}",tS="precision highp float;uniform vec2 u_resolution;void main(){vec2 st=gl_FragCoord.xy/u_resolution.xy;float r=st.y;float g=0.0;float b=0.0;vec3 color=vec3(r, g, b);gl_FragColor=vec4(color, 1.0);}"; </script></body></html>P5JS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Fjäll</title> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}</style></head><body> <script>!function(){"use strict";const hash=7486238764736478362532435243352;function t(t){var e=z(~~t[0],0,255),r=z(~~t[1],0,255);return"#"+(z(~~t[2],0,255)|r<<8|e<<16|16777216).toString(16).slice(1)}function e(t,e){for(var r=0,n=0;n<t.length;n++)r+=d(t[n]-e[n],2);return c(r)}function r(...t){this.mD=t[0],this.maD=t[1],this.mT=t[2],this.dF=t[3],this.rng=t[4],this.mDpE=this.mD+O,this.dD=f(0,this.maD-this.mDpE),this.cS=this.maD/c(2),this.n=function(t){var e,r=((t,e)=>{for(var r=2*(t=t||1)+1,n=d(r,e=e||2)-1,i=Array(n),s=0;s<n;s++)for(var h,o=i[s]=Array(e),a=s<n/2?s:s+1,l=1;l<=e;l++)h=a%d(r,l),o[l-1]=h/d(r,l-1)-t,a-=h;return i})(2,t),n=[];for(r=r.filter((e=>{for(var r=Math.abs,n=0,i=0;i<t;i++)n+=d(f(0,r(e[i])-1),2);return n<t})),e=0;e<t;e++)n.push(0);return r.push(n),r.sort(((e,r)=>{var n,i=0,s=0;for(n=0;n<t;n++)i+=d(e[n],2),s+=d(r[n],2);return i<s?-1:i>s?1:0})),r}(2),this.cP=null,this.cD=0,this.pL=[],this.sP=[],this.sD=[],this.gridShape=[];for(var e=0;2>e;e++)this.gridShape.push(Math.ceil(1/this.cS));this.grid=(t=>{var e,r,n=t.length,i=1,s=Array(n),h=[];for(e=n;0<e;e--)s[e-1]=i,i*=t[e-1];for(r=0;r<i;r++)h.push([]);return{stride:s,data:h}})(this.gridShape)}function n(t,e,r){var n=e[0],i=e[1],s=e[2],h=e[3],o=e[4],a=e[5],l=e[6],u=e[7],c=e[8],f=e[9],d=e[10],p=e[11],g=e[12],v=e[13],D=e[14],E=e[15],m=r[0],w=r[1],F=r[2],A=r[3];return t[0]=m*n+w*o+F*c+A*g,t[1]=m*i+w*a+F*f+A*v,t[2]=m*s+w*l+F*d+A*D,t[3]=m*h+w*u+F*p+A*E,m=r[4],w=r[5],F=r[6],A=r[7],t[4]=m*n+w*o+F*c+A*g,t[5]=m*i+w*a+F*f+A*v,t[6]=m*s+w*l+F*d+A*D,t[7]=m*h+w*u+F*p+A*E,m=r[8],w=r[9],F=r[10],A=r[11],t[8]=m*n+w*o+F*c+A*g,t[9]=m*i+w*a+F*f+A*v,t[10]=m*s+w*l+F*d+A*D,t[11]=m*h+w*u+F*p+A*E,m=r[12],w=r[13],F=r[14],A=r[15],t[12]=m*n+w*o+F*c+A*g,t[13]=m*i+w*a+F*f+A*v,t[14]=m*s+w*l+F*d+A*D,t[15]=m*h+w*u+F*p+A*E,t}function i(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}var h=Math.sin,o=Math.cos,a=Math.PI,l=Math.min,u=Math.floor,c=Math.sqrt,f=Math.max,d=Math.pow;const p=d(2,-32),g=32557,v=19605,D=new Uint16Array(4),E=new DataView(D.buffer),m=()=>{const t=D[0],e=D[1],r=D[2],n=D[3],i=0|33103+g*t,s=0|63335+g*e+(v*t+(i>>>16)),h=0|31614+g*r+v*e+(62509*t+(s>>>16));D[0]=i,D[1]=s,D[2]=h,D[3]=5125+g*n+(v*r+62509*e)+(22609*t+(h>>>16));const o=(n<<21)+((n>>2^r)<<5)+((r>>2^e)>>11);return p*((o>>>(n>>11)|o<<(31&-(n>>11)))>>>0)},w=(t,e=0)=>{const r=16,n=65535,i=255;for(var s,h=1540483477,o=t.length,a=e^o,l=0;4<=o;)s=((s=t[l]&i|(t[++l]&i)<<8|(t[++l]&i)<<16|(t[++l]&i)<<24)&n)*h+(((s>>>r)*h&n)<<r),a=(a&n)*h+(((a>>>r)*h&n)<<r)^(s=((s^=s>>>24)&n)*h+(((s>>>r)*h&n)<<r)),o-=4,++l;switch(o){case 3:a^=(t[l+2]&i)<<r;case 2:a^=(t[l+1]&i)<<8;case 1:a=((a^=t[l]&i)&n)*h+(((a>>>r)*h&n)<<r)}return a=((a^=a>>>13)&n)*h+(((a>>>16)*h&n)<<16),(a^=a>>>15)>>>0},F=(t=.5)=>m()<t,A=(t,e)=>(void 0===e&&(e=t,t=0),m()*(e-t)+t),C=t=>{return t.length?t[(e=t.length,u(A(e,undefined)))]:void 0;var e},P=t=>{var e,r=0;for(e=0;e<t.length;e++)r+=t[e];var n=m()*r;for(e=0;e<t.length;e++){if(n<t[e])return e;n-=t[e]}return 0},y=.95047,M=1.08883,b=.137931034,S=.12841855,k=([t,e,r])=>{const[n,i,s]=U(t,e,r),h=116*i-16;return[0>h?0:h,500*(n-i),200*(i-s)]},B=t=>.04045>=(t/=255)?t/12.92:d((t+.055)/1.055,2.4),T=t=>t>.008856452?d(t,1/3):t/S+b,U=(t,e,r)=>(t=B(t),e=B(e),r=B(r),[T((.4124564*t+.3575761*e+.1804375*r)/y),T((.2126729*t+.7151522*e+.072175*r)/1),T((.0193339*t+.119192*e+.9503041*r)/M)]),N=(t,e,r)=>{var n=Math.round;let i,s,h,o,a,l;return s=(t+16)/116,i=isNaN(e)?s:s+e/500,h=isNaN(r)?s:s-r/200,s=1*W(s),i=y*W(i),h=M*W(h),o=L(3.2404542*i-1.5371385*s-.4985314*h),a=L(-.969266*i+1.8760108*s+.041556*h),l=L(.0556434*i-.2040259*s+1.0572252*h),[n(o),n(a),n(l)]},L=t=>255*(.00304>=t?12.92*t:1.055*d(t,1/2.4)-.055),W=t=>t>.206896552?t*t*t:S*(t-b),x=t=>{(4===t.length||7===t.length)&&(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const e=parseInt(t,16);return[e>>16,255&e>>8,255&e]},H=(t,e)=>{let r=k(x(t));return r[0]-=18*e,N(...r)},z=(t,e,r)=>f(l(t,r),e),I=.5*(c(3)-1),R=(3-c(3))/6,q=new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]);class G{constructor(t){this.p=(t=>{const e=new Uint8Array(256);for(let t=0;256>t;t++)e[t]=t;for(let r=0;255>r;r++){const n=r+~~(t()*(256-r)),i=e[r];e[r]=e[n],e[n]=i}return e})(t),this.perm=new Uint8Array(512),this.permMod12=new Uint8Array(512);for(let t=0;512>t;t++)this.perm[t]=this.p[255&t],this.permMod12[t]=this.perm[t]%12}noise2D(t,e){const r=this.permMod12,n=this.perm;let i=0,s=0,h=0;const o=(t+e)*I,a=u(t+o),l=u(e+o),c=(a+l)*R,f=t-(a-c),d=e-(l-c);let p,g;f>d?(p=1,g=0):(p=0,g=1);const v=f-p+R,D=d-g+R,E=f-1+2*R,m=d-1+2*R,w=255&a,F=255&l;let A=.5-f*f-d*d;if(0<=A){const t=3*r[w+n[F]];A*=A,i=A*A*(q[t]*f+q[t+1]*d)}let C=.5-v*v-D*D;if(0<=C){const t=3*r[w+p+n[F+g]];C*=C,s=C*C*(q[t]*v+q[t+1]*D)}let P=.5-E*E-m*m;if(0<=P){const t=3*r[w+1+n[F+1]];P*=P,h=P*P*(q[t]*E+q[t+1]*m)}return 70*(i+s+h)}}const O=2e-14;r.prototype.aP=function(t){var e,r=!0;if(2===t.length)for(e=0;2>e&&r;e++)r=0<=t[e]&&1>=t[e];else r=!1;return r?this.dAP(t):null},r.prototype.dAP=function(t){var e,r=0,n=this.grid.stride,i=this.sP.length;let s=this.dF(t);for(this.pL.push(i),this.sP.push(t),this.sD.push(s),e=0;2>e;e++)r+=(0|t[e]/this.cS)*n[e];return this.grid.data[r].push(i),[...t,s]},r.prototype.iN=function(t){var r,n,i,s,h,o,a=this.grid.stride,u=this.dF(t);for(r=0;r<this.n.length;r++){for(n=0,i=0;2>i;i++){if(0>(s=(0|t[i]/this.cS)+this.n[r][i])||s>=this.gridShape[i]){n=-1;break}n+=s*a[i]}if(-1!==n&&0<this.grid.data[n].length)for(var c=0;c<this.grid.data[n].length;c++){h=this.sP[this.grid.data[n][c]],o=this.sD[this.grid.data[n][c]];var f=l(o,u);if(e(t,h)<this.mD+this.dD*f)return!0}}return!1},r.prototype.next=function(){for(var t,e,r,n,i,s,l,u;0<this.pL.length;){if(null===this.cP){var c=this.pL.shift();this.cP=this.sP[c],this.cD=this.sD[c]}for(n=this.cP,i=this.cD,t=0;t<this.mT;t++){for(l=!0,r=this.mDpE+this.dD*i,e=this.rng()*a*2,s=[o(e),h(e)],u=0;l&&2>u;u++)s[u]=n[u]+s[u]*r,l=0<=s[u]&&1>s[u];if(l&&!this.iN(s))return this.dAP(s)}t===this.mT&&(this.cP=null)}return null};var V=[0,0,0,0];const j=(t,e,r)=>{var[n,i,s,h]=e;return J(t,r[0]*n+r[4]*i+r[8]*s+r[12]*h,r[1]*n+r[5]*i+r[9]*s+r[13]*h,r[2]*n+r[6]*i+r[10]*s+r[14]*h,r[3]*n+r[7]*i+r[11]*s+r[15]*h)},J=(t,...e)=>{for(let r=0;r<e.length;r++)t[r]=e[r];return t},K=(t,e,r,n,i)=>{return((t,e,r)=>t*(1-r)+e*r)(n,i,(t-(s=e))/(r-s));var s};var Y=(e,u,p,g,v,D)=>{(t=>{const e=~~((t.length-2)/2),r=[];for(let n=0;n<e;n++){const e=2+2*n;r.push(parseInt(t.slice(e,e+2),16))}const n=w(r,1690382925),i=w(r,72970470);E.setUint32(0,n),E.setUint32(4,i)})(e);let y,M,b,S,B,T,U,L,W,z,I,R,q,O,Y,Q,X,Z,$,_,tt,et,rt,nt={},it=.3,st=1,ht=-.05,ot=0;const at=([t,e])=>{const r=(t=>1.1*p*(2*t-1))(t),n=(t=>(.7<$?1.3*p:1)*(2.5*t-1)+ht)(e),i=(([t,e])=>{let r=I,n=st*(et?d(h((t+e)*a/2),2)+.1:1),i=1,s=0,o=0;for(let h=0;h<11;h++)s+=n*((y.noise2D((t+7*r)*r,(e+3*r)*r)+1)/2),o+=i,r*=(tt?1.6:2)*(_?K(s,0,o,.999,1.001):1),n*=.5,i*=.5;return d(s*L/o,U)})([r,n]);return[r,i,n]},lt=([t,e,r])=>{let n=t([e,r]),i=t([e-1e-4,r-1e-4]);var h,o,a,l,u,f,d,p,g;return[n,((t,e)=>{var r=e[0],n=e[1],i=e[2],s=r*r+n*n+i*i;return 0<s&&(s=1/c(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t})([],(h=[],o=s([],t([e+1e-4,r+1e-5]),n),a=s([],i,n),l=o[0],u=o[1],f=o[2],d=a[0],p=a[1],g=a[2],h[0]=u*g-f*p,h[1]=f*d-l*g,h[2]=l*p-u*d,h))]},ut=(t,e)=>{t.fillStyle=e},ct=(t,e,r,n)=>{t.strokeStyle=n,t.beginPath(),t.moveTo(e[0],e[1]),t.lineTo(r[0],r[1]),t.stroke()};let ft,dt;X=F(.5),T=m(),$=m();let pt,gt=[3,6][P([.05,.95])];if(_=F(.01),tt=F(_?.2:.01),et=F(.01),rt=F(.05),ot=.03,it=C([-1.5,0,1.5]),q=C([[0,0,1],[1,0,0],[-1,0,1]]),z=9e-4,W=z/5,.3>$)pt="Satellite",T=A(0,.8),ft=z*(.4>T?.7:1),dt=z*[2,3][P([1,.1])],[st,L,U,I]=C([[1.1,1.8,3,C([1.2,1.4])],[1.7,.88,5,.64]]),S=C([1,2]),B=1==S?.4<T?0:m():A(0,.6),b=C([2,3]),O=[0,1,.05],Z=.88;else if(.9>$)pt="Helicopter",T=m(),ft=z*(.4>T?.5:.8),dt=z*[2,3][P([.9,.1])],[st,L,U,I]=C([[1.25,1.6,3,C([.9,1.1])],[1.8,.85,4,.69]]),B=0,S=[0,1,2][P([2,4,2])],O=[0,10,1],Z=9.5;else if(.97>$)pt="Outlook",T=P([4,1]),ft=z*(.4>T?.4:.9),dt=2*z,[st,L,I,U]=C([[1.1,.96,C([.56,.7]),C([2,3])],[1,1.05,C([.7,1.01]),3]]),S=C([1,2]),B=2==S?m():0,b=C([2,1.5]),O=[0,8,8],Z=9.5;else{pt="Window",T=A(0,.6),z=.001,W=C([z/8]),ft=.3*z,dt=z*(.4>T?.65:.8),I=C([.7,.6]),U=C([5]),st=1,L=.83,S=C([0,2]),B=0;let t=[P([1,4])];O=[[0,1,3],[0,1,5]][t],Z=[5,12][t],ht=.1}.8<T&&(ft=z,dt=z*(.7<$?2:4)),nt.Valleys=et?"Forced":2<U?"Smooth":"Sharp",nt.Perspective=pt,nt.Drawing=.8<T?"Cross-stitch":.4<T?rt?"Brush":"Marker":"Dot",nt["Colouring Style"]=.5<B?"Solid":"Gradient",nt["Colouring Dimension"]=S,nt["Mountain Peaks"]=1<=L?"Peaky":"Rounded",nt.Fill=3==gt?"Patchy":"Uniform",nt.Topography=(_?"Terraced":"Natural")+(tt?" Hills":""),y=new G(m),M=new r(...[ft,dt,gt,t=>{let e=at(t)[1];return l(1,f(.01,1-e*(.29>$?1:2)))},m]);let vt=["Moored","The floor is Lava","Coral","Arctic Smoke","Kebnekaise","Mars","Yellowstone","Jupiter","Uluru","Måås-Fjetterström","Petrol","Concrete"],Dt=[.7,1,.7,1,.5,1,.7,.5,.5,.7,.5,.7],Et=[["#EED","#3d295a","#752536","#b56576","#eaac8b"],["#EED","#780000","#c1121f","#fdf0d5","#003049","#669bbc"],["#F8F4E3","#FFD275","#FE938C","#25283D"],["#e9faff","#272643","#889FC0","#272643","#EEEEFF"],["#44444a","#bae8e8","#81b29a","#A9B7CF","#fff"],["#221820","#3B1829","#6A1F31","#BB3334","#EC6143","#CE7B30"],["#EED","#2C658D","#474D2C","#5D352A"],["#FCF6E9","#241302","#984E35","#C89F83","#746B70"],["#DFCDC6","#751714","#91340F","#241302"],["#E4D6CA","#241717","#152548","#322927","#6A353F"],["#FFE","#0E3A44","#196779"],["#333","#666","#B3B3B3","#000"]];.5>B?(Et.push(["#fefef0","#002030","#24448c","#D62828","#ffde17"],["#fadcaf","#052040","#35553C"],["#EED","#e07a5f","#3d405b","#81b29a","#f2cc8f"],["#1d203b","#e07a5f","#FCF6E9","#81b29a","#f2cc8f"],["#385364","#2a5b26","#d0c41e","#ed9aae","#a25caf"],["#FEFEF0","#752536","#3d295a"],["#113","#780000","#fdf0d5","#FBC86D","#D26059"],["#2d193a","#000","#bae8e8","#231C3C"]),vt.push("Sunrise","Uluwatu","Amazon","Amazon Night","Alien","Twilight","Sunset","The Groke"),Dt.push(1.2,.5,1,.8,.5,.5,1,.7)):(Et.push(["#F3EAE9","#6C84A7","#2E3E68","#0B0E17","#C57044"],["#EEA24B","#000","#000"],["#EED","#003049","#334162"]),vt.push("Märta","Oskar","Lysekil"),Dt.push(1,1,2),F(.07)&&(B=1,Et=[["#EED","#111","#222"],["#111","#eee","#fff"]],Dt=[1,1],nt.Palette="Monochrome"));let mt,wt=P(Dt);var Ft;wt=.5>B&&1!=S&&(16==wt||19==wt)?12:wt,Y=Et[wt],null==nt.Palette&&(nt.Palette=vt[wt]),F(.05)?mt=Y.slice(0,1)[0]:(mt=Y.splice(0,1)[0],F(.05)&&.5>B&&(Y=[Y[0],[Y[Y.length-1]]])),Ft=Y.slice(0),Q=t=>{if(0>t)return x(Ft[0]);if(1<=t)return x(Ft[Ft.length-1]);let e=t*(Ft.length-1),r=~~e;return((t,e,r)=>{const n=k(x(t)),i=k(x(e));return N(n[0]+r*(i[0]-n[0]),n[1]+r*(i[1]-n[1]),n[2]+r*(i[2]-n[2]))})(Ft[r],Ft[r+1],e%1)},Array(10).fill().map((()=>M.aP([A(.45,.55),A(0,.08)])));let At=-10;return R=((...t)=>{let[e,r,i,s]=t;const h=r/i*2;let o;const a=(u=(l=e)[0],f=l[1],d=l[2],Math.hypot(u,f,d));var l,u,f,d;e=((t,e,r)=>(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t))([],e,0===a?1:1/a),s/=a/2,o=((t,e,r,n,i,s,h,o)=>{const a=(r-e)/(2*s),l=4/(2*s),u=(r+e)/2;return((t,e,r,n,i,s,h)=>{var o=1/(e-r),a=1/(n-i),l=-.005;return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*o,t[13]=(i+n)*a,t[14]=-0,t[15]=1,t})([],u-a,u+a,0-l,0+l)})(0,-h,h,0,0,s);const p=((t,e,r,n)=>{var i=e[0],s=e[1],h=e[2],o=n[0],a=n[1],l=n[2],u=i-r[0],f=s-r[1],d=h-r[2],p=u*u+f*f+d*d;0<p&&(u*=p=1/c(p),f*=p,d*=p);var g=a*d-l*f,v=l*u-o*d,D=o*f-a*u;return 0<(p=g*g+v*v+D*D)&&(g*=p=1/c(p),v*=p,D*=p),t[0]=g,t[1]=v,t[2]=D,t[3]=0,t[4]=f*D-d*v,t[5]=d*g-u*D,t[6]=u*v-f*g,t[7]=0,t[8]=u,t[9]=f,t[10]=d,t[11]=0,t[12]=i,t[13]=s,t[14]=h,t[15]=1,t})([],e,[0,0,0],[0,1,0]),g=(D=e,(v=[])[0]=1,v[1]=0,v[2]=0,v[3]=0,v[4]=0,v[5]=1,v[6]=0,v[7]=0,v[8]=0,v[9]=0,v[10]=1,v[11]=0,v[12]=D[0],v[13]=D[1],v[14]=D[2],v[15]=1,v);var v,D;n(g,g,p);const E=((t,e)=>{var r=e[0],n=e[1],i=e[2],s=e[3],h=e[4],o=e[5],a=e[6],l=e[7],u=e[8],c=e[9],f=e[10],d=e[11],p=e[12],g=e[13],v=e[14],D=e[15],E=r*o-n*h,m=r*a-i*h,w=r*l-s*h,F=n*a-i*o,A=n*l-s*o,C=i*l-s*a,P=u*g-c*p,y=u*v-f*p,M=u*D-d*p,b=c*v-f*g,S=c*D-d*g,k=f*D-d*v,B=E*k-m*S+w*b+F*M-A*y+C*P;return B?(B=1/B,t[0]=(o*k-a*S+l*b)*B,t[1]=(i*S-n*k-s*b)*B,t[2]=(g*C-v*A+D*F)*B,t[3]=(f*A-c*C-d*F)*B,t[4]=(a*M-h*k-l*y)*B,t[5]=(r*k-i*M+s*y)*B,t[6]=(v*w-p*C-D*m)*B,t[7]=(u*C-f*w+d*m)*B,t[8]=(h*S-o*M+l*P)*B,t[9]=(n*M-r*S-s*P)*B,t[10]=(p*A-g*w+D*E)*B,t[11]=(c*w-u*A-d*E)*B,t[12]=(o*y-h*b-a*P)*B,t[13]=(r*b-n*y+i*P)*B,t[14]=(g*m-p*F-v*E)*B,t[15]=(u*F-c*m+f*E)*B,t):null})([],g),m=n([],o,E),w=[0,0,r,i];return t=>{const[e,r,n,i]=w,s=((t,e,r,n)=>{var i=r[0],s=r[1],h=r[2],o=r[3];J(V,e[0],e[1],e[2],1),j(V,V,n);var a=V[3];return 0!==a&&(V[0]/=a,V[1]/=a,V[2]/=a),t[0]=i+h/2*V[0]+(0+h/2),t[1]=s+o/2*V[1]+(0+o/2),t[2]=.5*V[2]+.5,t[3]=0===a?0:1/a,t})([],t,w,m);return s[1]=i-s[1],s}})(O,v,D,Z),ut(g,mt),g.fillRect(0,0,v,D),(e,r,n=10)=>{v=r.width,D=r.height,e.lineCap="round";let s=~~((n||8)/z);for(let r,n=0;n<s;n++){if(r=M.next(),null==r)return window&&(window.METADATA=nt),window.top&&window.top.postMessage("genart:done","*"),null;let n=[r];if(.8<T){n=[];let t=2*z;n.push([r[0]-t,r[1]-t]),n.push([r[0]+t,r[1]+t]),n.push([r[0]-t,r[1]+t]),n.push([r[0]+t,r[1]-t])}else if(.4<T){let t=y.noise2D(...r)*a*2,e=(1.5-r[2])*z*(rt?4:2);n.push([r[0]+o(t)*e,r[1]+h(t)*e])}const s=n.map((t=>lt([at,t[0],t[1]])));let u=s.map((t=>R(t[0])));var c,g,E,m;if(.8<T?(c=u[0],g=u[1],E=u[2],m=u[3]):.4<T?(c=u[0],g=u[1]):c=u[0],c[1]<.95*D&&c[1]>.05*D&&c[0]>.05*v/p&&c[0]<v*(1-.05/p)){const[r,n]=s[0];r[1]>At&&(At=r[1]);const h=f(0,i(n,q));if(0<=i(O,n)){let n;e.lineWidth=v*K(h,0,1,W,z)*(.7<$?1.6:1),.5<B?(n=Y[~~((y.noise2D(r[S]+13,d(r[1]/(0<At?.9*At:1),X?1:1/U)/L+5)/2+1+A(-.03,.03))*Y.length*b)%Y.length],n=t(H(n,K(h,0,1,-it,it)))):(n=t(Q((1==S?d(r[S]/(0<At?l(At,1.5):1),X?1:1/U)/L:0==S?(1+r[S]*(.97<$?2*p:1)/(1.1*p))/2:((r[S]*(.97<$?2:1)-ht)/(.7<$?1.3*p:1)+1)/2.5)+A(-.03,.03))),n=t(H(n,K(h,0,1,-it,it)))),ut(e,n),.8<T?(e.lineWidth=v*K(h,0,1,W,z)/2,ct(e,c,g,n),ct(e,E,m,n)):.4<T?ct(e,c,g,n):(e.beginPath(),e.arc(c[0],c[1],e.lineWidth/2,0,2*a,!1),e.fill())}}}return u+=s}};let Q=hash,X=0;(()=>{function t(){null!==X&&(X=u(l,a),window.requestAnimationFrame(c))}let e=window,r=window.document;const n=e.devicePixelRatio,i=297/210,s=e.innerWidth*n,h=f(1,2048/s);let o=s,a=r.body.appendChild(r.createElement("canvas"));const l=a?a.getContext("2d"):null;if(a){a.width=~~(~~(o*i)*h),a.height=~~(o*h);const t=a.style;if(t){const r=()=>{t.position="absolute",t.display="block",t.top=t.left=t.right=t.bottom="0",t.margin="auto",t.height=e.innerWidth>e.innerHeight*i?"100%":"auto",t.width=e.innerWidth>e.innerHeight*i?"auto":"100%",t.padding=0};e.addEventListener("resize",r),r()}}let u=Y(Q,X,i,l,a.width,a.height),c=()=>t();t()})()}(); </script></body></html>VanillaJS
<!DOCTYPE html><html lang="en"> <head> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js" ></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0;}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, 0.15);}</style> <meta charset="utf-8"/> </head> <body> <script>window.METADATA={};class Random{constructor(e){this.seed=parseInt(e.slice(0,16),16)}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e8/1e8}random_between(e,l){return e+(l-e)*this.random_dec()}random_int(e,l){return Math.floor(this.random_between(e,l+1))}random_choice(e){return e[Math.floor(this.random_between(0,.99*e.length))]}}let A,W,H,M,D,C,seed,pL,sM,aL,L,cO,cS,cN,co,pCO,sB,sc,rT,xOM,yOM,rM,lRN,lRL,mNSX,mNSY,mNL,mNC,mNML,lS,pS,lL,lD,v,vLL,vUL,cl,clC,rC,cC,sS,di,R,wM,sW,cV,nD,log,S=1e3;function setup(){R=random,wM=window.METADATA,sW=strokeWeight,cV=createVector,log=console.log,nD=noiseDetail,disableFriendlyErrors=!0,colorMode(HSL,360,100,100,1),lCol();W=1e3*(A=[1,1.5])[0],H=1e3*A[1],createCanvas(W,H),D=min(W,H),M=D/S;const e=new Random("{{hash}}");seed=round(1e9*e.random_dec()),noiseSeed(seed),randomSeed(seed),console.log(seed),pL=6e5,sM=1,aL=.2,L=80,pixelDensity("undefined"!=typeof density?density:2);let l=R(cO),o=R();o<.0125?l={n:"Opaline",c:[[344,59,59],[29,75,64],[43,88,77],[150,36,47],[231,34,45],[292,32,53]],mNM:.12,cS:"Yes",cNM:.0015,mS:15}:o<.025&&(l={n:"Spectrum",c:[[338,64,50],[19,82,60],[51,84,63],[110,47,52],[208,57,51],[271,50,46]],mNM:.12,cS:"Yes",cNM:.0015,t:"l",mS:15}),co=(co=[...l.c]).map(e=>color(...e)),pCO=floor(R(co.length)),cS=WR(["No","Yes"],[1,2]),cN=WR([.001,.0015,.002],[4,2,1]),"No"==l.cS?(cS="No",cN=0):"Yes"==l.cS&&(cS="Yes"),sB=!0;let n="l"==l.t?color(37,31,93):color(220,60,7),t="l"==l.t?[70,180]:[15,40];if(sB){background(n),sW(.25*M);for(var c=0;c<1e3;c++){stroke(R(...t),R(.1,.15));let e=R(0,W),l=R(0,H);line(e,l,e+R(-50,50)*M,l+R(-50,50)*M)}sW(.15*M);for(c=0;c<5e3;c++)stroke(R(...t),R(.1,.15)),line(R(-W/2,1.5*W),R(-H/2,1.5*H),R(-W/2,1.5*W),R(-H/2,1.5*H))}else background(n);sc=WR([4,6,8,10,12,15,20,25,30],[1,2,3,4,5,4,3,2,1]),4==(sc=min(sc,l.mS||99))?cN=min(cN,.001):6==sc?cN=min(cN,.0015):l.cNM&&(cN=max(cN,l.cNM)),rT=WR(["None","Horizontal","Both"],[10,2,2]),sc<8&&(rT="None"),"None"==rT?(xOM=0,yOM=0):"Horizontal"==rT?(xOM=R(-.05,.05),yOM=0):"Vertical"==rT?(xOM=0,yOM=0):(xOM=R(-.05,.05),yOM=R(-.05,.05)),rM=WR(["Lines","Points","Alternate","Alternate Variation"],[4,4,2,1]),30==sc?aL*=1.25:25==sc?aL*=1.2:20==sc?aL*=1.15:15==sc?aL*=1.125:12==sc?aL*=1.1:10==sc?aL*=1.075:8==sc&&(aL*=1.05),"l"!=l.t&&(aL*=.95),lRN=R([.00125,.0025]),lRL=8,lRL*=pow(15/sc,.3),mNSX=R(1,1e3),mNSY=R(1,1e3),mNL=WR([1,2,3,4,5],[12,8,4,2,1]),"Lines"==rM&&(mNL=min(mNL,2)),sc>15?mNL=1:sc>10&&(mNL=min(mNL,3)),mNC=WR([.11,.12,.13,.14,.15],[5,8,8,5,2]),mNC=max(mNC,l.mNM||0),lS=WR([5,10,50],[1,2,1]),pS=WR([50,100,200],[1,2,3]),lL=WR([6,8,10,12,14,20],[2,3,4,3,2,1]),lD=WR([2,4,6,8,10],[1,4,6,4,1]),6==lL&&(mNL=min(2,mNL)),"None"!=rT&&(lD=min(lD,6)),v=WR([.04,.045,.05,.055],[1,3,3,1]),l.mNM&&(v=min(v,.05)),sS="None";let r=R();if(r<.025?(rT="None",sS="Quadrants"):r<.05?(sS="Circle",lL=max(lL,8)):r<.075?(rT="None",sS="Packed Circles",lL=max(lL,8)):r<.1&&(rT="None",sS="Subdivision",lL=max(lL,8)),di="None","None"==sS){let e=R();e<.03?di="Pinch":e<.06?sc>=8&&sc<=20&&(di="Spin",mNC=max(.12,mNC)):e<.1?sc<=12&&(rT=R(["Both","Horizontal"]),di="Diamond",mNC=max(.12,mNC)):e<.12?(di="Singularity","l"==l.t&&(aL*=1.1)):e<.14?sc>=6&&(rT=R(["Both","Horizontal"]),di="Echo"):e<.17&&(di="Reduction",mNC=.11,aL*=1.4,v=.02,lL=10,lD=4,sc=min(sc,15))}"None"==di&&R()<.025&&(di="Overlap",cN=.001,mNL=R([1,2]),mNC=.1,v=.055,aL*=.7,sc=min(sc,20)),wM["Color Palette"]=l.n,wM["Color Variation"]="No"==cS?"None":["Low","Medium","High"][round(2e3*cN-2)],wM.Distortion=di,wM["Edge Movement"]=["Very Low","Low","Medium","High","Very High"][mNL-1],wM["Layer Gap"]=["None","Very Low","Low","Medium","High","Very High"][round(100*(mNC-.1))],wM["Layer Count"]=lL,wM["Layer Spread"]=["Very Low","Low","Medium","High","Very High"][round(lD/2)-1],wM["Layer Style"]=rM,wM["Layer Thickness"]=.02==v?"Very Low":["Low","Medium","High","Very High"][round(1e3*v-40)/5],wM.Reflection=rT,wM.Scaling=sc,wM.Stencil=sS,.1!=mNC&&(30==sc?mNC*=1.3:25==sc?mNC*=1.25:20==sc?mNC*=1.15:15==sc&&(mNC*=1.05)),"Overlap"==di&&(v=.065),crCo(),crCl(),C=0,log(wM)}function draw(){if(translate(W/2,H/2),0==C){sMND();for(let e of cl)seCl(e);rND()}for(let e=0;e<L;e++){for(let e of cl)drCl(e);C++}noLoop()}function crCo(){rC=[],cC=[];let e=S*A[0],l=S*A[1],o=.05;if("Quadrants"==sS)rC=[{x1:-.45*e,y1:-.5*l+o*e,x2:-.025*e,y2:-.025*e},{x1:.025*e,y1:-.5*l+o*e,x2:.45*e,y2:-.025*e},{x1:-.45*e,y1:.025*e,x2:-.025*e,y2:.5*l-o*e},{x1:.025*e,y1:.025*e,x2:.45*e,y2:.5*l-o*e}];else if("Circle"==sS)cC=[{x:0,y:0,r:.45*S}];else if("Packed Circles"==sS)ciP(.0125,R(.15,.3),.025,5e3);else if("Subdivision"==sS)sd(4,-.5*e,-.5*l,e,l);else{let o=.04;rC=[{x1:(-.5+o)*e,y1:-.5*l+o*e,x2:(.5-o)*e,y2:.5*l-o*e}]}}function crCl(){if(cl=[],"Quadrants"==sS){clC=4;for(let e=0;e<clC;e++){let l={};l.xC=[-.25,.25,-.25,.25][e],l.yC=[-.25,-.25,.25,.25][e],l.xLS=-.275,l.xUS=.275,l.yLS=-.275,l.yUS=.275,l.sc=[5,8,12,20][e],l.con=e,cl.push({c:l,pG:[]})}}else clC=1,cl.push({c:{xC:0,yC:0,xLS:-.55,xUS:.55,yLS:-.55,yUS:.55,sc:sc},pG:[]})}function seCl(e){let{xC:l,yC:o,xLS:n,xUS:t,yLS:c,yUS:r}={...e.c},s=[];for(let e=0;e<lL;e++)s.push(co[(e+pCO)%co.length]);for(var i=0;i<lL;i++){let y=[],p=s[i],x=floor(pL/lL/clC);for(var a=0;a<x;a++){let e=a%2!=0?map(noise(a/x*pS,i/lL*lS),0,mNML,l+n,l+t):R(l+n,l+t),s=a%2!=0?map(noise(1e4+a/x*pS,1e4+i/lL*lS),0,mNML,o+c,o+r):R(o+c,o+r),m="Lines"==rM||("Alternate"==rM||"Alternate Variation"==rM)&&i%2==1;y.push(new Particle(e*S*A[0],s*S*A[1],2*R()*PI,p,m))}e.pG.push(y)}}function drCl(e){vLL=.5-v,vUL=.5+v,e.pG.forEach((l,o)=>{l.forEach(l=>{l.update(o,e.c.sc),l.display(o,e.c.con)})})}class Particle{constructor(e,l,o,n,t){let c=this;c.p={x:e,y:l},c.a=o,c.v=0,c.c=null,n&&(c.c=color(n),c.c.setAlpha(aL)),c.lR=t,c.lRC=0,c.lRP={x:e,y:l}}update(e,l){let o=this;sMND(),o.p.x+=4*cos(o.a),o.p.y+=4*sin(o.a);let n=l*o.p.x/(S*A[0]),t=l*o.p.y/(S*A[1]);o.v="Pinch"==di?noise(2e4+n/pow(abs(t),.3)+mNSX,2e4+t/pow(abs(n),.3)+mNSY)/mNML+mNC*(e-lL/lD):"Diamond"==di?noise(2e4+n+mNSX,2e4+t+mNSY,150*sin(1e3+(abs(n)+abs(t))/50))/mNML+mNC*(e-lL/lD):noise(2e4+n+mNSX,2e4+t+mNSY)/mNML+mNC*(e-lL/lD),o.a+=4*map(o.v,0,1,-1,1),rND()}display(e,l){let o=this;if(o.v>vLL&&o.v<vUL){let n;if(colorMode(RGB,255,255,255,1),"No"==cS)n=o.c;else{let l=noise(3e4+o.p.x*cN,3e4+o.p.y*cN)*co.length*2+e,t=color(co[floor(l)%co.length]),c=color(co[floor(l+1)%co.length]);(n=lerpColor(t,c,l%1)).setAlpha(aL)}colorMode(HSL,360,100,100,1);let t,c=o.lR;if("Variation"!=rM&&"Alternate Variation"!=rM||(t=noise(4e4+o.p.x*t,4e4+o.p.y*t)<.5+map(R(),0,1,-.15,.15)),"Variation"==rM?c=t:"Alternate Variation"==rM&&t&&(c=!c),c){if(dist(o.lRP.x,o.lRP.y,o.p.x,o.p.y)<lRL)return!1;if(o.lRC++,o.lRC%2!=0)return o.lRP.x=o.p.x,o.lRP.y=o.p.y,!1}let r=xOM*S*A[0],s=yOM*S*A[1],i=[],a=[];("None"==rT||"Horizontal"==rT&&o.p.x+r>0||"Vertical"==rT&&o.p.y+s>0||"Both"==rT&&o.p.x+r>0&&o.p.y+s>0)&&(c&&o.lRP.x?i.push({px:o.lRP.x+r,py:o.lRP.y+s,x:o.p.x+r,y:o.p.y+s}):c||a.push({x:o.p.x+r,y:o.p.y+s,r:sM})),("Horizontal"==rT&&o.p.x+r>0||"Both"==rT&&o.p.x+r>0&&o.p.y+s>0)&&(c&&o.lRP.x?i.push({px:-(o.lRP.x+r),py:o.lRP.y+s,x:-(o.p.x+r),y:o.p.y+s}):c||a.push({x:-(o.p.x+r),y:o.p.y+s,r:sM})),"Both"==rT&&o.p.x+r>0&&o.p.y+s>0&&(c&&o.lRP.x?i.push({px:o.lRP.x+r,py:-(o.lRP.y+s),x:o.p.x+r,y:-(o.p.y+s)}):c||a.push({x:o.p.x+r,y:-(o.p.y+s),r:sM}),c&&o.lRP.x?i.push({px:-(o.lRP.x+r),py:-(o.lRP.y+s),x:-(o.p.x+r),y:-(o.p.y+s)}):c||a.push({x:-(o.p.x+r),y:-(o.p.y+s),r:sM}));for(let e of i){if("Echo"==di){let l=cV(e.px,e.py);l.setMag(l.mag()*map(noise(e.px/200,e.py/200,5e4),0,1,.5,2)),e.px=l.x,e.py=l.y;let o=cV(e.x,e.y);o.setMag(o.mag()*map(noise(e.x/200,e.y/200,5e4),0,1,.5,2)),e.x=o.x,e.y=o.y}else if("Singularity"==di){let l=cV(e.px,e.py),o=l.heading()+PI/2;l.setMag(l.mag()*map(sin(2*o),-1,1,0,3)),e.px=l.x,e.py=l.y;let n=cV(e.x,e.y),t=n.heading()+PI/2;n.setMag(n.mag()*map(sin(2*t),-1,1,0,3)),e.x=n.x,e.y=n.y}else if("Spin"==di){let l=cV(e.px,e.py),o=2*TWO_PI*pow(max(0,l.mag()/S-.25),2.5);l.rotate(o),e.px=l.x,e.py=l.y;let n=cV(e.x,e.y),t=2*TWO_PI*pow(max(0,n.mag()/S-.25),2.5);n.rotate(t),e.x=n.x,e.y=n.y}let o=!rC.length&&!cC.length;for(let n=0;n<rC.length;n++)if(void 0===l||l==n){let l=rC[n];(o||e.x>l.x1&&e.x<l.x2&&e.y>l.y1&&e.y<l.y2&&e.px>l.x1&&e.px<l.x2&&e.py>l.y1&&e.py<l.y2)&&(o=!0)}for(let n=0;n<cC.length;n++)if(null==l||l==n){let l=cC[n];(o||dist(e.x,e.y,l.x,l.y)<l.r&&dist(e.px,e.py,l.x,l.y)<l.r)&&(o=!0)}o&&(stroke(n),sW(.25*sM*M),line(e.px*M,e.py*M,e.x*M,e.y*M))}for(let e of a){if("Echo"==di){let l=cV(e.x,e.y);l.setMag(l.mag()*map(noise(e.x/200,e.y/200,5e4),0,1,.5,2)),e.x=l.x,e.y=l.y}else if("Singularity"==di){let l=cV(e.x,e.y),o=l.heading()+PI/2;l.setMag(l.mag()*map(sin(2*o),-1,1,0,3)),e.x=l.x,e.y=l.y}else if("Spin"==di){let l=cV(e.x,e.y),o=2*TWO_PI*pow(max(0,l.mag()/S-.25),2.5);l.rotate(o),e.x=l.x,e.y=l.y}let t=!rC.length&&!cC.length;for(let o=0;o<rC.length;o++)if(void 0===l||l==o){let l=rC[o];(t||e.x>l.x1&&e.x<l.x2&&e.y>l.y1&&e.y<l.y2)&&(t=!0)}for(let o=0;o<cC.length;o++)if(null==l||l==e){let l=cC[o];(t||dist(e.x,e.y,l.x,l.y)<l.r)&&(t=!0)}t&&(noStroke(),fill(n),circle(e.x*M,e.y*M,e.r*M)),o.lR&&(o.lRP.x=o.p.x,o.lRP.y=o.p.y)}}}}function ciP(e,l,o,n){let t=l*S;for(var c=n;c>0;){for(var r={x:R(-S/2,S/2)*A[0],y:R(-S/2,S/2)*A[1],r:t},s=!0,i=0;i<cC.length;i++){var a=cC[i];if(dist(r.x,r.y,a.x,a.y)<r.r+a.r+o*S){s=!1;break}}s&&cC.push(r),0===--c&&t>e*S&&(t-=1,c=n)}}function sd(e,l,o,n,t){if(0==e)noFill(),rC.push({x1:l+15,y1:o+15,x2:l+n-15,y2:o+t-15});else{let c=R(.25,.75),r=R()>.5;n/t>4&&(r=!1),t/n>4&&(r=!0),r?(sd(e-1,l,o,n,t*c),sd(e-1,l,o+t*c,n,t*(1-c))):(sd(e-1,l,o,n*c,t),sd(e-1,l+n*c,o,n*(1-c),t))}}function sMND(){1==mNL?(nD(3,.01),mNML=.5):2==mNL?(nD(3,.05),mNML=.52):3==mNL?(nD(3,.075),mNML=.535):4==mNL?(nD(3,.1),mNML=.55):5==mNL&&(nD(3,.15),mNML=.585)}function rND(){nD(4,.5)}function WR(e,l){let o;for(o=0;o<l.length;o++)l[o]+=l[o-1]||0;let n=R()*l[l.length-1];for(o=0;o<l.length&&!(l[o]>n);o++);return e[o]}function lCol(){cO=[{n:"Amsterdam",c:[[242,41,35],[278,55,41],[328,40,45],[10,62,60],[40,65,62]],cS:"Yes",t:"l"},{n:"Apple",c:[[6,75,50],[92,40,50],[8,66,65],[69,52,65],[207,5,50]],t:"l"},{n:"Atlas",c:[[120,25,38],[105,32,50],[29,40,46],[33,31,60],[195,22,65],[200,59,58]],t:"l"},{n:"Autumn",c:[[16,90,20],[40,91,67],[30,83,32],[33,22,75],[29,19,44]],cS:"Yes",t:"l"},{n:"Beachball",c:[[201,51,60],[205,93,40],[203,40,26],[40,90,55],[21,90,50]],t:"l"},{n:"Blossom",c:[[342,66,54],[358,54,64],[14,24,79],[180,11,78],[192,46,59]],mS:20,cS:"Yes",t:"l"},{n:"Blueberry",c:[[342,66,54],[358,54,64],[14,24,79],[180,11,78],[192,46,59]]},{n:"Burst",c:[[178,87,37],[159,35,70],[35,95,67],[18,100,46],[0,54,38]],cS:"Yes",t:"l"},{n:"Chalk",c:[[0,0,100],[0,0,55],[0,0,85],[0,0,70]]},{n:"Charcoal",c:[[0,0,15],[0,0,65],[0,0,0],[0,0,40]],t:"l"},{n:"Copper",c:[[200,58,20],[124,8,63],[185,44,28],[166,14,75],[27,24,53],[48,35,80]],cS:"Yes"},{n:"Dusk",c:[[42,76,67],[27,72,57],[7,69,47],[248,18,43],[219,25,70]],cS:"Yes"},{n:"Earth",c:[[120,25,35],[105,32,50],[29,40,49],[33,31,60],[195,22,63],[200,59,61]]},{n:"Embers",c:[[0,0,0],[0,0,29],[0,0,77],[34,100,50],[16,100,50]],t:"l"},{n:"Ignis",c:[[15,100,19],[10,100,28],[15,100,38],[40,88,52],[55,88,72]]},{n:"Iris",c:[[150,38,85],[194,44,58],[270,69,80],[243,63,77],[244,45,43]],mS:20,cS:"Yes",t:"l"},{n:"Mint",c:[[189,53,77],[178,40,48],[200,46,83],[183,50,34]]},{n:"Monarch",c:[[16,90,20],[40,91,67],[30,83,32],[33,22,75],[29,19,44]]},{n:"Mulan",c:[[0,70,45],[0,0,100],[5,70,50],[0,0,95]],mS:12,cS:"No"},{n:"Ore",c:[[15,8,90],[180,6,36],[25,38,78],[186,13,53],[38,78,66]]},{n:"Pacific",c:[[198,63,38],[209,53,21],[202,78,49],[199,80,29],[186,28,68]],cS:"Yes",t:"l"},{n:"Pistachio",c:[[180,8,51],[150,31,49],[110,40,63],[80,47,53],[73,57,38]],mS:25,t:"l"},{n:"Surf",c:[[210,95,25],[200,85,40],[190,75,45],[185,65,65],[180,55,85]]},{n:"Tino",c:[[0,60,40],[180,10,0],[5,55,45],[180,10,5]],mS:12,cS:"No",t:"l"},{n:"Tron",c:[[20,90,55],[34,100,71],[0,0,100],[176,42,67],[174,62,47]]},{n:"Ultraviolet",c:[[230,83,85],[224,75,63],[270,94,80],[243,88,72]]},{n:"Viridis",c:[[87,55,30],[85,65,45],[206,15,10],[85,30,25],[205,5,38]],t:"l"}]}</script> </body></html>P5JS
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"/> <title>Astratta | Jos Vromans</title> <meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"> <style>body{width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style> </head> <body> <canvas id="main"></canvas> <script type="text/javascript">// License: CC BY-NC 4.0 www.josvromans.comC=document.getElementById('main');S=parseInt("{{hash}}".slice(0,16),16);E=()=>{S^=S<<13;S^=S>>17;S^=S<<5;return((S<0?~S+1:S)%999)/999;}rb=(a,b)=>a+(b-a)*E();K=(a,b)=>Math.floor(rb(a,b+1));O=(x)=>x[Math.floor(rb(0,x.length*0.99))];W=window;A=W.requestAnimationFrame;g=(i,a,b)=>{let l=[];for(j=0;j<i;j++){let m=[];for(n=0;n<3;n++){m.push(a[n]-((a[n]-b[n])/i)*j)}l.push('rgb('+m.join(',')+')');}return l;}q=(cs,ci)=>{let l=[];for(let j=0;j<cs.length;j++){l=l.concat(g(ci,cs[j],cs[(j+1)%cs.length]))}return l;}nu=[0,0,0];B="#000";V="#fff";P=[ [[B,B,B,B,"#d13366","#f7980c","#3f3ddc","#03b1c5","#91ce33","#8e485b","#17bb76","#3a0a24","#927a0f","#349bec"],[0,0,0,0,0,1,2]], [['#99cccc','#ccffff','#ccffcc','#ccccff','#9999cc','#99cccc','#ccffff','#ccffcc','#ccccff','#9999cc','blue',B,B,B,B,B,B,B,'orange'],[0,0,0,0,0,1,1,1,2]], [[B,B,B,B,"#3ffeec","#0e84a4","#97a5e7","#a25b35","#5d9c6a","#d5e81a","#8c5df5","#ea9cd1","#8b3226","#d27405"],[0,0,0,0,0,1,1,2,2,2,3]], [['#ffe686','#d90000','#c42b00','#a43300','#7c2600',B,B,B,V],[0,0,0,0,1,1,2]], [[B,B,B,B,"#344a82","#9eebce","#0d42d9","#185aa9","#1f1da8","#786586","#37ccb3","#4bc497","#9b5d31","#2b70ab"],[0,0,0,0,0,1,1,2]], [['#c21','#fff','#f80','#026',B,'#888',B,'#a22',B,'#aa0','#00c'],[0,0,1]], [q([[180,0,0],[211,211,250],nu],50).concat(B,B,B,B,B),[0,0,0,1,3]], [q([[255,0,0],nu,[200,200,0],[0,0,160],nu,[255,255,255],[255,155,0]],4),[0,0,0,1,1,2]], [['#334',V,'#222','#abc',B],[0,0,0,0,0,0,0,0,1]], [q([[255,80,120],[240,255,170],nu],4),[0,0,0,0,0,0,0,1,2,3]], [['#eff673','#f57b7b','#a7f687','#f6bd74','#6dbaf5','#008',B],[0]], [['#e7c7db','#8f5b7d','#b34b77','#d88b5e','#e2a68b', '#004'],[0]], [['#253736','#f29952','#609c8b','#f5dd91','#f5e7cb','#547d86','#711'],[0]], [['#d5cdbc','#c2b1a0','#ecbe4e','#eba84a','#d49040','#8b583d','#fe5e70','#fb836b','#fa9967','#ecc8b3','#e9ddca','#e86f58',B,B,B,B,B,B,],[0]], [['#dd722a','#0c204a','#b5371b','#9ed3ec','#e4a832'],[0]], // autumn, index 14 [['red','#00a','#ec0', 'white', 'orange'],[0]], [['#534e4d','#2d7795','#e11a54','#e9910e','#b18b73',V,V,B,B,B],[0]],];CI=K(0,P.length-1.6);Q=P[CI][0];cl=Q.length;fc=O(P[CI][1]);L='Black';F=[['#fff','White'],['#000',L],['#ddb','Beige'],['pink','Pink']];s=Math.min(W.innerWidth,W.innerHeight);s2=s/2;pR=W.devicePixelRatio;C.width=~~(s*pR);C.height=~~(s*pR);C.style.width=`${s}px`;C.style.height=`${s}px`;X=C.getContext('2d');X.save()X.scale(pR,pR);bg=O([0,1]);C.style.backgroundColor=F[bg][0];X.lineWidth=s/2600;R=(a,b,c,d)=>X.fillRect(a,b,c,d);b1=s/180;b2=s/100;N=O([100,100,150,150,200,200,300,300,400,500,500,500,500,600,600,700]);if (CI===5&N>400){N=300}I=O([100,200,250]);H=0.002;let zo=O([0.25,0.5,1,1,1,1,1,1,2]);if(N===100&zo===2){zo=1.3}let ftc=[1,1,1,3,4,5,6];for(let j=0;j<40;j++){ftc.push(0)}let U=O(ftc);X.fillStyle=F[fc][0];D='No';if (N===100){D=L}else if (N<500&E()<.7){D=L}if (D===L&E()<.3&(CI===4||CI===13)){D='White'}if (CI>14&N<500){D='Black'}W.METADATA={"Color Palette":['Joy','Yue','Yota','Fire','Dalu','Layla','Soft Red','Prime','Dark','Sweet','Amira','Purple','Imran','Skin','Autumn','Emir','Jasin'][CI], "Curve Count":N, "Zoom Factor":zo, "Frame Style":{0:'Single',1:'Split',3:'Triple',4:'Split 1-2',5:'Split 2-1',6:'Bottom Trio'}[U], "Frame Color":F[fc][1], "Iterations":I, "Background Color":F[bg][1], "Outline":D,}console.log(W.METADATA);function G(){let fw=s/20; let fw2=fw/2; R(0,0,s,fw); R(0,s-fw,s,fw); R(0,0,fw,s); R(s-fw,0,fw,s); let im=fw/2; let im2=im/2; if (U===1){R(s2-im2,0,im,s);}else if(U===3){R(s/3-im2,0,im,s);R(s/3*2-im2,0,im,s);}else if(U===4){R(s2-im2,0,im,s);R(s2,s2-im2,s2,im);}else if(U===5){R(s2-im2,0,im,s);R(0,s2-im2,s2,im);}else if(U===6){R(0,s2-im2,s,im);let aw=(s-2*fw-2*im)/3;R(fw+aw,s2,im,s2);R(s2+aw/2,s2,im,s2);}}aa=-zo*s;bb=s*(1+zo);Y=[];for (let j=0;j<N;j++){Y.push([K(aa,bb),K(aa,bb)]);}let ii=0;T=()=>{for (let i=0;i<Y.length;i++){let a=Y[i]; let b=Y[(i + 1)%Y.length]; X.strokeStyle=Q[i%cl]; if (D!='No'&&ii>I-3){H=0.0006;X.strokeStyle=D==='White'?V:B;}X.beginPath(); X.moveTo(...a); let p1=(a[1]+b1); let p2=(a[0]+b2); X.bezierCurveTo(a[0],p1,b[0],p2,b[0],b[1]); X.stroke();}let Z=[]; for (let j=0;j<Y.length;j++){let a=Y[j]; let b=Y[(j+1)%Y.length]; Z.push([a[0]+H*(b[0]-a[0]),a[1]+H*(b[1]-a[1])]);}Y=Z; ii++; if(ii<I){A(T);}else{X.filter='blur('+parseInt(s/150)+'px)';G();X.filter='none';G();window.onImageRendered && window.onImageRendered();}}A(T); </script> </body></html>VanillaJS
<!DOCTYPE html><html> <head> <title>Cirque de lumières</title> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/> <meta charset=utf-8> </head> <body> </body> <script language="javascript" src="https://npmcdn.com/regl@2.1.0/dist/regl.min.js"></script> <script>const seed="{{hash}}";window.METADATA=art(createREGL({attributes:{powerPreference:"high-performance"}}),seedAsArray(seed),window.onImageRendered).metadata;function seedAsArray(s){s.startsWith("0x")&&(s=s.slice(2));const t=[];for(let e=0;e<s.length;e+=2)t.push(parseInt(s.slice(e,e+2),16));return t}function art(t,o,e){const a=RNG(o),f=a()<.05,i=Math.ceil(3-f*(1+a()));let n=Array(i).fill(.5);const p=3-i;if(p>0){for(let t=0;t<p;t++)n.push(0);n=n.map(t=>[t,a()]).sort((t,o)=>t[1]-o[1]).map(t=>t[0]*(1+a()))}const s=[.3+.5*a()*(.5-a()),.4+.5*a()*a()*a(),.5+.5*a()*(.5-a())];let r,l="";a()<.2?(r="0.5",l="Dark"):a()<.4?(n[2]=.75,r="0.4,0.5,0.6",l="Cold"):(n[0]=.6,r="0.7,0.5,0.45",l="Hot");const c=`vec3(${n.map(t=>t.toFixed(1).toUpperCase()).join(",")})`;if(f){l=`#${n.map(t=>Math.round(15*t).toString(16).toUpperCase()).join("")}`}let v=Math.max(0,1.3*a()*a()-.1);const x=.01+6*a()*a(),h=.5+8*Math.pow(a()*a(),2),u=a(),m=a(),d=a(),$=a(),b=(.12+2*$).toFixed(3),F=.05+.18*a(),y=a()<.2,g=a()<.8,M=(1+50*a()).toFixed(3),z=(.05+.15*a()).toFixed(3),w=.03*a(),T=a();let P=0,R=0,j=0,H=0;const C=[];function I(){const t=(.5*a()*a()).toFixed(3),o=(.5*a()*a()).toFixed(3),e=(6.3*a()).toFixed(3);return`tr(p,${a()<.8?t:`${t}+${(.2*(a()-.5)).toFixed(3)}*sin(t${Math.ceil(3*a())})`},${a()<.8?o:`${o}+${(.2*(a()-.5)).toFixed(3)}*cos(t${Math.ceil(3*a())})`},${a()<.9?e:`${e}+t${Math.ceil(3*a())}`})`}let N=Math.floor(20+30*a());for(let t=0;t<N;t++){const t=a();if(t<.03)C.push({tr:"o"});else if(t<.1)P++,C.push({op:`pmp(p,${Math.ceil(2+40*a()*a()*a()).toFixed(1)})`});else if(t<.15)R++,C.push({op:`pmm1(p.x,${(.2+a()).toFixed(3)})`});else if(t<.2)R++,C.push({op:`pmm1(p.y,${(.2+a()).toFixed(3)})`});else if(t<.24)j++,C.push({tr:I(),shape:`sf(p,${Math.ceil(2+100*a()*a())}.,${(.02*a()*a()).toFixed(3)},${a().toFixed(3)},${(2*a()).toFixed(3)})`});else{H++,a()<.5&&C.push({tr:"pres"});const t=`vec2(${(.02+.3*a()*a()*a()).toFixed(3)},${(.02+.05*a()+.2*a()*a()).toFixed(3)})`;C.push({tr:I(),shape:`box(p,${t})`})}}y&&a()<.4&&C.push({shape:`box(o,vec2(.02,${(3*a()).toFixed(2)}))`}),y&&a()<.4&&C.push({shape:`box(o,vec2(${(3*a()).toFixed(2)},.02))`}),(y||g)&&H<30&&(v=Math.max(.4,2*v)),C.unshift({shape:`.3+length(p)-${v.toFixed(3)}*fbm9(${x.toFixed(3)}*p+80.*s3+${h.toFixed(3)}*fbm(vec2(fbm(${x.toFixed(3)}*p+80.*s1),fbm(2.*p+80.*s2))))+${w.toFixed(3)}*cos(3.*T)`});const S=1+2*a()*Math.min(1,(j+H)/50);const U=` precision highp float;varying vec2 uv;uniform vec2 R;uniform float T; #define PI ${Math.PI} const float s1=${u.toFixed(4)},s2=${m.toFixed(4)},s3=${d.toFixed(4)}; float vmax(vec2 v){return max(v.x,v.y);} float box(vec2 p,vec2 b){vec2 d=abs(p)-b;return length(max(d,vec2(0.)))+vmax(min(d,vec2(0.)));} float U(float a,float b,float r){vec2 u=max(vec2(r-a,r-b),vec2(0.));return max(r,min(a,b))-length(u);} float hash(float p){p=fract(p*.1031);p*=p+33.33;p*=p+p;return fract(p);} float hash(vec2 p){vec3 p3=fract(vec3(p.xyx)*.1031);p3+=dot(p3,p3.yzx+33.33);return fract((p3.x+p3.y)*p3.z);} float noise(float x){float i=floor(x);float f=fract(x);float u=f*f*(3.-2.*f);return mix(hash(i),hash(i+1.),u);} float noise(vec2 x){vec2 i=floor(x);vec2 f=fract(x);float a=hash(i);float b=hash(i+vec2(1.,0.));float c=hash(i+vec2(0.,1.));float d=hash(i+vec2(1.));vec2 u=f*f*(3.-2.*f);return mix(a,b,u.x)+(c-a)*u.y*(1.-u.x)+(d-b)*u.x*u.y;}const mat2 m2=mat2(.6,.8,-.8,.6); float fbm(vec2 x){float f=2.;float s=.55;float a=0.;float b=.5;for(int i=0;i<5;i++){float n=noise(x);a+=b*n;b*=s;x=f*x;}return a;} float fbm9(vec2 x){float f=2.;float s=.55;float a=0.;float b=.5;for(int i=0;i<9;i++){float n=noise(x);a+=b*n;b*=s;x=f*x;}return a;} vec3 palette(float t,vec3 a,vec3 b,vec3 c,vec3 d){return a+b*cos(6.28318*(c*t+d));} vec3 pal(float t){return palette(t,${c},vec3(${s.map(t=>t.toFixed(2)).join(",")}),vec3(1.),vec3(${r}));} float pmi1(inout float p,float size,float start,float stop){float halfsize=size/2.;float c=floor((p+halfsize)/size);p=mod(p+halfsize,size)-halfsize;if(c>stop){p+=size*(c-stop);c=stop;}if(c<start){p+=size*(c - start);c=start;}return c;} vec2 tr(vec2 p,float dx,float dy,float a){p.x+=dx;p.y+=dy;return cos(a)*p + sin(a)*vec2(p.y,-p.x);} float sf(vec2 p,float s,float lw,float w,float h){s-=1.;p.y+=h/2.;pmi1(p.y,h/s,0.,s);return box(p,vec2(w/2.,lw/2.));} float pmm1(inout float p,float s){float halfs=s/2.;float c=floor((p+halfs)/s);p=mod(p+halfs,s)-halfs;p*=mod(c,2.)*2.-1.;return c;} float pmp(inout vec2 p,float rep){float an=2.*PI/rep;float a=atan(p.y,p.x)+an/2.;float r=length(p);float c=floor(a/an);a=mod(a,an)-an/2.;p=vec2(cos(a),sin(a))*r;if(abs(c)>=rep/2.)c=abs(c);return c;} vec3 scene(vec2 p){ vec2 q=vec2(fbm(30.*p),fbm(8.*p+vec2(6.6,-.1*T))); vec2 r=vec2(fbm(100.*q),fbm(88.*s1+p+${M}*(q+vec2(0.04*T)))); float v=fbm(${(.05+a()*a()).toFixed(3)}*p+${z}*r+s2); float t1=.4*T;float t2=t1/2.;float t3=t2/2.; p*=${S.toFixed(3)}; vec2 o=p;${y?"p.y=abs(p.y);":""}${g?"p.x=abs(p.x);":""}vec2 pres=p; float k=${F.toFixed(3)}; float s=99.;${C.flatMap(t=>{const o=[];return t.op&&o.push(`${t.op};`),t.tr&&o.push(`p=${t.tr};`),t.shape&&o.push(`s=U(s,${t.shape},k);`),o}).join(" ")} s=max(s,-${b}-s); s+=${(.1*(1-T)).toFixed(3)}; float d=smoothstep(0.,.2,s); v=mix(v,.5,smoothstep(.01,0.,s)); v-=.5*pow(d,.05+.5*abs(uv.y-.5)); return pal(v)+smoothstep(.0,-.2,s);} void main(){gl_FragColor=vec4(scene((uv-0.5)*R/min(R.x,R.y)),1.);}`,k=t({frag:U,vert:"precision mediump float;attribute vec2 p;varying vec2 uv;void main(){uv=p;gl_Position=vec4(2.*p-1.,0,1);}",attributes:{p:[-2,0,0,-2,2,2]},uniforms:{T:t.prop("T"),R:({viewportWidth:t,viewportHeight:o})=>[t,o]},count:3});let q=e;return t.frame(({time:t})=>{k({T:t}),q&&(q(),q=null)}),{destroy:()=>t.destroy(),metadata:{Palette:l,Symmetry:y&&g?"Both":y?"Vertical":g?"Horizontal":"None","Polar Ops":P,"Mirror Ops":R,"Stripe Primitives":j,"Rectangle Primitives":H,"Blob Factor":(A=Math.max(0,h*(v-.2)),Math.floor(100*A)/100),"Laser Intensity":T<.5?"Low":T<.8?"Medium":T<.9?"High":"Very High",Border:$<.2?$<.1?"Small":"Large":"None"}};var A}function RNG(t){null==t&&(t=(new Date).getTime());let o=624,e=397,a=2567483615,f=2147483648,i=2147483647,n=new Array(o),p=o+1;function s(t){for(n[0]=t>>>0,p=1;p<o;p++){let t=n[p-1]^n[p-1]>>>30;n[p]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+p,n[p]>>>=0}}return"object"==typeof t?function(t,e){var a,f,i;for(s(19650218),a=1,f=0,i=o>e?o:e;i;i--){var p=n[a-1]^n[a-1]>>>30;n[a]=(n[a]^(1664525*((4294901760&p)>>>16)<<16)+1664525*(65535&p))+t[f]+f,n[a]>>>=0,f++,++a>=o&&(n[0]=n[o-1],a=1),f>=e&&(f=0)}for(i=o-1;i;i--){var p=n[a-1]^n[a-1]>>>30;n[a]=(n[a]^(1566083941*((4294901760&p)>>>16)<<16)+1566083941*(65535&p))-a,n[a]>>>=0,++a>=o&&(n[0]=n[o-1],a=1)}n[0]=2147483648}(t,t.length):s(t),()=>(function(){var t,r=new Array(0,a);if(p>=o){var l;for(p==o+1&&s(5489),l=0;l<o-e;l++)t=n[l]&f|n[l+1]&i,n[l]=n[l+e]^t>>>1^r[1&t];for(;l<o-1;l++)t=n[l]&f|n[l+1]&i,n[l]=n[l+(e-o)]^t>>>1^r[1&t];t=n[o-1]&f|n[0]&i,n[o-1]=n[e-1]^t>>>1^r[1&t],p=0}return t=n[p++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,(t^=t>>>18)>>>0})()*(1/4294967296)}</script></html>webGL
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Valuma</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>const hash="{{hash}}"; let objects,crl=[["#444444","#222222","#333333","#555555","#888888","#777777","#00ACC1","#CCCCCC"],["#00B5F1","#00BFFF","#1BC5FF","#38CDFF","#55D3FF","#00B5F1","#00BFFF","#1BC5FF"],["#540AFF","#4408CF","#34069E","#24046E","#14023D","#330AFF","#1A0582","#482BB3"],["#0B039E","#0E04CF","#042DCF","#02186E","#010D3D","#1745FF","#354FB8","#141E45"],["#B300FF","#9100CF","#6F009E","#4D006E","#2B003D","#5D0ECC","#49198C","#1C0A36"],["#00D1ED","#00A9BF","#008394","#005A66","#00171A","#2C3436","#DDEDFD","#008DDE"],["#CDB1FA","#D9C5F9","#6DC6FB","#6DFBD3","#B1DBED","#9F69F5","#AE81F7","#FBA26D"],["#cBc0ce","#47B7EE","#ee70da","#5ce3c3","#7b407e","#a9ecdc","#E59C2C","#8be2f2"],["#f74ad1","#f75174","#4af7ec","#826bff","#cb82ff","#ffe682","#f75e4a","#ff82b6"],["#0A0A0A","#161C26","#CED2D9","#FBECE1","#0A0A0A","#161C26","#FC7203","#CED2D9"],["#75CDE1","#020303","#FBFEFF","#9D3AE1","#E13A52","#75CDE1","#6d289d","#3abbe1"],["#10A0BF","#4974a5","#CE1836","#F85931","#3FB9F9","#F85931","#31D0F8","#EDB92E"],["#5C7079","#7D8D9D","#94C7A8","#F9645D","#F8E9CC","#5C7079","#F8E9CC","#94C7A8"],["#1F1F1F","#363636","#E8175D","#474747","#A10A3C","#A8A7A7","#CC527A","#E8175D"],["#26251C","#A0E8B7","#EB0A44","#F2643D","#F2A73D","#26251C","#EB0A44","#F2643D"],["#EFEECC","#0AABBA","#FE0557","#400403","#0AABBA","#EFEECC","#FE8B05","#FE0557"],["#979D9A","#030D4F","#FB0C06","#CEECEF","#E7EDEA","#FFC52C","#FB0C06","#FFC52C"],["#9DBCBC","#A0C0CF","#FF370F","#332717","#6BACBF","#9DBCBC","#F0F0AF","#FF370F"],["#E4DED0","#ABCCBD","#7DBEB8","#181619","#E32F21","#E4DED0","#ABCCBD","#7DBEB8"],["#1f1f1f","#02F7E3","#ff0318","#ff2d03","#ff6c03","#ffab03","#473936","#02B2F2"],["#3D0702","#CF1908","#9E1306","#6E0D04","#EB1C09","#AD2D21","#D92B2B","#8A1106"],["#1E1F1D","#35323D","#3A3647","#DBD1FF","#FF6303","#87F4FF","#383838","#3A3647"]],crl2=[["#444444","#222222","#333333","#555555","#888888","#777777","#111111","#ACACAC"],["#101010","#202020","#444444","#BBBBBB","#EFEFEF","#353535","#FAFAFA","#ABABAB"],["#D4D4D4","#0A0A0A","#1F1F1F","#FAFAFA","#404040","#353535","#F0F0F0","#0F0F0F"],["#0B0B0B","#EFEFEF","#333333","#F2F2F2","#4E4E4E","#E5E5E5","#040404","#5F5F5F"]],crlnames=["Grayscale+","LightBlue","UltraViolet","UltraBlue","Purple Haze","Cyanic","Toy Store","80s","Broken Rainbow","Gray&Orange","CPR Combo","Santa Cruz","Muted Channel","Gray&Red","Lava Lamp","Hot&Cold","Emblem","Cloudy Lava","CyanRed","Splash Wave","Deep Red","GrayOrchid"],crlnames2=["Grayscale","Grayscale 2","Grayscale 3","Grayscale 4"];window.METADATA={};let sT=[],Vlist=[],Vlist2=[],Flist=[],sL=[[0,1,2,3,4,6,5,7],[1,3,5,7,6,4,2],[3,4,7,1,0,2,6,5],[6,5,7,4,1,0,3,3,6],[2,3,7,0,1,7,4,5,6],[2,3,0,7,2,4,5,6,5,7,4,1,0,2],[4,1,2,7,5,6,1,3]];class Random{constructor(i){this.s=i}d(){return this.s^=this.s<<13,this.s^=this.s>>17,this.s^=this.s<<5,(this.s<0?1+~this.s:this.s)%1e3/1e3}n(i,l){return i+(l-i)*this.d()}i(i,l){return Math.floor(this.n(i,l+1))}}let D_S=2e3,W2=Math.round(window.innerHeight/1.41414141414),H2=window.innerHeight,W=Math.round(1685.8285714302574),H=2384,DIM=Math.min(W,H),DIM2=Math.min(W2,H2),M=DIM/D_S,M2=DIM2/DIM,seed=parseInt(hash.slice(0,16),16),R=new Random(seed);for(let i=0;i<1e5;i++){R.n()}let r=R.n(0,255),g=R.n(0,255),b=R.n(0,255),B=R.n(4,15),rE=R.i(0,9),aM=R.i(0,9),bgdrop=R.i(1,14),bgcol=R.i(1,10),cS=R.i(0,14),bW=R.i(0,1),eL=R.i(0,4),dD=R.n(1.2,2.5),crllength=crl.length,vs=R.i(0,crllength-1),crl2length=crl2.length,vs2=R.i(0,crl2length-1),mC=R.i(0,29),P=crl[vs],P2=crl2[vs2],sLL=sL.length,sS=R.i(0,sLL-1),sR=R.i(0,1),sV=sL[sS],sq=sV.length,sC=0,cW=R.n(0,6),cH=R.n(0,6),num=R.i(850,2400),tS=R.i(0,10),xI=R.i(0,14),sPy=R.i(0,60),mpI=R.i(0,9),cA=R.n(0,2),mI=R.i(700,1420),mB=R.i(20,300),nG=R.i(0,4),pL=R.i(0,199),lR=0,bL=R.i(20,200),rR=1,mR=R.i(2,5),sM=1,nm=R.n(0,4),particles=[num],lC=0,lE=0,nC=R.i(1,6),nR=R.i(1,6),check=0,fR=0,aG=R.i(0,5),aD=R.i(0,6),aD2=R.i(0,6),sinbg=R.i(0,11),lA=R.i(0,4),rS=R.i(0,6),sG=R.i(0,14);const zsp=2;let wb=R.i(0,2),bgrad=R.i(0,15),tW=R.n(1.1,1.4),tusl=R.n(3,5),jJ=R.i(0,14),noSlide=R.i(0,19),randBoxy=R.i(0,14);function setup(){let i=hour(),l=minute(),t=second();sT.push(i),sT.push(l),sT.push(t),print("render started at "+i+":"+l+":"+t),smooth(),createCanvas(W2,H2),ff=createGraphics(W,H),noStroke(),print(num*mI*mR+" objects");for(let i=0;i<num;i++){let l=createVector(R.n(W/15,W-W/15),R.n(H/20,H-H/20),2),t=0,e=createVector(cos(t),sin(t)),o=R.n(1.8,3);tS<=1&&(o=R.n(1.5,2)),sPy<=1?o=R.n(2.5,8):2==sPy&&(sM=4),particles[i]=new Particle(l,e,o)}ff.noStroke(),fill(0);let e=R.i(0,1);P<9&&(e=R.i(0,5));let o=R.i(0,1),s=color(P[e]),n=color(P[o]),c=R.n(.7,.9),a=R.n(.3,.5),h=color(0,0,0);bgcol<=3&&(h=color(255,255,255)),window.METADATA.Background=0==pL?"Plotter Light":pL<=5?"Plotter Dark":pL<=7?"Grayscale Dark":pL<=9?"Grayscale Light":bgcol<=3?"Light":"Dark",window.METADATA.Layers=mR.toString(),window.METADATA["Angle/speed mixer"]=aM<=5?"Mixer 1":aM<=7?"Mixer 2":"Mixer 3",window.METADATA["Number of particles"]=num<900?"Less":num<1800?"More":"Even More",window.METADATA["Iteration per layer"]=mI<800?"Low":mI<1600?"Medium":"High",window.METADATA["Particle spawn"]=rS<=3?"Enabled":"Disabled",window.METADATA["Stroke weight"]=cA<=1?B<5?"Small":B<15?"Medium":"Large":B+cW+cH<20?"Medium":B+cW+cH<30?"Large":"XtraLarge",window.METADATA["Top layer tint"]=mR>2&&mI<800&&1==wb?1==bW?"Darken":"Lighten":"None",window.METADATA["Stroke coloring"]=0==noSlide&&cA>1&&tS<=1||0==noSlide&&cA<=1?"Solid":"Sliding",window.METADATA["Stroke type"]=0==randBoxy?"Fuzzy":"Solid";let f=lerpColor(s,h,c),A=lerpColor(n,h,a),F=lerpColor(s,h,a);if(0==pL||8==pL||9==pL?(f=color(R.i(120,230)),A=color(R.i(140,250))):pL<=7&&(f=color(R.i(15,110)),A=color(R.i(5,50))),noStroke(),fill(f),rect(0,0,W2,H2),fill(A),bgdrop>2&&bgrad>2)for(let i=0;i<H2-H2/10;i++){let l=lerpColor(A,F,i/(H2-H2/10));fill(l),rect(W2/15,i+H2/20,W2-W2/7.5,1)}else bgdrop>2&&rect(W2/15,H2/20,W2-W2/7.5,H2-H2/10);window.METADATA["Background box"]=bgdrop>2&&bgrad>2&&e!=o?"Gradient":bgdrop>2?"Solid":"Absent";for(let i=0;i<nC;i++)for(let l=0;l<nR;l++){let t=R.i(0,255),e=R.i(0,255),o=R.i(0,255);R.i(0,255),R.i(0,255),R.i(0,255);ff.fill(e,t,o),ff.rect(i*(W/nC),l*(H/nR),W/nC,H/nR)}if(0==nG){Flist.push("Gradient");for(let i=0;i<H;i++){let l=color(r,b,g),t=color(b/2,g/2,r/2),e=lerpColor(l,t,i/H/4);ff.fill(e),ff.rect(W/2-W/nC,i,W/nC*2,1)}}if(0==jJ){Flist.push("Nested rectangles");for(let i=1;i<nC*nR;i++)r4=R.i(0,255),g4=R.i(0,255),b4=R.i(0,255),ff.rectMode(CENTER),ff.fill(r4,g4,b4),ff.rect(W/2,H/2,W-W/20*i,H-H/20*i)}for(let i=0;i<mB;i++){let l=R.n(60,255),t=R.n(60,255),e=R.n(60,255);ff.noStroke(),ff.fill(l,t,e);let o=R.n(0,W),s=R.n(0,H),n=R.n(450,W/3),c=R.n(450,W/3),a=R.n(0,55);R.n(0,W);if(ff.push(),1==lA?(ff.angleMode(DEGREES),1==aD?ff.rotate(45*round(a)):ff.rotate(22.5*round(a))):ff.rotate(a),window.METADATA["Flow lock"]=1==lA&&1==aD?"45 degrees":1==lA&&1!=aD?"22.5 degrees":"Unlocked",window.METADATA["Angle lock"]=0!=aG?"Unlocked":0==aD2?"45 degrees":"22.5 degrees",1==sinbg&&mR<2?(ff.rect(sin(r*i*100)*i+W/3,tan(g*i*10)+W/i,n,10*c),Flist.push("Fan")):ff.rect(o,s,n,c),ff.pop(),1==cS){Flist.push("Circular");let o=color(l,t,e),r=color(t,e,l),s=lerpColor(r,o,lE/(H/8)),n=R.n(0,i/mB/1.2*W);ff.fill(s),ff.arc(W/2,H/2,n,n,R.n(0,14),R.n(6,34))}}noLoop(),ff.noLoop()}function draw(){for(setTimeout(redraw,0);lE<mB&&1==fR;){let i=R.n(60,255),l=R.n(60,255),t=R.n(60,255);ff.noStroke(),ff.fill(i,l,t);let e=R.n(0,W),o=R.n(0,H),r=R.n(450,W/3),s=R.n(450,W/3),n=R.n(0,55);if(1==cS){let r=color(i,l,t),s=color(l,t,i),n=lerpColor(s,r,lE/(W2/8)),c=R.n(0,W/1.5);ff.fill(n),ff.arc(e,o,c,c,R.n(0,14),R.n(6,34))}ff.push(),1==lA?(ff.angleMode(DEGREES),1==aD?ff.rotate(45*round(n)):ff.rotate(22.5*round(n))):ff.rotate(n),ff.rect(e,o,r,s),ff.pop(),lE+=1}if(lC<mI){lE=mB,fR=1;for(let i=0;i<particles.length;i++)particles[i].run();lC+=1}if(1==mR&&lC%1200==0&&B>10&&(B-=B/3),lC>=mI&&rR<mR&&((1!=mC||vs<6)&&(vs=R.i(6,crllength-1),P=crl[vs],vs2=R.i(0,crl2length-1),P2=crl2[vs2]),Vlist.push(crlnames[vs]),Vlist2.push(crlnames2[vs2]),B<1.6&&1==sR?B*=1.6:B>=2?B/=dD:B>=6&&(B=B/dD*2),rR+=1,lC=0,lE=0),1==check){let i=hour(),l=minute(),t=second();sT[0],sT[1],sT[2];print("render finished at "+i+":"+l+":"+t),0==Flist.length?window.METADATA["Flow features"]="None":window.METADATA["Flow features"]=Flist.toString(),window.METADATA.Palettes=pL>=6&&pL<=9?Vlist2.toString():Vlist.toString(),window.METADATA["Draw shape"]=cA<=1?eL<=2?"Dot":"Box":tS<=1?0==tS?"Outlined marker":"Drop shadow marker":"Marker",print(window.METADATA),window.onImageRendered&&window.onImageRendered()}rR==mR&&lC>=mI&&(push(),noStroke(),pL<=9&&(r=R.i(-200),g=R.i(-200),b=R.i(-200)),fill(r,g,b),rect(W2-W2/10,H2-H2/27,15*M*M2),fill(g,b,r),rect(W2-W2/10+20*M*M2,H2-H2/27,15*M*M2),fill(b,r,g),rect(W2-W2/10+40*M*M2,H2-H2/27,15*M*M2),pop(),check+=1),lR+=1}pL<=5?(xI=R.i(0,2),mR=R.i(2,4),0==pL?Vlist.push("White"):pL<=5&&Vlist.push("Black")):(Vlist.push(crlnames[vs]),Vlist2.push(crlnames2[vs2])),xI<=3&&(B=R.n(2,4),cW/=2,num=R.n(1400,2500),tS=10,dD=R.n(1,1.4),cA=0,mpI=0,mI=R.i(700,1120),sPy=4,xI<=1&&(B=R.n(1.8,2.4),dD=1,num=R.n(1900,2500))),tS<=1&&(B*=1.3,num<1500&&(num/=2),mR=R.i(1,3),vs<6&&(mR=R.i(2,3)),cA=3,sPy=20),mpI>=8&&tS>1&&(num/=2,B*=1.3),1==mR&&(nG=3,rS=3,mI=R.i(1900,2220)),vs<=6&&(mR=R.i(2,5)),B<=3&&(dD=R.n(1,1.4)),1==sG&&(nC=1,nR=1,nG=3,mB/=2),num>2e3&&pL<6?mR=R.i(2,3):num>2e3&&vs>6&&pL<20&&(mR=R.i(1,3)),num*mI*mR>1e7&&(mI/=2),num*mI*mR<1e6&&(mI*=2,rS=2),num*mI*mR<2e6&&(rS=2),p5.disableFriendlyErrors=!0;class Particle{constructor(i,l,t){this.loc=i,this.dir=l,this.sP=t}run(){this.move(),this.edgeCheck(),this.update()}move(){let i,l=ff.get(this.loc.x,this.loc.y);i=0!=aG?(l[0]/l[1]+sin(l[2]))*TWO_PI:0==aD2?.785398163*ceil(l[0]/l[1]+l[2]):.3926990817*ceil(l[0]/l[1]+l[2]),aM<=5?(this.dir.x=sin(i),this.dir.y=cos(i)):aM<=7?(this.dir.x=tan(i),this.dir.y=atan(i)):(this.dir.x=sin(i),this.dir.y=fract(i));let t=this.dir.copy(),e=sM;t.mult(this.sP*e*M),this.loc.add(t)}edgeCheck(){if(this.loc.y>H-H/22||this.loc.x<W/21||this.loc.x>W-W/21||this.loc.y<H/22){3==R.i(0,3)&&(this.loc.x=R.n(W/15,W-W/15),this.loc.y=R.n(H/20,H-H/20))}if(this.loc.y>H-H/18||this.loc.x<W/14||this.loc.x>W-W/14||this.loc.y<H/18){if(5==R.i(0,10)&&(this.loc.x=R.n(W/15,W-W/15),this.loc.y=R.n(H/20,H-H/20)),cA>1&&(this.loc.x+B*cH/2*M>H-H/16||this.loc.y+B*cW/2*M>W-W/16||this.loc.x-B*cH/2*M<H/16||this.loc.y-B*cW/2*M<W/16)){3==R.i(0,7)&&(this.loc.x=R.n(W/15,W-W/15),this.loc.y=R.n(H/20,H-H/20))}}(lC==mI/2&&rS<=3&&rR<3||lC+1==mI/2&&rS<=3&&rR<3)&&(this.loc.x=R.n(W/15,W-W/15),this.loc.y=R.n(H/18,H-H/18))}update(){R.n(0,255),R.n(0,255),R.n(0,255);sC==sq-1&&(sC=0),this.V=color(P[sV[sC]]),this.Vx=color(P[sV[sC+1]]);let i=lerpColor(this.V,this.Vx,lR/bL);if((0==noSlide&&cA>1&&tS<=1||0==noSlide&&cA<=1)&&(i=color(P[sV[sC]])),0==pL&&1==rR?i=color(10,10,10):pL<=5&&1==rR&&(i=color(250,250,250)),pL>=6&&pL<=9&&(this.V=color(P2[sV[sC]]),this.Vx=color(P2[sV[sC+1]]),i=lerpColor(this.V,this.Vx,lR/bL)),fill(i),lR>=bL&&(this.V=color(P[sV[sC]]),sC+=1,fill(this.V),lR=0,bL=R.n(20,400),1==rE&&B>2&&(B/=1.5,cW/=1.5,cH/=1.5)),rR==mR&&mR>1&&B>3&&(B/=1.5),rR==mR&&mR>2&&mI<800&&1==wb){let l=color(255,255,255);if(this.Vy=lerpColor(this.V,l,.1),this.Vz=lerpColor(this.Vx,l,.1),1==bW){let i=color(0,0,0);this.Vy=lerpColor(this.V,i,.8),this.Vz=lerpColor(this.Vx,i,.8)}i=lerpColor(this.Vy,this.Vz,lR/bL)}if(this.loc.x*M2<W2-W2/60&&this.loc.y*M2<H2-H2/60&&this.loc.x*M2>0+W2/60&&this.loc.y*M2>0+H2/60)if(cA<=1){noStroke(),fill(i);let l=B;0==randBoxy&&(l=R.n(0,B)),eL<=2?ellipse(this.loc.x*M2,this.loc.y*M2,1.5*l*M*M2):rect(this.loc.x*M2,this.loc.y*M2,1.5*l*M*M2,1.5*l*M*M2,2*M2)}else{let l=B;0==randBoxy&&(l=R.n(0,B)),this.loc.x*M2+l*cH/2*M*M2<W2-W2/60&&this.loc.y*M2+l*cW/2*M*M2<H2-H2/60&&this.loc.x*M2-l*cH/2*M*M2>0+W2/60&&this.loc.y*M2-l*cW/2*M*M2>0+H2/60&&(tS<=1&&(stroke(0),strokeWeight(tusl*M*M2),0==tS?line(this.loc.x*M2-l*cH*tW/2*M*M2,this.loc.y*M2-l*cW*tW/2*M*M2,this.loc.x*M2+l*cH*tW/2*M*M2,this.loc.y*M2+l*cW*tW/2*M*M2):line(this.loc.x*M2-l*cH/2*M*M2,this.loc.y*M2-l*cW/2*M*M2,this.loc.x*M2+l*cH*tW/2*M*M2,this.loc.y*M2+l*cW*tW/2*M*M2)),stroke(i),strokeWeight(6*M*M2),line(this.loc.x*M2-l*cH/2*M*M2,this.loc.y*M2-l*cW/2*M*M2,this.loc.x*M2+l*cH/2*M*M2,this.loc.y*M2+l*cW/2*M*M2))}}}</script></body></html>P5JS
<!DOCTYPE html><title>qTrees1</title><style>canvas{width:100vmin;height:100vmin;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;background:black}</style><body></body><canvas id=A></canvas><script>tokenData={hash: "{{hash}}"};M=Math,V=window,A.width=A.height=W=8640,C=A.getContext`2d`;{let h,e=2654435769,a=608135816,b=3084996962,k=parseInt(tokenData.hash.substr(2,8),16);R=()=>(h=0|e+a+k,++k,e=a^a>>>9,a=b+(b<<3),b=b<<21|b>>>11,b+=h,(h>>>0)/4294967296)}for(i=1e4;i--;)R();for(C.fillRect(0,0,W,W),U=b=>M.ceil(b),G=()=>2*R()*M.PI,B=()=>.5>R(),window.METADATA={},V=(d,a)=>{window.METADATA[d]=a.toString()},m_e="mode",m_c="monochrome",p_m="palette-main",V("depth","na"),V(m_c,"na"),V(p_m,"na"),P="FFFFFF000000FFFFFF000000222831393E4600ADB5EEEEEEF9ED69F08A5DB83B5E6A2C70F38181FCE38AEAFFD095E1D308D9D6252A34FF2E63EAEAEA364F6B3FC1C9F5F5F5FC5185A8D8EAAA96DAFCBAD3FFFFD2E3FDFDCBF1F5A6E3E971C9CEE4F9F530E3CA11999E40514EFFC7C7FFE2E2F6F6F68785A2F9F7F7DBE2EF3F72AF112D4E48466D3D84A846CDCFABEDD82B2E4AE8454590374953354A00B8A9F8F3D4F6416CFFDE7DFFB6B9FAE3D9BBDED661C0BFE23E5788304E522546311D3FFFCFDFFEFDCAE0F9B5A5DEE52121213232320D737714FFECA8E6CFDCEDC1FFD3B6FFAAA5DEFCF9CADEFCC3BEF0CCA8E9FFC8C8FF9999444F5A3E4149F67280C06C846C5B7B355C7D3EC1D3F6F7D7FF9A00FF165D2D4059EA5455F07B3FFFD4606FE7DD3490DE6639A6521262BAD7DFFFE2E2F6F6F699DDCC8EF6E49896F1D59BF6EDB1F1A1EAFBFDFDFDFFCEF3CABBE9384259F738597AC7C4C4EDDE30384100ADB5EEEEEEFF5722DCEDC2FFD3B5FFAAA6FF8C94F0F5F9C9D6DF52616B1E2022F85F73FBE8D3928A97283C6307689FA2D5F2FAFAFAFF7E672A363BE84A5FFF847CFECEA800E0FF74F9FFA6FFF2E8FFE8A8E6CFFDFFABFFD3B6FFAAA5F7FBFCD6E6F2B9D7EA769FCD7EFFDBB693FE8C82FCFF9DE215B7B910DDC2F5F5F5F57170CEFFF1ACE7EFA6ACECA56CC1A9EEE6FEFAECF9A1BC625772EBFFFAC6FCE56EF3D60DCEDA0C056D590D82B61AAEF25D9CDFF4F3DDE7F2B9BBDF878ECDD4A5A5FFECDAF9FFEAA6D0E41FAB8962D2A29DF3C4D7FBE899E1E5F3E8CBF2C6B4FBAFAF3038413A4750D72323EEEEEE303A52574B909E579DFC85AEFAFAFAE8F1F5005691004A7C155263FF6F3CFF9A3CFFC93C283149404B69F73859DBEDF33932324D45458D6262ED8D8DFEF0FFD6C8FFC79ECF7E6BC4FCEFEEFCCDE2FC5C9CC5E3F6F5EEE6F3D7CAE6A4B4C86B8511CBD7C6F1E7F0FFF3FA4659FF6464FF8264FFAA64FFF5A527296D5E63B6A393EBF5C7F7A9EEE6FEFAECF38181625772FB929EFFDFDFFFF6F6AEDEFCFFFCCA55E9BC11D3BC53778066BFBFEAF6F6FCFEFEF76B8AFBF0F0DFD3D3B8B0B07C7575233142455D7AF95959E3E3E3E0FCFF90F2FF6EB6FF7098DA3A0088930077E61C5DFFBD39F8B595F67280C06C846C5B7C00204A00579200BBF0D9FAFF35477D6C5B7BC06C84F67280C7F3FFFDC7FFFFDCF5F2F4C3F6F6F6D6E4F01E56A0163172FFA5A5FFFFC2C8E7EDBFCFFF4D606E3FBAC2D3D4D8F5F5F5253B6E1F5F8B1891ACD2ECF9C7F5FEFCC8F8EAB4F8F3F798071A5208697217B978A7FF839DDCDCFFF4E1FFEBB7E67A7AA7EFE97FDFD4FBE1B6FBAC91C8F4DEA4E5D966C6BA649DADADF7D195E8D77DACE48971D02A363BE84A5FFF847BFECEA8FFD9E8DE95BA7F4A884A266AA6E4E7F9F9F9EBCBAE8F8787232931393E464ECCA3EEEEEEDFF5F287DFD646B7B92F9296E7E6E1F7F6E7C1C0B9537791700961B80D57E03E36FF7C38F69D9DFFEAB6FDFFBAC0FFC2222831393E4600ADB500FFF5A1D9FFCA82F8ED93CBF2BBBBF4F7F7AACFD079A8A91F4E5FF8B195F67280C06C84355C7DE4FFFEA4F6F9FF99FEBA52EDEAAFAFA2738C645C84427996FBFBFBB9E1DCF38181756C83FA4659FEFFE4A3DE832EB872F47C7CF7F48BA1DE9370A1D7F06868FAB57AEDF79880D6FF7A08FAA82FFCC264FEF8ECFDFFFFC1FFD2A5FFA8B8D988BCF2F2F2EBD5D5EA8A8A685454240041900048FF4057FF82603498DBECF0F134495EF1C40FF4F7F7AACFD05DA0A234495EF33535D8E9F033425B29252C0E31506DC9C8FFC0C2F7E9E3E3D9CA95A792596C68403F483038413A475000ADB5EEEEEEFFDEDEF7F3CEC5ECBE4797B1F6F5F5E3E3E33BB4C104899839065A6A05729A0F98EA05990F1021D01257FB90B7FFCEE429C6CDF6E4C4FEA386F195846B0848A40A3CEC610AFFC300F12B6BFF467EFD94B4F6C7C7FFA3AC00043C005D6C00C9B1FC345C49BEB7AFFFDFEAFFF7F2FCFCBDF1F68FBAF30245A3FAFAF600FFF000D1FF3D6CB9F9ECECF0D9DAC8D9EBECF2F90204382841841F8EA300EAFFE4EDDB307672144D531A3C40F64662C6195174193856132AFFE6EBFFCDCD6A65D81D2786F4F9F4C4E3CB8AAE92616161FFB400FFFBE02994B247474445EBA521ABA51D566E163A5FD5FDFF9DE5FFACA8FFAC73FFEFF0F474DBEF0074E4264E86C7FFFFFBEEFFEBC6FF7E80FF560764913175DD5B82FE9797FF4D4DFF8364FDB87DFFE8D5E4F1FE8DC6FF22313F34495E27323A43505529A19CA3F7BFFFABE5C7F5FFD89FFFF6FCAEFAFAFAFFE9E3C4C1E07C73E6F7626221658365C0BACFFDF8F0FFF3C6F1E770ACB159606D0F305700587A008891E7E7DE6C567BC06C84F67280F8B195FFFE9FFFD480FCA180F56262E9E2D0EA9085D45D796E5773FF9898CF455C971549470031EB586FD8E9F04AA0D5454553FDA403E8751AC513508A1253283149404B6900818ADBEDF318587AFC624DFCA7A7FFD6D6BC5148FEF8E67BCECC3090A1F2E9D0EACEB4E79E85BB5A5AF8FCFBC9FDD779D1C36892D500AD7C52D681B5FF7DFFF8B5111F4DF2F4F7E43A19020205FDFDC4FFE8CFFFDEDECCFFECFAE3E3B7B7B71370833D0240FCF5EEFBE8E7F7DDDEFFC4D0EDA1C1FAB2ACBEE4D2D7F8F7F38181FCE38AD6F7AD95E1D32FC5CC6DF1CCE3FFC3FF89C0FFFFC1FFD2A5D38CAD8A79AF294A660B3846FFBBBBFCD2C2143A526E828ACDE3EBE3EFF3F5E1DAF1F1F140A798476269222831393E460092CAEEEEEEF23557F0D43A22B2DA3B4A6B511E788B2F97CF56A1FCB2BF29D2E413829BFCC29AFDE9C92D4059FFB400F6F6F6EA5455FF5959FFAD5A4F9DA61A0841F0ECE2DFD3C3C7B198596E79E8ECF1B5CFD87393A76C737ED9F9F49CD9DE86C1D45A92AF2C2D34E94822F2910AEFD51011CBD79FEED1FFF6A2F60C86FD9191FDDD8AF5FC9E9EFCB4FF5335DFE0D43E92A3353940E6F8F6A0F6D272DFD003414D0E2431FC3A52F9B248E8D5B73038413A4750F6C90EEEEEEEF70776C3195D680747141010F9F8EDF4E7D30881A31F4E5F581845900C3FC70039FF5733D3F6D1A7D7C574B49B5C8D89EA5959F98B60FFC057FFE08434374C2C2E3EEE2B47F6F6F63434342D4059EA5455FDE9C9F5EFE3E6E7E5F7D3BAA6AA9C0278AE51DACF9EF5CFE8FFC1F0BEBE5EA3A63A718CFFFFDF6BD5E1FFD98EFFB677FF836432364360647093DEFFF7F7F701505104837B01A7A304F2D5F5E1DAF1F1F140A798476268FAFAFAFF6699C54C82512E67DAEBEEB6D7DEFCEDDAFF5126BBE9DBAECCC69BA6A5757A790833580F4471FC3C3CF6F6F6E0FFCDFDFFCDFFEBBBFFCAB0FFDFD3FEC8D8D291BC957DAD194769F6F6E9D7EEF2F2855E73F7DD2CC4CB1972A42E3A8736D1C4A0EECCFFF2BEF6318CF5F5C67DA87B32676527253DE2EFF1B6D5E165799B55527313334C005792F6F6E9FD5F00B80257DD356EFC7FB6FFBBE123314236506CA5DEF1EBF7FDEF7B7BFCF3CAC4EADA919190E7F5F2F9C7CF12776F0F4137CABFABDFD8C841444B52575DD7AEF394F6F2F7F680FBD0F5EFF0F4D3D6DB415F9D233B6EFF4545FF9867FFBF87FFEDB2FF64737578825CC1B36EF7C82F1B41872341BE3144F05941F7F7F7393E465C636EF8B500FFD6B6EA7362B742425C2626F3F3F3FFDD67FFCD384A4A4A071E3D1F4287278EA521E6C1BFF4ED280F34E41655B307530058741C819EE6E6D4FFBE00970747FEF4E81989AC283E56155E6376B39DF9F8EBEAE7E7E01171AB0E8659057B0F0766364F6B3FC1C9FCE38AFC51853E1E68583C87E45A84FFACAC118DF00E2F56FF304FECECDA3B09445F1854A12559F1BBD530293950595CE99B9BFFD8D8F7F4E3D2E1C8FEE4A6F9C4AAD3D6DB3A4750303841BE3144F9F3E6E2DCD5E8AA8C5E616AF0EEC99EE6CF50C9BA4BA2AC280B4561105EC84771FFE98A233142455D7AF95959FACF5A062743113A5DFF7A8AF9F9F9D2F6FCA9D2FF7984EE6730ECD8DFE271ADB5176D810D3446FAF6E9ECE8D9FFFDF6494949222831393E46FD7014EEEEEEFF006CD62B70973961623448ABEDD846CDCF0081C648466D3333333E3636D72323F5EDEDECF0F133CCCC2980B92C3E50C4AFF0FFFEEC64D7D65782BBF8D5F058D5D341A4C33F4B832C3E5034495EECF0F1BDC3C79BB899FCCEAAF5827DEA4961FAFAFAC7EEFF0077C01D242B83FFE17045FFC768FFFFADED1D3E53254B62476D7C77ABB7FFF6FBFFBEE3FC5BB6FF0592525252414141313131EC625F35013F561050951556E9B5D2CBF9DA3DD2CC3E6B89122D42",P=P.split(/(?=(?:......)*$)/),q=[],i=0;i<P.length;i+=4)q.push(P.slice(i,i+4));if(P=q,pl=P.length,J=()=>.5>R()?"white":"black",bx=0,me=.1>R()?0|5*R():0|7*R()+5,mm=.05>R(),mo=.01>R(),st=.1>R(),K=()=>{p=0|pl*R(),p1=0|pl*R(),sq=.4>R(),sm=.1>R(),se=B(),ss=B(),ps=B(),pd=.2>R(),ic=B()},K(),.01>R()){function a(e,h,k,d,m){return C.lineWidth=m*k/2,C.beginPath(),C.save(),C.translate(e,h),C.rotate(.0175*(d*R())),C.moveTo(0,0),C.lineTo(0,-24*k),C.stroke(),k<W/4320?void C.restore():void(a(0,-24*R()*k,.8*k,d+30*R(),.8*m),a(0,-24*R()*k,.8*k,d-30*R(),.8*m),C.restore())}V(m_c,"true"),.25>R()?(V(m_e,"tree-inverted"),C.fillStyle="black",C.strokeStyle="white"):(V(m_e,"tree"),C.fillStyle="white"),C.fillRect(0,0,W,W),C.lineCap="round",a(W/2,.9*W,W/110,0,W/1024)}else{function h(k,m,w,x){if(c=[],s>x)if(D=()=>{c.push(new h(k,m,w/2,x+1)),c.push(new h(k+w/2,m,w/2,x+1)),c.push(new h(k,m+w/2,w/2,x+1)),c.push(new h(k+w/2,m+w/2,w/2,x+1))},.4<R()&&s-1>x||0==x)D();else if(bx++,k=U(k),m=U(m),w=U(w),t=w/2,mm&&(C.globalAlpha=1,K(),me=0|7*R()),0==me)V(m_c,"true"),k=U(k),m=U(m),w=U(w),t=w/2,q=B(),C.fillStyle=q?"black":"white",C.fillRect(k,m,w,w),C.fillStyle=q?"white":"black",pd?(V(m_e,"pd"),C.beginPath(),C.arc(k+t,m+t,t-w/8,0,7),C.fill()):ps?(V(m_e,"polkasquares-large"),C.fillRect(k+w/8,m+w/8,w-w/4,w-w/4)):(V(m_e,"polkasquares-small"),C.fillRect(k+w/4,m+w/4,w/2,w/2));else if(1==me)for(V(m_c,"true"),V(m_e,"barcode"),C.fillStyle="black",C.fillRect(k,m,w,w),C.strokeStyle="white",n=B(),i=0;i<=w;i+=w/10)C.lineWidth=w/40,C.beginPath(),n?(C.moveTo(k,m+i),C.lineTo(k+w,m+i)):(C.moveTo(k+i,m),C.lineTo(k+i,m+w)),C.stroke();else if(2==me){for(V(m_c,"true"),V(m_e,"lissajous"),C.fillStyle="black",C.fillRect(k,m,w,w),t=20*R(),u=0|5*R(),v=0|5*R(),C.beginPath(),i=0;i<2*M.PI;i+=.001)x=M.sin(i*u+t)*M.cos(i+t)*w/2.2+k+w/2,f=M.cos(i*v)*M.sin(i+t)*w/2.2+m+w/2,i?C.lineTo(x,f):C.moveTo(x,f);C.lineWidth=w/32,C.strokeStyle="white",C.stroke()}else if(3==me)for(V(m_e,"owleye"),C.fillStyle="black",C.fillRect(k,m,w,w),g=0|4*R(),i=0;4>i;i++)C.fillStyle=`#${P[p][i]}`,V(m_c,"false"),V(p_m,p.toString()),C.beginPath(),q=w/2-i*w/8-w/32,l=w/2,n=i*w/128**.5,0==g?u=v=l+n:1==g?u=v=l-n:2==g?(u=l+n,v=l-n):3==g&&(u=l-n,v=l+n),C.arc(u+k,v+m,q,q,0,7),C.fill();else if(4==me)for(V(m_e,"yarn"),C.fillStyle="black",C.fillRect(k,m,w,w),C.globalAlpha=.2,w-=w/10,k+=w/20,m+=w/20,mo?(C.strokeStyle="white",V(m_c,"true")):(C.strokeStyle=`#${P[p][0|4*R()]}`,V(m_c,"false"),V(p_m,p.toString())),q=0|R()*24+8,r=0|R()*64+64,i=0;i<q*w;i+=w/r)n=G(),t=w/2,o=G(),C.lineWidth=w/256*R(),C.beginPath(),C.moveTo(t+k+t*M.cos(n),t+m+t*M.sin(n)),C.lineTo(t+k+t*M.cos(o),t+m+t*M.sin(o)),C.stroke();else if(5==me)for(p=0|pl*R(),C.fillStyle=`#${P[p][0|4*R()]}`,C.fillRect(k,m,w,w),r=0|16*R()+4,q=w/r,ic&&(p=0|pl*R(),C.fillStyle=`#${P[p][0|4*R()]}`,V(m_e,"invader-solid")),q=U(w/r),f=0;f<w/2;f+=U(w/r))for(ic||(p=0|pl*R(),C.fillStyle=`#${P[p][0|4*R()]}`,V(m_e,"invader-colors")),g=0;g<w;g+=U(w/r)).6>R()&&(C.fillRect(M.round(f+k),M.round(g+m),q,q),C.fillRect(M.round(w-f-q+k),M.round(g+m),q,q));else for(C.globalAlpha=1,sm?(sq=B(),V(m_e,"stacks-mix")):sq?V(m_e,"stacks-square"):V(m_e,"stacks-circle"),mo?(C.fillStyle=J(),V(m_c,"true")):(C.fillStyle=`#${P[p][0|4*R()]}`,V(m_c,"false"),V(p_m,p.toString())),C.fillRect(k,m,w,w),j=se?w/(0|24*R()+8):w/32,i=t-j/2;0<i;i-=j)mo?(C.fillStyle=J(),V(m_c,"true")):(C.fillStyle=`#${P[p][0|4*R()]}`,V(m_c,"false"),V(p_m,p.toString())),u=7,sq?C.fillRect(k+w/2-i,m+w/2-i,2*i,2*i):(ss&&(V(m_e,"stacks-semicircle"),u=3*R()+3),C.beginPath(),C.arc(k+t,m+t,i,0,u),C.fill())}s=U(5*R()+2),V("depth",s.toString()),new h(0,0,W,0)}mm&&(V(m_e,"mixed"),V(m_c,"na"),V(p_m,"na")),b_l="boxes",4>bx?V(b_l,"na"):4==bx?V(b_l,"A"):8>=bx?V(b_l,"B"):16>=bx?V(b_l,"C"):32>=bx?V(b_l,"D"):64>=bx?V(b_l,"E"):128>=bx?V(b_l,"F"):256>=bx?V(b_l,"G"):512>=bx?V(b_l,"H"):1024>=bx?V(b_l,"I"):1024<bx&&V(b_l,"J"),4>bx?V("box-number","na"):V("box-number",bx.toString()),console.log(window.METADATA)</script>VanillaJS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><title>Blóm</title><style>html{width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column}body{width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style><body> <script>window.hash="{{hash}}" !function (){return function e(t, r, a){function s(i, o){if (!r[i]){if (!t[i]){var l="function"==typeof require && require; if (!o && l) return l(i, !0); if (n) return n(i, !0); var d=new Error("Cannot find module '" + i + "'"); throw d.code="MODULE_NOT_FOUND", d}var c=r[i]={exports:{}}; t[i][0].call(c.exports, function (e){return s(t[i][1][e] || e)}, c, c.exports, e, t, r, a)}return r[i].exports}for (var n="function"==typeof require && require, i=0; i < a.length; i++)s(a[i]); return s}}()({1: [function (e, t, r){"use strict"; var a=d(e("./PRNG")), s=d(e("./Noise")), n=d(e("./BGRenderer")), i=d(e("./BWRenderer")), o=d(e("./Particle")), l=d(e("./Colors")); function d(e){return e && e.__esModule ? e :{default: e}}let c=!1; const u=window.hash || function (){let e="0x"; for (var t=0; t < 64; t++)e +=Math.floor(16 * Math.random()).toString(16); return e}(Math.round(100 * Math.random())); let h=parseInt(u.slice(0, 16), 16); var m=document.createElement("canvas"), f=m.getContext("2d"), p={w: window ? window.innerWidth : 2e3, h: window ? window.innerHeight : 2e3}; p.min=Math.min(p.w, p.h), p.max=Math.max(p.w, p.h); var g=4e3, R=document.createElement("canvas"), b=R.getContext("2d"); R.width=R.height=g; var x=document.createElement("canvas"); x.width=x.height=g; var M=x.getContext("2d"), w=document.createElement("canvas"), v=w.getContext("2d"); w.width=w.height=g; const y=document.createElement("a"); var S, C, _={}; _.mx=p.w / 2, _.my=p.h / 2; var F, P=0, H=1, T=500, A=100, I=1; let q=[]; const N=new n.default(g); let k=new i.default(g); const B=(e, t, r)=> Math.min(r, Math.max(t, e)), L=(e, t, r, a, s, n)=>{const i=(e - t) / (r - t) * (s - a) + a; return n ? a < s ? B(i, a, s) : B(i, s, a) : i}, D=(e, t, r)=> e + (t - e) * r, E=e=> Math.sin(e * Math.PI / 2), $=({particle: e, i: t})=>{let r, a, s, n, i, o, l, d, c, u, h, m=360 / _.pC * Math.PI / 180, f=t / _.pC, p=H / A * _.frameIndexMod, g=_.sRadius + (_.eRadius - _.sRadius) * f; if (e.hasP() ? (r=e.gX(), a=e.gY()) : "blom"===_.preset || "innvortis"===_.preset || "mountain"===_.preset ? (r=2e3 + Math.cos(m * t) * _.radius, a=2e3 + Math.sin(m * t) * _.radius) : "fluidity"===_.preset ? (r=2e3 - Math.cos(2 * Math.PI * p) * g, a=2e3 - Math.sin(2 * Math.PI * p) * g) : "quarterCircle"===_.preset && (r=-Math.cos(m * t) * _.radius - 100, a=-Math.sin(m * t) * _.radius - 100), o=C.noise(s=r * _.resonance * _.architecture, n=a * _.resonance * _.architecture, i=H / _.temporalDisplacement * 10) * _.amp, l=C.noise(n, s, i) * _.amp, d=L(o, 0, 1, -1, 1) * _.mod, c=L(l, 0, 1, -1, 1) * _.mod, "blom"===_.preset || "innvortis"===_.preset) u=2e3 + d * Math.cos(m * (t + i) + _.rotation) * _.velocity * _.radius, h=2e3 + c * Math.sin(m * (t + i) + _.rotation) * _.velocity * _.radius; else if ("fluidity"===_.preset){let e=15e3 * o * f, t=15e3 * l * f; u=2e3 + Math.cos(p * Math.PI * 2) * (e - 250) + Math.cos(p * Math.PI * 2) * (e + 1e3), h=2e3 + Math.sin(p * Math.PI * 2) * (t - 250) + Math.sin(p * Math.PI * 2) * (t + 1e3)}else "mountain"===_.preset ? (u=2e3 + Math.cos(m * (t + i) + _.rotation) * d * _.radius, h=100 + 3800 * B(Math.abs(c), 0, 2) * p) : "quarterCircle"===_.preset && (u=-d * Math.cos(m * (t + i) + _.rotation) * _.radius - 100, h=-c * Math.sin(m * (t + i) + _.rotation) * _.radius - 100); return{x: u, y: h, fbm1: o, fbm2: l}}, O=()=>{(P +=T) > _.pC + T && (P=0, H +=1); const e=H / A; let t, r; _.resonance=D(_.sResonance, _.eResonance, e), _.freq=D(_.sFreq, _.eFreq, e), _.amp=D(_.sAmp, _.eAmp, e), _.temporalDisplacement=D(_.sTemporalDisplacement, _.eTemporalDisplacement, e), _.radius=D(_.sRadius, _.eRadius, E(e)), _.mod=D(_.sMod, _.eMod, e), _.hue=D(_.sHue, _.eHue, e), _.saturation=D(_.sSaturation, _.eSaturation, e), _.brightness=D(_.sBrightness, _.eBrightness, e), _.architecture=D(_.sArchitecture, _.eArchitecture, e), _.maxVelocity=Math.max(100, _.resonance / _.amp * _.temporalDisplacement * _.velocityFactor), C.noiseDetail(_.octaves, _.freq); for (let e, a=P; a < Math.min(_.pC, P + T); a++){const s=$({particle: e=F[a], i: a}); t=s.fbm1, r=s.fbm2, e.sP({x: s.x, y: s.y}), !c && s.x < 800 && (c=!0)}t && r && (_.rotation +=(t + r) * _.rotationRate * _.amp)}, G=(e=0)=>{if (!e && (H < 2 || !I)) return void ((P +=T) > _.pC + T && (P=0, H +=1)); const t=H / A * _.frameIndexMod; if (!_.isComplete){for (var r, a=0; a < q.length; a++)(0 !==(r=q[a]) || _.skips.includes(H)) && (r.render({particles: F, frameRatio: t, ..._}), b.clearRect(0, 0, g, g), b.drawImage(r.canvas, 0, 0, g, g, (1 - r.outputScale) / 2 * g, (1 - r.outputScale) / 2 * g, g * r.outputScale, g * r.outputScale)); v.drawImage(R, 0, 0, g, g, (1 - r.outputScale) / 2 * g, (1 - r.outputScale) / 2 * g, g * r.outputScale, g * r.outputScale)}if (1===_.zoom){const e=(p.w - p.min) / 2, t=(p.h - p.min) / 2; let r=L(_.mx - e, 0, p.w - 2 * e, 0, 8e3 / 3), a=L(_.my - t, 0, p.h - 2 * t, 0, 8e3 / 3); r=B(r, e, 8e3 / 3), a=B(a, t, 8e3 / 3), f.drawImage(w, r, a, g / 3, g / 3, 0, 0, p.min, p.min)}else if (e || t < 1 || 1===t && !_.isComplete){let e=E(t), r=0; e=(1 - e) * p.min * 1.02, "fluidity"===_.preset && (e=0), "mountain"===_.preset && (r=e), f.drawImage(w, 0, 0, g, g, -e, -e + r, p.min + 2 * e, p.min + 2 * e)}}, W=()=>{if (I && H < A && O(), G(), "blom"===_.preset && H===A && !_.isComplete && !c){var e=3 * Math.round(S.R(1, 4)); window.METADATA.Mirrored=e; for (var t, r=0; r < e; r++)t=r / e, M.save(), M.translate(2e3, 2e3), M.rotate(2 * Math.PI * t), M.drawImage(R, 0, 0, 2e3, 2e3), M.restore(); M.globalCompositeOperation="normal", b.drawImage(x, 0, 0, g, g, 0, 0, g, g), v.drawImage(R, 0, 0, g, g, 0, 0, g, g), f.drawImage(w, 0, 0, g, g, 0, 0, p.min, p.min)}H===A && (_.isComplete=1), window.requestAnimationFrame(W)}, j=()=>{y.setAttribute("download", `blom-gen.art-${_.seed}.png`), y.setAttribute("href", w.toDataURL("image/png", 1).replace("image/png", "image/octet-stream")), y.click()}; window.addEventListener("load", ()=>{m.width=p.min, m.height=p.min, document.getElementsByTagName("body")[0].appendChild(m), (e=>{f.clearRect(0, 0, m.width, m.height), v.clearRect(0, 0, m.width, m.height), e && (h=!e && params.get("seed") ? params.get("seed") : 1e9 * Math.random(), _.seed=h), (S=(0, a.default)()).randomSeed(h); for (var t=0; t < 1e4; t++)S.R(); (C=(0, s.default)()).noiseSeed(h), H=1, _.isComplete=0, _.seed=h, _.pC=1, F=[], c=!1, _.eBWR=1, _.octaves=2, _.freq=_.sFreq=S.R(1.5, 2.2), _.eFreq=S.R(1, 2), _.amp=_.sAmp=5 * S.R(.02, .09), _.eAmp=5 * S.R(.004, .01), _.temporalDisplacement=_.sTemporalDisplacement=S.R(250, 1250), _.eTemporalDisplacement=S.R(150, 250), _.resonance=_.sResonance=S.R(1e-4, .004), _.eResonance=S.R(1e-4, .004), _.radius=_.sRadius=800, _.eRadius=1800, _.mod=_.sMod=_.eMod=1, _.velocity=1, _.velocityFactor=50, _.reverse=0, _.architecture=_.sArchitecture=_.eArchitecture=1, _.angleHueShift=.2, _.pC=S.R() > .025 ? Math.round(S.R(100, 350)) : Math.round(25, 45), _.rotationRate=S.R() > .5 ? 1 : -1, _.rotation=0, _.frameIndexMod=1, _.preset="blom"; const r=S.R(); if (r < .7 ? _.preset="blom" : r < .85 ? _.preset="fluidity" : r < .95 ? _.preset="quarterCircle" : r < .98 ? _.preset="mountain" : r <=1 && (_.preset="innvortis"), "blom"===_.preset && (_.resonance=_.sResonance=S.R(1e-4, .002), _.eAmp=S.R(.04, .15), _.reverse=S.R() > .8, _.angleHueShift=S.R() > .9 ? S.R(.2, .5) : .15, _.reverse && (_.brightnessRange=10)), "innvortis"===_.preset && (_.resonance=_.sResonance=S.R(1e-4, .002), _.eAmp=.08, _.eResonance=.001, _.reverse=0, _.angleHueShift=S.R() > .8 ? S.R(.2, .5) : .1, _.sRadius=_.radius=500, _.eRadius=3200, _.velocityFactor=150, _.rotationRate=S.R(-.5, .5), _.brightnessRange=20), "fluidity"===_.preset && (_.octaves=2, _.radius=_.sRadius=S.R(300, 600), _.radius=_.sRadius=1e3, _.eRadius=2e3 - _.radius, _.freq=_.sFreq=S.R(1.5, 2.2), _.eFreq=S.R(1, 2), _.amp=_.sAmp=S.R(.01, .05), _.eAmp=S.R(.02, .05), _.resonance=_.sResonance=S.R(.001, .004), _.eResonance=S.R(.002, .004), _.velocityFactor=35, _.angleHueShift=S.R() > .8 ? S.R(.3, .5) : .2, _.reverse=S.R() > .8), "mountain"===_.preset && (_.pC=S.R(20, 300), _.mod=_.sMod=0, _.octaves=1, _.resonance=_.sResonance=_.eResonance=S.R(.01, .04), _.temporalDisplacement=_.sTemporalDisplacement=S.R(1250, 2500), _.eTemporalDisplacement=S.R(75, 500), _.rotationRate=1, _.sRadius=_.radius=0, _.eRadius=2e3, _.freq=_.sFreq=S.R(1.1, 3.4), _.eFreq=S.R(1.2, 5), _.amp=_.sAmp=S.R(1, 2), _.eAmp=S.R(.05, .12), _.architecture=_.sArchitecture=.001, _.eArchitecture=.125, _.velocityFactor=45, _.angleHueShift=.12), "quarterCircle"===_.preset && (_.pC=S.R(200, 500), _.radius=_.sRadius=2e3, _.eRadius=7200, _.freq=_.sFreq=S.R(.01, 1.7), _.eFreq=S.R(.01, .1), _.amp=_.sAmp=S.R(.1, .18), _.eAmp=S.R(.2, .3), _.resonance=_.sResonance=.001, _.eResonance=S.R(.003, .005), _.angleHueShift=.4, _.velocityFactor=70), _.reverse && (_.sRadius=_.eRadius, _.eRadius=_.radius, _.radius=_.eRadius), _.drawFromIndex=S.R() > .9 ? Math.round(S.R(0, _.pC / 3)) : 0, "quarterCircle"===_.preset && (_.drawFromIndex=Math.min(50, _.drawFromIndex)), _.drawToIndex=S.R() > .9 ? _.pC - Math.round(S.R(0, _.pC / 3)) : _.pC - 1, _.drawToIndex < _.drawFromIndex && (console.error("Bad draw indexing. Fixing..."), _.drawToIndex=_.pC), _.renderNth="quarterCircle" !==_.preset && S.R() > .98 ? Math.round(1 + 10 * S.R()) : 1, _.pC < 50 && (_.renderNth=1), T=Math.min(_.pC, 500), _.duration=S.R(2, 10) * _.pC / T, A=Math.floor(Math.max(50, 30 * _.duration)), _.skips=[], S.R() > .5 && "quarterCircle" !==_.preset){let e=0; for (e=5 + Math.round(10 * S.R()), t=0; t < e; t++){let e=Math.round(S.R() * A), t=e + Math.round(S.R() * (A - e) * .1); for (var n=e; n < t; n++)_.skips.push(n)}}C.noiseDetail(_.octaves, _.freq), _.randomColorFamily=Math.round(S.R(0, l.default.totalSets - 1)), _.theme=S.R() < .3 ? "huey" : "quilted", "innvortis"===_.preset && (_.theme="quilted"), _.randomHue=S.R(l.default.hues.fills), _.sHue=_.hue=_.randomHue[0], _.eHue=Math.min(360, _.sHue + S.R(8, 20) + (S.R() > .95 ? 10 : 0)), 25 < _.eHue < 50 && (_.eHue=_.hue - 20), _.sSaturation=_.randomHue[1], _.eSaturation=_.sSaturation + S.R(20), _.sBrightness=_.randomHue[2], _.brightnessRange=Math.min(90 - _.sBrightness, 25), _.eBrightness=Math.min(90, _.sBrightness + _.brightnessRange), _.drawLines=S.R() > .9, _.drawFills=S.R() < .85, _.drawGrid=S.R() < .25, _.drawNormals="fluidity" !==_.preset ? S.R() > .95 : 0, _.drawSwirls=S.R() > .65, _.varyingLineWidth=1, _.drawLines || _.drawSwirls || (_.drawFills=1), _.drawSwirls && (_.drawNormals=0), _.isMonochrome=4===_.randomHue.length && 1===_.randomHue[3], S.R() > .99 && (_.theme="pride", _.sHue=0, _.eHue=360), _.isMonochrome && (_.eBrightness=_.sBrightness, _.brightnessRange=10, _.angleHueShift=0), "huey" !==_.theme ? (_.brightnessRange=25, _.eBrightness=_.sBrightness + _.brightnessRange, _.colorChangeFrequency=S.R()) : _.colorChangeFrequency=0; for (let e, t, r=0; r < _.pC; r++)t=new o.default, e=$({particle: t, i: r}), t.sLP(e), t.sP(e), (!_.randomFill || S.R() > _.colorChangeFrequency) && (_.randomFill=l.default.random(_.randomColorFamily, "fills", S)), t.sC(_.randomFill), F.push(t); for (t=0; t < q.length; t++)q[t].ctx.clearRect(0, 0, g, g); q=[], k=new i.default(g), _.eBWR && q.push(k), _.bgColor=l.default.random(_.randomColorFamily, "bg", S), _.disableGradient=1, ("huey"===_.theme || "pride"===_.theme) && (_.bgColor=`hsl(${360 - _.sHue},${.2 * _.sSaturation}%,${_.sBrightness >=70 ? 15 : 90}%)`); N.render({color: _.bgColor, disableGradient: _.disableGradient, N: C, amp: _.amp}), v.drawImage(N.canvas, 0, 0, g, g), document.body.style.background=_.bgColor, I=1, _.isComplete=0, window.requestAnimationFrame(W); const d={}; d["Particle Count"]=_.pC < 50 ? "few" : "many", d["Total Frames"]=A, d.Preset=_.preset, d.Theme=_.theme, d.Reversed=_.reverse, d["Has Skips"]=0===!_.skips.length, d.Plotter=_.renderNth > 1, d["Draw Lines"]=_.drawLines, d["Draw Triangles"]=_.drawFills, d["Draw Squares"]=_.drawGrid, d["Draw Normals"]=_.drawNormals, d["Draw Swirls"]=_.drawSwirls, d.Mirrored=0, d["Color Family"]="huey"===_.theme ? `huey-${_.randomColorFamily}` : l.default.sets[_.randomColorFamily].name, window.METADATA=d})(), W()}), window.addEventListener("keydown", e=>{switch (e.key){case "o": console.log(_); break; case "s": j(); break; case "z": _.zoom=_.zoom ? 0 : 1, G(1); break; case "Escape": _.zoom=0, G(1)}}), window.addEventListener("mousemove", e=>{_.mx=e.pageX, _.my=e.pageY})},{"./BGRenderer": 2, "./BWRenderer": 3, "./Colors": 6, "./Noise": 7, "./PRNG": 8, "./Particle": 9}], 2: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; var a=n(e("./ColorUtils")), s=n(e("./BaseRenderer")); function n(e){return e && e.__esModule ? e :{default: e}}r.default=class extends s.default{render({color: e="hsl(300,55%,90%)", disableGradient: t=!1, N: r, amp: s}={}){const n=this.bs / 2; var i=this.ctx.createRadialGradient(n, n, n / 2, n, n, n); let o=a.default.b(e, 10); i.addColorStop(0, o), i.addColorStop(1, e), this.ctx.fillStyle=t ? e : i, this.ctx.fillRect(0, 0, this.bs, this.bs); for (var l=0; l < this.bs / 25; l +=25){for (var d=0; d < this.bs / 25; d +=25){let e=r.noise(l * s, d * s); this.ctx.strokeStyle="hsla(0,0%,100%,.1)", this.ctx.save(), this.ctx.translate(25 * l + 5 * e, 25 * d + 5 * e), this.ctx.rotate(e), this.ctx.moveTo(0, 0), this.ctx.lineTo(5, 5), this.ctx.lineTo(0, 10), this.ctx.restore()}this.ctx.stroke()}}}},{"./BaseRenderer": 4, "./ColorUtils": 5}], 3: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; var a=n(e("./ColorUtils")), s=n(e("./BaseRenderer")); function n(e){return e && e.__esModule ? e :{default: e}}r.default=class extends s.default{render({particles: e, drawFromIndex: t=0, drawToIndex: r=1e3, hue: s, saturation: n, brightness: i, brightnessRange: o, maxVelocity: l, angleHueShift: d=0, drawLines: c=0, drawFills: u=0, drawGrid: h=0, drawNormals: m=0, drawSwirls: f=0, renderNth: p=1, varyingLineWidth: g, theme: R}){const b=e.length; for (var x, M, w, v, y, S, C, _, F, P, H, T=t, A=Math.min(b, r); T < A; T++){if (T % p !=0) continue; S=e[T ? T - 1 : b - 1], M=(x=e[T]).gX(), w=x.gY(), v=x.gLP().x, y=x.gLP().y, C=S.gX(), _=S.gY(), F=x.gV(), P=x.gA(); let t=this.map(F, 0, l, i - o, i + o), r=s + P * d; "huey" !==R && (H=x.gC(), H=a.default.f(H), r=a.default.getHueFromHSL(H), n=a.default.getSatFromHSL(H), t=a.default.getBFromHSL(H) + F / l * o), H=`hsla(${r}, ${n}%, ${t=Math.min(90, Math.max(0, t))}%, ${Math.min(100, Math.max(10, 100 * (1 - F / l)))})`, m && (this.ctx.beginPath(), this.ctx.moveTo(M, w), this.ctx.lineTo(M + (_ - w) * Math.min(500, .005 * F), w + (C - M) * Math.min(500, .005 * F)), this.ctx.closePath(), this.ctx.strokeStyle=`hsla(${r}, ${n}%, ${t + 50}%, 0.5)`, this.ctx.strokeStyle=H, this.ctx.stroke()), (c || u || h) && (this.ctx.beginPath(), this.ctx.moveTo(M, w), this.ctx.lineTo(v, y), T && this.ctx.lineTo(C, _), h && (this.ctx.lineTo(C, _), this.ctx.lineTo(S.gLP().x, S.gLP().y)), this.ctx.closePath()), (u || h) && (this.ctx.fillStyle=H, this.ctx.fill()), c && (this.ctx.lineWidth=g ? Math.min(25, Math.max(2, .05 * F)) : 1, this.ctx.strokeStyle=`hsla(${r}, ${n}%, ${t - 50}%, 0.8)`, this.ctx.stroke()), f && (this.ctx.beginPath(), this.ctx.lineWidth=g ? Math.min(25, Math.max(2, .07 * F)) : 1, this.ctx.lineTo(M, w), this.ctx.lineTo(C, _), this.ctx.closePath(), this.ctx.strokeStyle=H, this.ctx.stroke())}}}},{"./BaseRenderer": 4, "./ColorUtils": 5}], 4: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; var a; a=e("./ColorUtils"); r.default=class{constructor(e,{varyingWidth: t=0, outputScale: r=1, renderNth: a=1}={}){this.canvas=document.createElement("canvas"), this.canvas.height=e, this.canvas.width=e, this.ctx=this.canvas.getContext("2d"), this.bs=e, this.varyingWidth=t, this.outputScale=r, this.renderNth=a}map(e, t, r, a, s){return (e - t) / (r - t) * (s - a) + a}render({particles: e, drawFromIndex: t=0, drawToIndex: r=1e3, maxVelocity: a=100}){const s=e.length; for (var n, i, o, l, d, c, u, h=t; h < Math.min(s, r); h++)h % this.renderNth==0 && (c=e[h ? h - 1 : s - 1], i=(n=e[h]).gX(), o=n.gY(), l=n.gLP().x, d=n.gLP().y, c.gX(), c.gY(), u=n.gV(), n.gA(), this.ctx.beginPath(), this.ctx.moveTo(i, o), this.ctx.lineTo(l, d), this.ctx.closePath(), this.ctx.lineWidth=this.varyingWidth ? Math.min(25, Math.max(2, .05 * u)) : 1, this.ctx.strokeStyle="hsl(100, 100%, 100%)", this.ctx.stroke())}}},{"./ColorUtils": 5}], 5: [function (e, t, r){"use strict"; function a(e){let t=0, r=0, a=0; return 4==e.length ? (t="0x" + e[1] + e[1], r="0x" + e[2] + e[2], a="0x" + e[3] + e[3]) : 7==e.length && (t="0x" + e[1] + e[2], r="0x" + e[3] + e[4], a="0x" + e[5] + e[6]), [t, r, a]}function s(e){let t=e[0], r=e[1], a=e[2]; t=parseInt(t) / 255, r=parseInt(r) / 255, a=parseInt(a) / 255; let s=Math.min(t, r, a), n=Math.max(t, r, a), i=n - s, o=0, l=0, d=0; return o=0==i ? 0 : n==t ? (r - a) / i % 6 : n==r ? (a - t) / i + 2 : (t - r) / i + 4, (o=Math.round(60 * o)) < 0 && (o +=360), d=(n + s) / 2, "hsl(" + o + "," + (l=+(100 * (l=0==i ? 0 : i / (1 - Math.abs(2 * d - 1)))).toFixed(1)) + "%," + (d=+(100 * d).toFixed(1)) + "%)"}function n(e){return s(a(e))}Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0, r.default={rgbToHsl: s, hslToRgb: function (e, t, r){var a, s, n; if (0==t) a=s=n=r; else{function i(e, t, r){return r < 0 && (r +=1), r > 1 && (r -=1), r < 1 / 6 ? e + 6 * (t - e) * r : r < .5 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e}var o=r < .5 ? r * (1 + t) : r + t - r * t, l=2 * r - o; a=i(l, o, e + 1 / 3), s=i(l, o, e), n=i(l, o, e - 1 / 3)}return [255 * a, 255 * s, 255 * n]}, hexToRGB: a, RGBToHex: function (e, t, r){return e=e.toString(16), t=t.toString(16), r=r.toString(16), 1==e.length && (e="0" + e), 1==t.length && (t="0" + t), 1==r.length && (r="0" + r), "#" + e + t + r}, hslToHex: function (e){let t=e.indexOf(",") > -1 ? "," : " ", r=(e=e.substr(4).split(")")[0].split(t))[0], a=e[1].substr(0, e[1].length - 1) / 100, s=e[2].substr(0, e[2].length - 1) / 100; r.indexOf("deg") > -1 ? r=r.substr(0, r.length - 3) : r.indexOf("rad") > -1 ? r=Math.round(r.substr(0, r.length - 3) * (180 / Math.PI)) : r.indexOf("turn") > -1 && (r=Math.round(360 * r.substr(0, r.length - 4))), r >=360 && (r %=360); let n=(1 - Math.abs(2 * s - 1)) * a, i=n * (1 - Math.abs(r / 60 % 2 - 1)), o=s - n / 2, l=0, d=0, c=0; return 0 <=r && r < 60 ? (l=n, d=i, c=0) : 60 <=r && r < 120 ? (l=i, d=n, c=0) : 120 <=r && r < 180 ? (l=0, d=n, c=i) : 180 <=r && r < 240 ? (l=0, d=i, c=n) : 240 <=r && r < 300 ? (l=i, d=0, c=n) : 300 <=r && r < 360 && (l=n, d=0, c=i), l=Math.round(255 * (l + o)).toString(16), d=Math.round(255 * (d + o)).toString(16), c=Math.round(255 * (c + o)).toString(16), 1==l.length && (l="0" + l), 1==d.length && (d="0" + d), 1==c.length && (c="0" + c), "#" + l + d + c}, b: function (e, t){0===e.indexOf("#") && (e=n(e)); let r=Number(e.split(",")[2].replace("%)", "")); r +=t; let a=e.split(","); return a[2]=`${r}%)`, a=a.join(",")}, rotateHue: function (e, t){let r=Number(e.split(",")[0].replace("hsl(", "")); r +=t, r %=360; let a=e.split(","); return a[0]=r, a=`hsl(${a.join(",")}`}, setHue: function (e, t){let r=Number(e.split(",")[0].replace("hsl(", "")); r=t, r %=360; let a=e.split(","); return a[0]=r, a=`hsl(${a.join(",")}`}, getHue: function (e){const t=s(a(e)); return Number(t.split(",")[0].replace("hsl(", ""))}, mixHsl: function (e, t, r){let a=Number(e.split(",")[0].replace("hsl(", "")), s=Number(e.split(",")[1].replace("%", "")), n=Number(e.split(",")[2].replace("%)", "")); return `hsl(${a + (Number(t.split(",")[0].replace("hsl(", "")) - a) * r},${s + (Number(t.split(",")[1].replace("%", "")) - s) * r}%,${n + (Number(t.split(",")[2].replace("%)", "")) - n) * r}%)`}, a: function (e, t){return `${e.replace(")", "")},${t})`}, getHueFromHSL: function (e){return Number(e.split(",")[0].replace("hsl(", ""))}, getSatFromHSL: function (e){return Number(e.split(",")[1].replace("%", ""))}, getBFromHSL: function (e){return Number(e.split(",")[2].replace("%)", ""))}, f: n}},{}], 6: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; var a=(()=>{let e=[{name: "Golden Lion", bg: ["#023e8a", "#e41459"], fills: ["#e9cf8f", "#f4b56e", "#ef787e", "#ecb226", "#e58825", "#a78952", "#755928"], strokes: ["#f7a751", "#ef787e", "#fcf2d8"]},{name: "Taos", bg: ["#371f5c"], disableGradient: !0, fills: ["#6c3db8", "#4ea8de", "#5fbbce", "#cd6084", "#dfc24e", "#E5943E"], strokes: ["#72efdd"]},{name: "Dapper McFly", bg: ["#03045e", "#023e8a", "#0077b6", "#5E1103"], fills: ["#030303", "#03045e", "#023e8a", "#0077b6", "#0096c7", "#00b4d8", "#48cae4", "#90e0ef", "#ade8f4", "#caf0f8", "#B50058", "#C70074", "#D90091", "#E349B0"], strokes: ["#B50058"]},{name: "Fiesta", fills: ["#2a9d8f", "#e9c46a", "#f4a261", "#e76f51"], bg: ["#264653"]},{name: "Sunrise over river", fills: ["#f94144", "#f3722c", "#f8961e", "#f9844a", "#f9c74f", "#90be6d", "#43aa8b", "#4d908e", "#577590", "#277da1"], bg: ["#f94144"]},{name: "Souk", fills: ["#5f0f40", "#9a031e", "#fb8b24", "#e36414", "#0f4c5c"], bg: ["#5f0f40"]},{name: "Lichen", fills: ["#8cb369", "#f4e285", "#f4a259", "#5b8e7d", "#bc4b51"], bg: ["#bc4b51"]},{name: "Sweater weather", fills: ["#d81159", "#8f2d56", "#218380", "#fbb13c", "#73d2de"], bg: ["#023047"]},{name: "Jukebox", fills: ["#d7263d", "#f46036", "#2e294e", "#1b998b", "#c5d86d"], bg: ["#2e294e"]},{name: "Harvest", fills: ["#ed555d", "#fffcc9", "#41b797", "#eda126", "#7b5770"], strokes: ["#fffcc9"], bg: ["#2d1922"]},{name: "Lizard King", fills: ["#2A9D8F", "#eca351", "#e76f51", "#EC8197", "#f093dc"], strokes: ["#F5EB75"], bg: ["#264653"]}]; return{sets: e, random: (t, r, a)=>{let s; const n=e[t]; switch (r){case "bg": s=n.bg; break; case "fills": s=n.fills; break; case "strokes": s=n.strokes}return a.R(s)}, totalSets: e.length, hues:{fills: [[335, 97, 77], [311, 55, 74], [349, 24, 70], [296, 44, 40], [3, 56, 80], [8, 76, 73], [357, 72, 65], [3, 67, 81], [356, 55, 79], [180, 74, 75], [93, 44, 81], [149, 33, 40], [131, 47, 35], [165, 34, 53], [199, 43, 66], [163, 55, 39], [7, 61, 72], [7, 49, 47], [7, 59, 60], [24, 69, 76], [286, 21, 64], [350, 31, 70], [92, 42, 62], [68, 28, 37], [150, 35, 46], [132, 37, 51], [117, 31, 25], [114, 24, 46], [201, 46, 56], [114, 34, 41], [188, 34, 60], [259, 56, 29], [6, 28, 28], [37, 9, 21, 1], [8, 27, 31], [29, 67, 75], [341, 52, 80], [191, 40, 68], [269, 47, 73], [228, 11, 31], [256, 6, 28], [217, 10, 39], [189, 41, 66], [0, 0, 0, 1], [0, 0, 0]]}}})(); r.default=a},{}], 7: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; r.default=(()=>{let e=4, t=.5; const r=e=> .5 * (1 - Math.cos(e * Math.PI)); let a; return{noise: function (s, n=0, i=0){if (null==a){a=new Array(4096); for (let e=0; e < 4096; e++)a[e]=Math.random()}s < 0 && (s=-s), n < 0 && (n=-n), i < 0 && (i=-i); let o, l, d, c, u, h=Math.floor(s), m=Math.floor(n), f=Math.floor(i), p=s - h, g=n - m, R=i - f, b=0, x=.5; for (let s=0; s < e; s++){let e=h + (m << 4) + (f << 8); o=r(p), l=r(g), d=a[4095 & e], d +=o * (a[e + 1 & 4095] - d), c=a[e + 16 & 4095], d +=l * ((c +=o * (a[e + 16 + 1 & 4095] - c)) - d), c=a[4095 & (e +=256)], c +=o * (a[e + 1 & 4095] - c), u=a[e + 16 & 4095], c +=l * ((u +=o * (a[e + 16 + 1 & 4095] - u)) - c), b +=(d +=r(R) * (c - d)) * x, x *=t, h <<=1, m <<=1, f <<=1, (p *=2) >=1 && (h++, p--), (g *=2) >=1 && (m++, g--), (R *=2) >=1 && (f++, R--)}return b}, noiseDetail: function (r, a){r > 0 && (e=r), a > 0 && (t=a)}, noiseSeed: function (e){const t=(()=>{const e=4294967296; let t, r; return{setSeed(a){r=t=(null==a ? Math.random() * e : a) >>> 0}, getSeed: ()=> t, rand: ()=> (r=(1664525 * r + 1013904223) % e) / e}})(); t.setSeed(e), a=new Array(4096); for (let e=0; e < 4096; e++)a[e]=t.rand()}}})},{}], 8: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; r.default=(()=>{const e=4294967296; const t=function (e, t){let r; if (r=null !=this._lcg_random_state ? this._lcg("_lcg_random_state") : Math.random(), void 0===e) return r; if (void 0===t) return e instanceof Array ? e[Math.floor(r * e.length)] : r * e; if (e > t){const r=e; e=t, t=r}return r * (t - e) + e}; return{R: t, random: t, randomSeed: function (e){this._lcgSetSeed("_lcg_random_state", e), this._gaussian_previous=!1}, _lcgSetSeed: function (t, r){this[t]=(null==r ? Math.random() * e : r) >>> 0}, _lcg: function (t){return this[t]=(1664525 * this[t] + 1013904223) % e, this[t] / e}}})},{}], 9: [function (e, t, r){"use strict"; Object.defineProperty(r, "__esModule",{value: !0}), r.default=void 0; r.default=class{constructor(){}sC(e){this._c=e}gC(){return `${this._c}`}sP(e){this._lp={...this._p}, this._p={...e}}gP(){return{...this._p}}hasP(){return this.hasOwnProperty("_p")}sLP(e){this._lp=e}gLP(){return{...this._lp}}gX(){return this._p.x}gY(){return this._p.y}gV(){return Math.sqrt(Math.pow(this._p.y - this._lp.y, 2) + Math.pow(this._p.x - this._lp.x, 2))}gA(){return Math.atan2(this._p.y - this._lp.y, this._p.x - this._lp.x) * (180 / Math.PI) + 180}}},{}], 10: [function (e, t, r){(function (e){(function (){e.CANVAS_SKETCH_DEFAULT_STORAGE_KEY=window.location.href}).call(this)}).call(this, "undefined" !=typeof global ? global : "undefined" !=typeof self ? self : "undefined" !=typeof window ? window :{})},{}]},{}, [1, 10]); </script>VanillaJS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Laya M</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>const hash="{{hash}}";class Random{constructor(e){this.seed=parseInt(e.slice(0,16),16)}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e4/1e4}random_between(e,a){return e+(a-e)*this.random_dec()}random_int(e,a){return Math.floor(this.random_between(e,a+1))}random_choice(e){return e[Math.floor(this.random_between(0,.99*e.length))]}}var DEFAULT_SIZE=900,WIDTH=window.innerHeight,HEIGHT=window.innerHeight,DIM=Math.min(WIDTH,HEIGHT),M=DIM/DEFAULT_SIZE;new p5;const r=new Random(hash);let verumx=[],verumy=[],tx=[],ty=[],suthu=4,ennikkai=0,mattram_choice=r.random_between(0,1),mattram=0,sinusoid=!1,cosine=!1,tangent=!1,cosecant=!1,secant=!1;mattram_choice>0&&mattram_choice<.2?(mattram=1,sinusoid=!0):mattram_choice>.2&&mattram_choice<.4?(mattram=2,cosine=!0):mattram_choice>.4&&mattram_choice<.75?(mattram=3,tangent=!0):mattram_choice>.75&&mattram_choice<.8?(mattram=4,cosecant=!0):mattram_choice>.8&&mattram_choice<1&&(mattram=5,secant=!0);let kadal=0,theneer=0,poochi=0,soothu=0,mela=0,keela_1=0,seven=0,keela_2=0,athigaram=0,frameCountthalli=0,shape=3,cut=0,niram1=0,niram2=0,niram3=0,onbathu=.9995,pathuaaiyram=1e4,aaiyram=1e3;function thodakkam(){niram1=r.random_int(0,30),niram2=r.random_int(0,30),niram3=r.random_int(0,30),1==mattram&&(ennikkai=r.random_int(3e3,7e3),soothu=r.random_choice([1,2,3,4,5,6,7,8,9]),mela=r.random_between(.1,1),keela_1=r.random_between(.1,1),seven=r.random_between(70,100),keela_2=r.random_between(.5,1),shape=r.random_choice([-2,-1,0,1,2,3,4]),athigaram=r.random_between(.5,1.5),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.2)),2==mattram&&(ennikkai=r.random_int(5e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.1,1),keela_1=r.random_between(.01,10),seven=r.random_between(70,300),keela_2=r.random_between(.01,10),athigaram=r.random_between(.1,20),frameCountthalli=9e8,keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.2)),3==mattram&&(ennikkai=r.random_int(6e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.00625,1),keela_1=r.random_between(.2,3),keela_2=r.random_between(.3,5),athigaram=r.random_between(.1,3),shape=r.random_choice([-.5,0,1,2,3,4]),cut=r.random_between(.01,10),frameCountthalli=9e8,keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.4)),4==mattram&&(ennikkai=r.random_int(14e3,15e3),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.1,1),keela_1=r.random_between(.01,3),keela_2=r.random_between(5,6),athigaram=r.random_between(.1,3),shape=r.random_choice([0,1,2,3,4]),cut=r.random_between(1,10),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=5.5)),5==mattram&&(ennikkai=r.random_int(6e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.00625,1),keela_1=r.random_between(.2,3),keela_2=r.random_between(.3,5),athigaram=r.random_between(.1,3),shape=r.random_choice([-2,-1,0,2,3,4]),cut=r.random_between(.01,100),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.5)),window.METADATA={background_redness:niram1,background_greeness:niram2,background_blueness:niram3,depth:ennikkai,intersection:shape,complexity:cut,variant:soothu,exponent:athigaram,sinusoid:sinusoid,cosine:cosine,tangent:tangent,cosecant:cosecant,secant:secant,artist:"Laya Mathikshara"}}function setup(){if(thodakkam(),createCanvas(WIDTH,HEIGHT),background(niram1,niram2,niram3),colorMode(HSB,360,100,100),1==mattram||3==mattram||4==mattram||5==mattram)for(let e=0;e<ennikkai;e+=1)verumx[e]=r.random_between(-4,shape),verumy[e]=r.random_between(-1*shape,4),tx[e]=ty[e]=NaN;else for(let e=0;e<ennikkai;e+=1)verumx[e]=r.random_between(-4,3),verumy[e]=r.random_between(-3,4),tx[e]=ty[e]=NaN;noStroke()}function draw(){1==mattram?ondru():2==mattram?irandu():3==mattram?moondru():4==mattram?nangu():5==mattram&&ainthu()}function ondru(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=10;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=1e4*poochi,r=verumy[e]/keela_2,o=seven+inthax/1e5,n=poochi**athigaram+inthax+a*PI*(verumx[e]/aaiyram);1==soothu?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=4)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=5)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=6)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=7)?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=8)?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=9)&&(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<100?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function irandu(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=10;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI**(e/ennikkai);inthax=verumx[e];let t=poochi**athigaram-inthax+a*PI*(verumx[e]/aaiyram),r=seven+inthax/1e5;1==soothu?(verumx[e]=1e5*poochi-verumy[e]+mela/sin(verumy[e]/keela_1+verumy[e]/keela_2/tan(t))/r,verumy[e]=inthax/(onbathu+poochi)):2==soothu?(verumx[e]=1e5*poochi-verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/tan(t))/r,verumy[e]=inthax/(onbathu+poochi)):(soothu=3)?(verumx[e]=1e5*poochi-verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/sin(t))/r,verumy[e]=inthax/(onbathu+poochi)):(verumx[e]=1e5*poochi-verumy[e]+mela/sin(verumy[e]/keela_1+verumy[e]/keela_2/sin(t))/r,verumy[e]=inthax/(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),5*frameCount<150?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function moondru(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=20;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=verumy[e]/keela_2,r=1e5,o=poochi**athigaram-inthax-a*PI*(verumx[e]/pathuaaiyram),n=10+inthax/r;1==soothu?(verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1+t%cos(o)*cut)/n,verumy[e]=inthax*(1+poochi)):2==soothu?(verumx[e]=100*poochi+verumy[e]+mela%sin(verumy[e]/keela_1+t%tan(o)*cut)/n,verumy[e]=inthax*(1+poochi)):(soothu=3)?(verumx[e]=100*poochi+verumy[e]+mela%cos(verumy[e]/keela_1+t%sin(o)*cut)/n,verumy[e]=inthax*(1+poochi)):(verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1+t%tan(o)*cut)/n,verumy[e]=inthax*(1+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<30?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function nangu(){translate(width/2,height/4),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=40;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=100*poochi,r=(verumy[e],verumy[e],poochi**athigaram-inthax-a+PI*(verumx[e]/pathuaaiyram)),o=10+inthax/1e5;verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1-verumy[e]/keela_2%cos(poochi**athigaram-inthax-a+PI*(verumx[e]/1e4))*cut)%(10+inthax/1e5),1==soothu?(verumx[e]=t+verumy[e]+mela%tan(verumy[e]/keela_1-verumy[e]/keela_2%cos(r)*cut)%o,verumy[e]=inthax*(1+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela%sin(verumy[e]/keela_1-verumy[e]/keela_2%tan(r)*cut)%o,verumy[e]=inthax*(1+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela%cos(verumy[e]/keela_1-verumy[e]/keela_2%sin(r)*cut)%o,verumy[e]=inthax*(1+poochi)):(verumx[e]=t+verumy[e]+mela%cos(verumy[e]/keela_1-verumy[e]/keela_2%cos(r)*cut)%o,verumy[e]=inthax*(1+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<50?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function ainthu(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=15;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=100*poochi,r=poochi**athigaram-inthax-a*PI*(verumx[e]/pathuaaiyram),o=inthax/1e5-10;inthax=verumx[e],1==soothu?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/cos(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+verumy[e]/keela_2/tan(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+verumy[e]/keela_2/cos(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/tan(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),2*frameCount<500?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}</script></body></html>P5JS
<!doctype html><html lang=en><meta charset=UTF-8><meta name=viewport content="width=device-width,shrink-to-fit=0,user-scalable=no,minimum-scale=1,maximum-scale=1"><head> <title>Laya M</title> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> <style>body{background: #000; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: row; margin: 0}canvas{margin: auto; display: block; box-shadow: 0 2px 12px -2px rgba(0, 0, 0, .15)}</style></head><body> <script>const hash="{{hash}}";class Random{constructor(e){this.seed=parseInt(e.slice(0,16),16)}random_dec(){return this.seed^=this.seed<<13,this.seed^=this.seed>>17,this.seed^=this.seed<<5,(this.seed<0?1+~this.seed:this.seed)%1e4/1e4}random_between(e,a){return e+(a-e)*this.random_dec()}random_int(e,a){return Math.floor(this.random_between(e,a+1))}random_choice(e){return e[Math.floor(this.random_between(0,.99*e.length))]}}var DEFAULT_SIZE=900,WIDTH=window.innerHeight,HEIGHT=window.innerHeight,DIM=Math.min(WIDTH,HEIGHT),M=DIM/DEFAULT_SIZE;new p5;const r=new Random(hash);let verumx=[],verumy=[],tx=[],ty=[],suthu=4,ennikkai=0,mattram_choice=r.random_between(0,1),mattram=0,sinusoid=!1,cosine=!1,tangent=!1,cosecant=!1,secant=!1;mattram_choice>0&&mattram_choice<.2?(mattram=1,sinusoid=!0):mattram_choice>.2&&mattram_choice<.4?(mattram=2,cosine=!0):mattram_choice>.4&&mattram_choice<.75?(mattram=3,tangent=!0):mattram_choice>.75&&mattram_choice<.8?(mattram=4,cosecant=!0):mattram_choice>.8&&mattram_choice<1&&(mattram=5,secant=!0);let kadal=0,theneer=0,poochi=0,soothu=0,mela=0,keela_1=0,seven=0,keela_2=0,athigaram=0,frameCountthalli=0,shape=3,cut=0,niram1=0,niram2=0,niram3=0,onbathu=.9995,pathuaaiyram=1e4,aaiyram=1e3;function thodakkam(){niram1=r.random_int(0,30),niram2=r.random_int(0,30),niram3=r.random_int(0,30),1==mattram&&(ennikkai=r.random_int(3e3,7e3),soothu=r.random_choice([1,2,3,4,5,6,7,8,9]),mela=r.random_between(.1,1),keela_1=r.random_between(.1,1),seven=r.random_between(70,100),keela_2=r.random_between(.5,1),shape=r.random_choice([-2,-1,0,1,2,3,4]),athigaram=r.random_between(.5,1.5),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.2)),2==mattram&&(ennikkai=r.random_int(5e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.1,1),keela_1=r.random_between(.01,10),seven=r.random_between(70,300),keela_2=r.random_between(.01,10),athigaram=r.random_between(.1,20),frameCountthalli=9e8,keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.2)),3==mattram&&(ennikkai=r.random_int(6e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.00625,1),keela_1=r.random_between(.2,3),keela_2=r.random_between(.3,5),athigaram=r.random_between(.1,3),shape=r.random_choice([-.5,0,1,2,3,4]),cut=r.random_between(.01,10),frameCountthalli=9e8,keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.4)),4==mattram&&(ennikkai=r.random_int(14e3,15e3),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.1,1),keela_1=r.random_between(.01,3),keela_2=r.random_between(5,6),athigaram=r.random_between(.1,3),shape=r.random_choice([0,1,2,3,4]),cut=r.random_between(1,10),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=5.5)),5==mattram&&(ennikkai=r.random_int(6e3,1e4),suthu=4,soothu=r.random_choice([1,2,3,4]),mela=r.random_between(.00625,1),keela_1=r.random_between(.2,3),keela_2=r.random_between(.3,5),athigaram=r.random_between(.1,3),shape=r.random_choice([-2,-1,0,2,3,4]),cut=r.random_between(.01,100),frameCountthalli=r.random_between(9e8,9e8),keela_2>-1e-4&&keela_2<1e-4&&(keela_2=.5)),window.METADATA={background_redness:niram1,background_greeness:niram2,background_blueness:niram3,depth:ennikkai,intersection:shape,complexity:cut,variant:soothu,exponent:athigaram,sinusoid:sinusoid,cosine:cosine,tangent:tangent,cosecant:cosecant,secant:secant,artist:"Laya Mathikshara"}}function setup(){if(thodakkam(),createCanvas(WIDTH,HEIGHT),background(niram1,niram2,niram3),colorMode(HSB,360,100,100),1==mattram||3==mattram||4==mattram||5==mattram)for(let e=0;e<ennikkai;e+=1)verumx[e]=r.random_between(-4,shape),verumy[e]=r.random_between(-1*shape,4),tx[e]=ty[e]=NaN;else for(let e=0;e<ennikkai;e+=1)verumx[e]=r.random_between(-4,3),verumy[e]=r.random_between(-3,4),tx[e]=ty[e]=NaN;noStroke()}function draw(){1==mattram?ondru():2==mattram?irandu():3==mattram?moondru():4==mattram?nangu():5==mattram&&ainthu()}function ondru(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=10;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=1e4*poochi,r=verumy[e]/keela_2,o=seven+inthax/1e5,n=poochi**athigaram+inthax+a*PI*(verumx[e]/aaiyram);1==soothu?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela/sin(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=4)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=5)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=6)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=7)?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/sin(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=8)?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/cos(n))/o,verumy[e]=inthax/(onbathu+poochi)):(soothu=9)&&(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+r/tan(n))/o,verumy[e]=inthax/(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<100?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function irandu(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=10;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI**(e/ennikkai);inthax=verumx[e];let t=poochi**athigaram-inthax+a*PI*(verumx[e]/aaiyram),r=seven+inthax/1e5;1==soothu?(verumx[e]=1e5*poochi-verumy[e]+mela/sin(verumy[e]/keela_1+verumy[e]/keela_2/tan(t))/r,verumy[e]=inthax/(onbathu+poochi)):2==soothu?(verumx[e]=1e5*poochi-verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/tan(t))/r,verumy[e]=inthax/(onbathu+poochi)):(soothu=3)?(verumx[e]=1e5*poochi-verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/sin(t))/r,verumy[e]=inthax/(onbathu+poochi)):(verumx[e]=1e5*poochi-verumy[e]+mela/sin(verumy[e]/keela_1+verumy[e]/keela_2/sin(t))/r,verumy[e]=inthax/(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),5*frameCount<150?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function moondru(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=20;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=verumy[e]/keela_2,r=1e5,o=poochi**athigaram-inthax-a*PI*(verumx[e]/pathuaaiyram),n=10+inthax/r;1==soothu?(verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1+t%cos(o)*cut)/n,verumy[e]=inthax*(1+poochi)):2==soothu?(verumx[e]=100*poochi+verumy[e]+mela%sin(verumy[e]/keela_1+t%tan(o)*cut)/n,verumy[e]=inthax*(1+poochi)):(soothu=3)?(verumx[e]=100*poochi+verumy[e]+mela%cos(verumy[e]/keela_1+t%sin(o)*cut)/n,verumy[e]=inthax*(1+poochi)):(verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1+t%tan(o)*cut)/n,verumy[e]=inthax*(1+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<30?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function nangu(){translate(width/2,height/4),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=40;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=100*poochi,r=(verumy[e],verumy[e],poochi**athigaram-inthax-a+PI*(verumx[e]/pathuaaiyram)),o=10+inthax/1e5;verumx[e]=100*poochi+verumy[e]+mela%tan(verumy[e]/keela_1-verumy[e]/keela_2%cos(poochi**athigaram-inthax-a+PI*(verumx[e]/1e4))*cut)%(10+inthax/1e5),1==soothu?(verumx[e]=t+verumy[e]+mela%tan(verumy[e]/keela_1-verumy[e]/keela_2%cos(r)*cut)%o,verumy[e]=inthax*(1+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela%sin(verumy[e]/keela_1-verumy[e]/keela_2%tan(r)*cut)%o,verumy[e]=inthax*(1+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela%cos(verumy[e]/keela_1-verumy[e]/keela_2%sin(r)*cut)%o,verumy[e]=inthax*(1+poochi)):(verumx[e]=t+verumy[e]+mela%cos(verumy[e]/keela_1-verumy[e]/keela_2%cos(r)*cut)%o,verumy[e]=inthax*(1+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),4*frameCount<50?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}function ainthu(){translate(width/2,height/2),rotate(PI/suthu),translate(-width/2,-height/2);for(let e=15;e-=1;){poochi+=frameCount/frameCountthalli;for(let e=0;e<ennikkai;e+=1){let a=PI*(e/ennikkai);inthax=verumx[e];let t=100*poochi,r=poochi**athigaram-inthax-a*PI*(verumx[e]/pathuaaiyram),o=inthax/1e5-10;inthax=verumx[e],1==soothu?(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/cos(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):2==soothu?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+verumy[e]/keela_2/tan(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):(soothu=3)?(verumx[e]=t+verumy[e]+mela/cos(verumy[e]/keela_1+verumy[e]/keela_2/cos(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)):(verumx[e]=t+verumy[e]+mela/tan(verumy[e]/keela_1+verumy[e]/keela_2/tan(r)*cut)/o,verumy[e]=inthax*(onbathu+poochi)),kadal=verumx[e]/15,theneer=verumy[e]/15,tx[e]=floor(kadal*width)+width/2,ty[e]=floor(theneer*height)+height/2,fill(0,0,255,.05),2*frameCount<500?rect(tx[e],ty[e],1*M,1*M):noLoop()}}}</script></body></html>P5JS
0xf7d96d2d…484d·#13,321,902·0x2575554b…f7632b
Ownable: new owner is the zero a`Ownable: caller is not the owner`GenArtInterfaceV2: choices must `have at least 1 value
0xf7d96d2d…484d·#13,257,832·0xdb75424b…c31836
GenArtGovToken: mint to the zero`GenArtGovToken: approve from the`Ownable: new owner is the zero a`GenArtGovToken: invalid nonceGenArtGovToken: cannot transfer `from the zero addressGenArtGovToken: transfer amount `exceeds allowanceGenArtGovToken: signature expire`GenArtGovToken: unauthorizedOwnable: caller is not the owner`SafeCast: value doesn't fit in 2`GenArtGovToken: cannot transfer `to the zero addressSafeCast: value doesn't fit in 3`GenArtGovToken: not yet determin`GenArtGovToken: approve to the z`GenArtGovToken: invalid signatur`GenArtGovToken: vote amount underflowsGenArtGovToken: transfer amount exceeds balance
0xf7d96d2d…484d·#13,257,802·0xf37b2460…ba5bac
GenArtTreasury: vesting end too `GenArtTreasury: vesting begin to`GenArtTreasury: caller is not pa`Ownable: new owner is the zero a`GenArtTreasury: amount would exc`GenArtTreasury: no tokens to cla`GenArtTreasury: caller is not te`Ownable: caller is not the owner`GenArtTreasury: only owner can c`GenArtTreasury: another transact`GenArtTreasury: partner already `
<html> <head> <meta name="viewport" content="width=device-width"> <title>Caesium</title> <style>body{background-color: black;}body{margin:0}</style> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.3.1/lib/p5.js"></script> </head> <body> <div id="c"></div><script lang="javascript">var scr=0,targ_scr=0,inv=!1,w=Math.min(innerHeight,innerWidth),k=w/200;const hashCode=r=>r.split("").reduce((r,e)=>(r=(r<<5)-r+e.charCodeAt(0))&r,0);function rnd_between(e,t){return r()*(t-e)+e}function hslToRgb(r,e,t){var a,n,i;if(0==e)a=n=i=t;else{var h=function(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+6*(e-r)*t:t<.5?e:t<2/3?r+(e-r)*(2/3-t)*6:r},l=t<.5?t*(1+e):t+e-t*e,k=2*t-l;a=h(k,l,r+1/3),n=h(k,l,r),i=h(k,l,r-1/3)}return[Math.round(255*a),Math.round(255*n),Math.round(255*i)]}function rgbToHsl(r,e,t){r/=255,e/=255,t/=255;var a,n,i=Math.max(r,e,t),h=Math.min(r,e,t),l=(i+h)/2;if(i==h)a=n=0;else{var k=i-h;switch(n=l>.5?k/(2-i-h):k/(i+h),i){case r:a=(e-t)/k+(e<t?6:0);break;case e:a=(t-r)/k+2;break;case t:a=(r-e)/k+4}a/=6}return[a,n,l]}function invertRGB(r,e,t){return[255-r,255-e,255-t]}class RectSpiral{constructor(e,t,a,n,i,h,l,k,s,c,M,o,I,w,P,u,d,g,p,y){this.rend=e,this.center={x:t,y:a},this.rectangleMode=i,this.rectCount=n,this.start={rev:h,rot:l,w:k,h:s,radius:c,hue:0},this.end={rev:o,rot:I,w:w,h:P,radius:u,hue:1},this.inc=g,this.c=0,this.spinDir=r()<.5?-1:1,this.spinDir*=.005*(r()+1),this.greyscale=p,this.wire=y}draw(r,e,t,a){this.c+=this.inc,this.rend.push(),this.rend.colorMode(this.rend.HSL,1),this.rend.rectMode(this.rectangleMode),this.rend.noStroke(),this.rend.translate(this.center.x*this.rend.width,this.center.y*this.rend.height);var n=(this.end.rev-this.start.rev)/this.rectCount*r,i=(Math.abs(this.start.w)+Math.abs(this.end.w))/2,h=(Math.abs(this.start.h)+Math.abs(this.end.h))/2,l=(i-h)/(i+h),k=Math.sign(l),s=l>.6,c=s?0:-1;this.rend.rotate(this.start.rev+this.c*this.spinDir/3);for(var M=0;M<=1;M+=1/this.rectCount){var o=this.rend.lerp(this.start.radius,this.end.radius,M)*this.rend.width,I=this.rend.map(M*e,0,1,this.start.rot,this.end.rot,!1),w=this.rend.lerp(this.start.w,this.end.w,M)*t*(1+.5*scr*(c+(s?k<0?3:-1:0))),P=this.rend.lerp(this.start.h,this.end.h,M)*a*(1+.5*scr*(c+(s?k>0?3:-1:0))),u=(this.rend.lerp(this.start.hue,this.end.hue,M)+this.c/300)%1;this.rend.push(),this.rend.translate(0,o),this.rend.rotate(I),this.wire?(this.rend.noFill(),this.greyscale?this.rend.stroke(0,0,inv?1-u:u):this.rend.stroke(inv?rgbToHsl(...invertRGB(...hslToRgb(...[u,1,.5]))):[u,1,.5])):this.greyscale?this.rend.fill(0,0,inv?1-u:u):this.rend.fill(inv?rgbToHsl(...invertRGB(...hslToRgb(...[u,1,.5]))):[u,1,.5]),this.rend.rect(0,0,w,P),this.rend.pop(),this.rend.rotate(n)}this.rend.pop()}}function toNum(r){return parseInt(r,16).toString().split("").map(r=>parseInt(isNaN(r)?0:r)).reduce((r,e)=>r+e)}function getID(){for(var r=Array(theme_rarities.length).fill(theme_rarities).map((r,e)=>r.slice(0,e+1)).map(r=>r.reduce((r,e)=>r+e)),e=0;e<r.length;e++){var t=null!=r[e-1]?r[e-1]:0,a=null!=r[e]?r[e]:1;if(mod1>t&&mod1<a)return e}}const LCG=r=>()=>(2**31-1&(r=Math.imul(48271,r)))/2**31,r=LCG(hashCode(hash)),grey=r()<.01,wireF=r()<.01,mod1=r(),mod2=r(),mod3=r(),mod4=.6+.3*r(),mod5=.6+.3*r(),themes=[[new RectSpiral(null,.5,.5,130,"center",0,Math.PI/2,25*k,.25*k,.1,.86,-Math.PI,Math.PI/2,-100*k,.25*k,1/3,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,75,"center",Math.PI/4,0,1*k,1*k,.1*.7,.86,-1.3*Math.PI*.75*.75,1*Math.PI,50*k,42*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,60,"corner",Math.PI/2,0,20*k,.25*k,1/7,.86,1.75*Math.PI,1*Math.PI,100*k,2*k,1/3,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,17,"center",0,Math.PI/2,20*k,15*k,1/14,.93,-2.3*Math.PI*.75,2*Math.PI,40*k,30*k,.5,r()-.5,r(),grey,!0),new RectSpiral(null,.5,.5,60,"center",0,0,1*k,1*k,1/15,.93+.5,-1.3*Math.PI*.75*1.5,-1.1*Math.PI,44*k,38*k,1/2.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,0,4*k,4*k,1/7,.93+.5,-1.3*Math.PI*.75,2*Math.PI,4*k,4*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,0,150*k,.5*k,1/3,.86,-Math.PI/2,-Math.PI/2,-150*k,.5*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,130,"corner",0,0,150*k,.5*k,1/30,.86,Math.PI/2,0,0*k,.5*k,1/30,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,130,"center",0,0,25*k,25*k,.25,.86,2*-Math.PI,-Math.PI/2,-25*k,1*k,1/15,.93+1,r(),grey,wireF),new RectSpiral(null,.5,.5,100,"center",-Math.PI,Math.PI/2,1*k,1*k,.1,.93+.5,1*Math.PI*.75,1*Math.PI,70*k,.5*k,.4,.93+1,r(),grey,wireF),new RectSpiral(null,.5,.5,20,"center",0,0,1*k,1*k,0,.93+.5,-1.3*Math.PI*.75,1.25*Math.PI,50*k,40*k,.4,.93+1,r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,0,50*k,1*k,1/3,.86,-Math.PI/2,-Math.PI/2,-50*k,1*k,.4,.93+1,r(),grey,wireF),new RectSpiral(null,.5,.5,45,"center",0,0,50*k,1*k,0,.86,-Math.PI/2,-Math.PI/2,25*k,1*k,0,.93+1,r(),grey,wireF)],[new RectSpiral(null,.5,.5,80,"center",0,0,100*k,100*k,.2,.93,-Math.PI,-Math.PI/2,100*k,1*k,.1,1.03,r(),grey,!0),new RectSpiral(null,.5,.5,130,"corner",-Math.PI,0,60*k,35*k,1/14,.93+.5,1*Math.PI*.75,1*Math.PI,1*k,1*k,.5,.93+1,r(),grey,wireF),new RectSpiral(null,.5,.5,80,"center",0,0,100*k,1*k,1/3,.93,-Math.PI,-Math.PI/2,100*k,.25*k,1/8,1.03,r(),grey,wireF)],[new RectSpiral(null,.5,.5,140,"corner",Math.PI/2,0,1*k,1*k,.04,.86,1.75*Math.PI,1*Math.PI,80*k,40*k,.2,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,80,"center",0,0,100*k,1*k,1/3,.93,-Math.PI,-Math.PI/2,100*k,1*k,1/8,1.03,r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,0,20*k,18*k,.1,.86,-1.3*Math.PI*.75,1*Math.PI,40*k,.25*k,.4,r(),r(),grey,!0)],[new RectSpiral(null,.5,.5,90,"center",0,0,2*k,1*k,0,.93-.5,-1.3*Math.PI*.75*2,1*Math.PI,30*k,25*k,.2,.93,r(),grey,wireF),new RectSpiral(null,.5,.5,35,"center",-Math.PI,0,2*k,1.5*k,0,.93-.5,1*Math.PI*.75,1*Math.PI,60*k,5*k,.4,.93,r(),grey,!0),new RectSpiral(null,.5,.5,130,"center",Math.PI,0,200*k,.25*k,.25,.86,Math.PI/2,-Math.PI/2,-200*k,.25*k,1/3,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,35,"center",0,0,150*k,2*k,.25,.86,Math.PI/2,Math.PI/2,-150*k,2*k,1/3,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,70,"center",0,0,200*k,.35*k,.05,.93+.5,-1.3*Math.PI*.75*Math.PI/2,Math.PI/2,-200*k,.35*k,.04,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,70,"center",0,Math.PI/2,100*k,2*k,1/3,.86,2*-Math.PI,Math.PI/2,-100*k,2*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,10,"center",0,0,5*k,5*k,.2,.86,-Math.PI/2,-Math.PI/2,5*k,5*k,.2,.93+1,r()),new RectSpiral(null,.5,.5,90,"center",Math.PI/2,0,2*k,2*k,1/15,.86,3*Math.PI,0,25*k,20*k,1/3,.93+1,r()),new RectSpiral(null,.5,.5,130,"center",0,0,50*k,1*k,1/3,.86,-Math.PI/2,-Math.PI/2,-50*k,1*k,.4,.93+1,r())],[new RectSpiral(null,.5,.5,18,"center",0,0,50*k,50*k,.3,.86,2,0,10*k,10*k,.3,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,50,"center",0,0,150*k,.5*k,.17,.86,Math.PI/2,0,250*k,.5*k,.17,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,22,"center",Math.PI/2,0,50*k,50*k,1/3,.86,2+Math.PI/2,0,10*k,10*k,1/3,r(),r(),grey,!0),new RectSpiral(null,.5,.5,200,"corner",Math.PI/2,-Math.PI/2,80*k,10*k,0,.86,1.75*Math.PI*2,3*Math.PI/2,1*k,1*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,98,"corner",Math.PI/2,-Math.PI/2,90*k,.25*k,0,.86,1.75*Math.PI*2,3*Math.PI/2,0*k,.25*k,0,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,60,"center",0,0,10*k,10*k,1/3,.86,2*-Math.PI,-Math.PI/2,20*k,20*k,1/15,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,80,"center",0,Math.PI/2,250*k,.25*k,.04,.86,-Math.PI/3,Math.PI/2,-35*k,.25*k,1/15,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,60,"center",0,0,100*k,1*k,1/3,.86,-Math.PI,-Math.PI/2,50*k,1*k,.2,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,130,"center",0,Math.PI/2,100*k,2*k,1/3*.8,.86,-Math.PI,2*Math.PI,-100*k,6*k,1/2.2*.8,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,0,2*k,1*k,.1,.86,-1.3*Math.PI*.75,3*Math.PI,50*k,.25*k,.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,160,"center",0,Math.PI/2,170*k,.25*k,.2,.86,-Math.PI/3,-Math.PI/2,-70*k,.25*k,.04,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,160,"corner",0,0,10*k,10*k,.04,.86,1.6*-Math.PI,0,150*k,150*k,.04,r(),r(),grey,!0)],[new RectSpiral(null,.5,.5,80,"center",0,Math.PI/2,250*k,.25*k,.04,.86,-Math.PI/3,Math.PI/2,-35*k,.25*k,1/15,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,50,"center",0,0,200*k,.5*k,.12,.86,Math.PI/2,0,250*k,.5*k,.12,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,400,"corner",Math.PI/2,-Math.PI/2,100*k,.2*k,.4,.86,1.75*Math.PI*1.5,1*Math.PI/2,1*k,.2*k,0,r(),r(),grey,wireF)],[new RectSpiral(null,.5,.5,50,"center",0,0,200*k,.5*k,.2*.4,.86,Math.PI/2,0,-50*k,.5*k,.2*.4,r(),r(),grey,wireF),new RectSpiral(null,.5,.5,130,"center",0,Math.PI/2,100*k,.2*k,1/3*.8,.86,-Math.PI,2*Math.PI,-100*k,.6*k,1/2.2*.8,r(),.8,grey,wireF)]],theme_rarities=[.08,.08,.08,.08,.08,.08,.08,.08,.08,.08,.04,.04,.04,.04,.04],theme_names=["Vertex","Axiom","Chord","Matrix","Rhombus","Octagon","Hexagon","Trapezoid","Quadrilateral","Postulate","Intergral","Tangent","Derivative","Tensor","Manifold"],id=getID();window.METADATA={theme:theme_names[id],greyscale:grey,total_wireframe:wireF,contains_wireframe:themes[id].map(r=>r.wire).includes(!0),contains_center_star:null!=themes[id].find(r=>r.start.radius==r.end.radius&&0==r.start.radius),revolution:Math.floor(100*mod2),twisting:Math.floor(100*mod3),width:Math.floor(100*mod4),height:Math.floor(100*mod5)};let sketch=function(r){r.setup=function(){var e=r.createCanvas(w,w);for(var t of(e.parent("c"),e.elt.style.margin="auto",e.elt.style.display="block",themes))for(var a of t)a.rend=r},r.draw=function(){for(var e of(scr=(scr+targ_scr)/2,r.background(0+inv?255:0),r.push(),themes[id]))e&&e.draw(2*mod2+Math.PI,3*mod3,mod4+.1,mod5+.1);r.pop()},r.mouseWheel=(e=>{targ_scr-=e.delta/750,targ_scr=r.constrain(targ_scr,0,1)}),r.mouseClicked=(r=>{inv=!inv,document.getElementsByTagName("body")[0].style.background=inv?"#fff":"#000"})},myp5=new p5(sketch); </script> </body> </html>
<!DOCTYPE html> <meta name="viewport" content="width=device-width"> <title>Clines</title> <style> * { background-color: black } canvas { margin: auto; position: absolute; top: 0; bottom: 0; left: 0; right: 0 } </style><canvas id=A></canvas> <script>window.METADATA = {};M = Math, W = 0, onresize = Z = _ => { W = M.min(innerWidth, innerHeight), A.style.width = A.style.height = W + "px", W = A.width = A.height = 0 | W * (devicePixelRatio || 1), C = A.getContext`2d`; { let a = 0x9E3779B9, b = 0x243F6A88, c = 0xB7E15162, d = parseInt(hash.substr(2, 8), 16), e; R = _ => (e = 0 | a + b + d, ++d, a = b ^ b >>> 9, b = c + (c << 3), c = c << 21 | c >>> 11, c += e, (e >>> 0) / 2 ** 32) } for (i = 16; i--;)R(); P = [["FFFFFF", "000000", "FFFFFF", "000000"], ["222831", "393E46", "00ADB5", "EEEEEE"], ["F9ED69", "F08A5D", "B83B5E", "6A2C70"], ["F38181", "FCE38A", "EAFFD0", "95E1D3"], ["08D9D6", "252A34", "FF2E63", "EAEAEA"], ["364F6B", "3FC1C9", "F5F5F5", "FC5185"], ["A8D8EA", "AA96DA", "FCBAD3", "FFFFD2"], ["E3FDFD", "CBF1F5", "A6E3E9", "71C9CE"], ["E4F9F5", "30E3CA", "11999E", "40514E"], ["FFC7C7", "FFE2E2", "F6F6F6", "8785A2"], ["F9F7F7", "DBE2EF", "3F72AF", "112D4E"], ["48466D", "3D84A8", "46CDCF", "ABEDD8"], ["2B2E4A", "E84545", "903749", "53354A"], ["00B8A9", "F8F3D4", "F6416C", "FFDE7D"], ["FFB6B9", "FAE3D9", "BBDED6", "61C0BF"], ["E23E57", "88304E", "522546", "311D3F"], ["FFCFDF", "FEFDCA", "E0F9B5", "A5DEE5"], ["212121", "323232", "0D7377", "14FFEC"], ["A8E6CF", "DCEDC1", "FFD3B6", "FFAAA5"], ["DEFCF9", "CADEFC", "C3BEF0", "CCA8E9"], ["FFC8C8", "FF9999", "444F5A", "3E4149"], ["F67280", "C06C84", "6C5B7B", "355C7D"], ["3EC1D3", "F6F7D7", "FF9A00", "FF165D"], ["2D4059", "EA5455", "F07B3F", "FFD460"], ["6FE7DD", "3490DE", "6639A6", "521262"], ["BAD7DF", "FFE2E2", "F6F6F6", "99DDCC"], ["8EF6E4", "9896F1", "D59BF6", "EDB1F1"], ["A1EAFB", "FDFDFD", "FFCEF3", "CABBE9"], ["384259", "F73859", "7AC7C4", "C4EDDE"], ["303841", "00ADB5", "EEEEEE", "FF5722"], ["DCEDC2", "FFD3B5", "FFAAA6", "FF8C94"], ["F0F5F9", "C9D6DF", "52616B", "1E2022"], ["F85F73", "FBE8D3", "928A97", "283C63"], ["07689F", "A2D5F2", "FAFAFA", "FF7E67"], ["2A363B", "E84A5F", "FF847C", "FECEA8"], ["00E0FF", "74F9FF", "A6FFF2", "E8FFE8"], ["A8E6CF", "FDFFAB", "FFD3B6", "FFAAA5"], ["F7FBFC", "D6E6F2", "B9D7EA", "769FCD"], ["7EFFDB", "B693FE", "8C82FC", "FF9DE2"], ["15B7B9", "10DDC2", "F5F5F5", "F57170"], ["CEFFF1", "ACE7EF", "A6ACEC", "A56CC1"], ["A9EEE6", "FEFAEC", "F9A1BC", "625772"], ["EBFFFA", "C6FCE5", "6EF3D6", "0DCEDA"], ["0C056D", "590D82", "B61AAE", "F25D9C"], ["DFF4F3", "DDE7F2", "B9BBDF", "878ECD"], ["D4A5A5", "FFECDA", "F9FFEA", "A6D0E4"], ["1FAB89", "62D2A2", "9DF3C4", "D7FBE8"], ["99E1E5", "F3E8CB", "F2C6B4", "FBAFAF"], ["303841", "3A4750", "D72323", "EEEEEE"], ["303A52", "574B90", "9E579D", "FC85AE"], ["FAFAFA", "E8F1F5", "005691", "004A7C"], ["155263", "FF6F3C", "FF9A3C", "FFC93C"], ["283149", "404B69", "F73859", "DBEDF3"], ["393232", "4D4545", "8D6262", "ED8D8D"], ["FEF0FF", "D6C8FF", "C79ECF", "7E6BC4"], ["FCEFEE", "FCCDE2", "FC5C9C", "C5E3F6"], ["F5EEE6", "F3D7CA", "E6A4B4", "C86B85"], ["11CBD7", "C6F1E7", "F0FFF3", "FA4659"], ["FF6464", "FF8264", "FFAA64", "FFF5A5"], ["27296D", "5E63B6", "A393EB", "F5C7F7"], ["A9EEE6", "FEFAEC", "F38181", "625772"], ["FB929E", "FFDFDF", "FFF6F6", "AEDEFC"], ["FFFCCA", "55E9BC", "11D3BC", "537780"], ["66BFBF", "EAF6F6", "FCFEFE", "F76B8A"], ["FBF0F0", "DFD3D3", "B8B0B0", "7C7575"], ["233142", "455D7A", "F95959", "E3E3E3"], ["E0FCFF", "90F2FF", "6EB6FF", "7098DA"], ["3A0088", "930077", "E61C5D", "FFBD39"], ["F8B595", "F67280", "C06C84", "6C5B7C"], ["00204A", "005792", "00BBF0", "D9FAFF"], ["35477D", "6C5B7B", "C06C84", "F67280"], ["C7F3FF", "FDC7FF", "FFDCF5", "F2F4C3"], ["F6F6F6", "D6E4F0", "1E56A0", "163172"], ["FFA5A5", "FFFFC2", "C8E7ED", "BFCFFF"], ["4D606E", "3FBAC2", "D3D4D8", "F5F5F5"], ["253B6E", "1F5F8B", "1891AC", "D2ECF9"], ["C7F5FE", "FCC8F8", "EAB4F8", "F3F798"], ["071A52", "086972", "17B978", "A7FF83"], ["9DDCDC", "FFF4E1", "FFEBB7", "E67A7A"], ["A7EFE9", "7FDFD4", "FBE1B6", "FBAC91"], ["C8F4DE", "A4E5D9", "66C6BA", "649DAD"], ["ADF7D1", "95E8D7", "7DACE4", "8971D0"], ["2A363B", "E84A5F", "FF847B", "FECEA8"], ["FFD9E8", "DE95BA", "7F4A88", "4A266A"], ["A6E4E7", "F9F9F9", "EBCBAE", "8F8787"], ["232931", "393E46", "4ECCA3", "EEEEEE"], ["DFF5F2", "87DFD6", "46B7B9", "2F9296"], ["E7E6E1", "F7F6E7", "C1C0B9", "537791"], ["700961", "B80D57", "E03E36", "FF7C38"], ["F69D9D", "FFEAB6", "FDFFBA", "C0FFC2"], ["222831", "393E46", "00ADB5", "00FFF5"], ["A1D9FF", "CA82F8", "ED93CB", "F2BBBB"], ["F4F7F7", "AACFD0", "79A8A9", "1F4E5F"], ["F8B195", "F67280", "C06C84", "355C7D"], ["E4FFFE", "A4F6F9", "FF99FE", "BA52ED"], ["EAAFAF", "A2738C", "645C84", "427996"], ["FBFBFB", "B9E1DC", "F38181", "756C83"], ["FA4659", "FEFFE4", "A3DE83", "2EB872"], ["F47C7C", "F7F48B", "A1DE93", "70A1D7"], ["F06868", "FAB57A", "EDF798", "80D6FF"], ["7A08FA", "A82FFC", "C264FE", "F8ECFD"], ["FFFFC1", "FFD2A5", "FFA8B8", "D988BC"], ["F2F2F2", "EBD5D5", "EA8A8A", "685454"], ["240041", "900048", "FF4057", "FF8260"], ["3498DB", "ECF0F1", "34495E", "F1C40F"], ["F4F7F7", "AACFD0", "5DA0A2", "34495E"], ["F33535", "D8E9F0", "33425B", "29252C"], ["0E3150", "6DC9C8", "FFC0C2", "F7E9E3"], ["E3D9CA", "95A792", "596C68", "403F48"], ["303841", "3A4750", "00ADB5", "EEEEEE"], ["FFDEDE", "F7F3CE", "C5ECBE", "4797B1"], ["F6F5F5", "E3E3E3", "3BB4C1", "048998"], ["39065A", "6A0572", "9A0F98", "EA0599"], ["0F1021", "D01257", "FB90B7", "FFCEE4"], ["29C6CD", "F6E4C4", "FEA386", "F19584"], ["6B0848", "A40A3C", "EC610A", "FFC300"], ["F12B6B", "FF467E", "FD94B4", "F6C7C7"], ["FFA3AC", "00043C", "005D6C", "00C9B1"], ["FC345C", "49BEB7", "AFFFDF", "EAFFF7"], ["F2FCFC", "BDF1F6", "8FBAF3", "0245A3"], ["FAFAF6", "00FFF0", "00D1FF", "3D6CB9"], ["F9ECEC", "F0D9DA", "C8D9EB", "ECF2F9"], ["020438", "284184", "1F8EA3", "00EAFF"], ["E4EDDB", "307672", "144D53", "1A3C40"], ["F64662", "C61951", "741938", "56132A"], ["FFE6EB", "FFCDCD", "6A65D8", "1D2786"], ["F4F9F4", "C4E3CB", "8AAE92", "616161"], ["FFB400", "FFFBE0", "2994B2", "474744"], ["45EBA5", "21ABA5", "1D566E", "163A5F"], ["D5FDFF", "9DE5FF", "ACA8FF", "AC73FF"], ["EFF0F4", "74DBEF", "0074E4", "264E86"], ["C7FFFF", "FBEEFF", "EBC6FF", "7E80FF"], ["560764", "913175", "DD5B82", "FE9797"], ["FF4D4D", "FF8364", "FDB87D", "FFE8D5"], ["E4F1FE", "8DC6FF", "22313F", "34495E"], ["27323A", "435055", "29A19C", "A3F7BF"], ["FFABE5", "C7F5FF", "D89FFF", "F6FCAE"], ["FAFAFA", "FFE9E3", "C4C1E0", "7C73E6"], ["F76262", "216583", "65C0BA", "CFFDF8"], ["F0FFF3", "C6F1E7", "70ACB1", "59606D"], ["0F3057", "00587A", "008891", "E7E7DE"], ["6C567B", "C06C84", "F67280", "F8B195"], ["FFFE9F", "FFD480", "FCA180", "F56262"], ["E9E2D0", "EA9085", "D45D79", "6E5773"], ["FF9898", "CF455C", "971549", "470031"], ["EB586F", "D8E9F0", "4AA0D5", "454553"], ["FDA403", "E8751A", "C51350", "8A1253"], ["283149", "404B69", "00818A", "DBEDF3"], ["18587A", "FC624D", "FCA7A7", "FFD6D6"], ["BC5148", "FEF8E6", "7BCECC", "3090A1"], ["F2E9D0", "EACEB4", "E79E85", "BB5A5A"], ["F8FCFB", "C9FDD7", "79D1C3", "6892D5"], ["00AD7C", "52D681", "B5FF7D", "FFF8B5"], ["111F4D", "F2F4F7", "E43A19", "020205"], ["FDFDC4", "FFE8CF", "FFDEDE", "CCFFEC"], ["FAE3E3", "B7B7B7", "137083", "3D0240"], ["FCF5EE", "FBE8E7", "F7DDDE", "FFC4D0"], ["EDA1C1", "FAB2AC", "BEE4D2", "D7F8F7"], ["F38181", "FCE38A", "D6F7AD", "95E1D3"], ["2FC5CC", "6DF1CC", "E3FFC3", "FF89C0"], ["FFFFC1", "FFD2A5", "D38CAD", "8A79AF"], ["294A66", "0B3846", "FFBBBB", "FCD2C2"], ["143A52", "6E828A", "CDE3EB", "E3EFF3"], ["F5E1DA", "F1F1F1", "40A798", "476269"], ["222831", "393E46", "0092CA", "EEEEEE"], ["F23557", "F0D43A", "22B2DA", "3B4A6B"], ["511E78", "8B2F97", "CF56A1", "FCB2BF"], ["29D2E4", "13829B", "FCC29A", "FDE9C9"], ["2D4059", "FFB400", "F6F6F6", "EA5455"], ["FF5959", "FFAD5A", "4F9DA6", "1A0841"], ["F0ECE2", "DFD3C3", "C7B198", "596E79"], ["E8ECF1", "B5CFD8", "7393A7", "6C737E"], ["D9F9F4", "9CD9DE", "86C1D4", "5A92AF"], ["2C2D34", "E94822", "F2910A", "EFD510"], ["11CBD7", "9FEED1", "FFF6A2", "F60C86"], ["FD9191", "FDDD8A", "F5FC9E", "9EFCB4"], ["FF5335", "DFE0D4", "3E92A3", "353940"], ["E6F8F6", "A0F6D2", "72DFD0", "03414D"], ["0E2431", "FC3A52", "F9B248", "E8D5B7"], ["303841", "3A4750", "F6C90E", "EEEEEE"], ["F70776", "C3195D", "680747", "141010"], ["F9F8ED", "F4E7D3", "0881A3", "1F4E5F"], ["581845", "900C3F", "C70039", "FF5733"], ["D3F6D1", "A7D7C5", "74B49B", "5C8D89"], ["EA5959", "F98B60", "FFC057", "FFE084"], ["34374C", "2C2E3E", "EE2B47", "F6F6F6"], ["343434", "2D4059", "EA5455", "FDE9C9"], ["F5EFE3", "E6E7E5", "F7D3BA", "A6AA9C"], ["0278AE", "51DACF", "9EF5CF", "E8FFC1"], ["F0BEBE", "5EA3A6", "3A718C", "FFFFDF"], ["6BD5E1", "FFD98E", "FFB677", "FF8364"], ["323643", "606470", "93DEFF", "F7F7F7"], ["015051", "04837B", "01A7A3", "04F2D5"], ["F5E1DA", "F1F1F1", "40A798", "476268"], ["FAFAFA", "FF6699", "C54C82", "512E67"], ["DAEBEE", "B6D7DE", "FCEDDA", "FF5126"], ["BBE9DB", "AECCC6", "9BA6A5", "757A79"], ["083358", "0F4471", "FC3C3C", "F6F6F6"], ["E0FFCD", "FDFFCD", "FFEBBB", "FFCAB0"], ["FFDFD3", "FEC8D8", "D291BC", "957DAD"], ["194769", "F6F6E9", "D7EEF2", "F2855E"], ["73F7DD", "2CC4CB", "1972A4", "2E3A87"], ["36D1C4", "A0EECC", "FFF2BE", "F6318C"], ["F5F5C6", "7DA87B", "326765", "27253D"], ["E2EFF1", "B6D5E1", "65799B", "555273"], ["13334C", "005792", "F6F6E9", "FD5F00"], ["B80257", "DD356E", "FC7FB6", "FFBBE1"], ["233142", "36506C", "A5DEF1", "EBF7FD"], ["EF7B7B", "FCF3CA", "C4EADA", "919190"], ["E7F5F2", "F9C7CF", "12776F", "0F4137"], ["CABFAB", "DFD8C8", "41444B", "52575D"], ["D7AEF3", "94F6F2", "F7F680", "FBD0F5"], ["EFF0F4", "D3D6DB", "415F9D", "233B6E"], ["FF4545", "FF9867", "FFBF87", "FFEDB2"], ["FF6473", "757882", "5CC1B3", "6EF7C8"], ["2F1B41", "872341", "BE3144", "F05941"], ["F7F7F7", "393E46", "5C636E", "F8B500"], ["FFD6B6", "EA7362", "B74242", "5C2626"], ["F3F3F3", "FFDD67", "FFCD38", "4A4A4A"], ["071E3D", "1F4287", "278EA5", "21E6C1"], ["BFF4ED", "280F34", "E41655", "B30753"], ["005874", "1C819E", "E6E6D4", "FFBE00"], ["970747", "FEF4E8", "1989AC", "283E56"], ["155E63", "76B39D", "F9F8EB", "EAE7E7"], ["E01171", "AB0E86", "59057B", "0F0766"], ["364F6B", "3FC1C9", "FCE38A", "FC5185"], ["3E1E68", "583C87", "E45A84", "FFACAC"], ["118DF0", "0E2F56", "FF304F", "ECECDA"], ["3B0944", "5F1854", "A12559", "F1BBD5"], ["302939", "50595C", "E99B9B", "FFD8D8"], ["F7F4E3", "D2E1C8", "FEE4A6", "F9C4AA"], ["D3D6DB", "3A4750", "303841", "BE3144"], ["F9F3E6", "E2DCD5", "E8AA8C", "5E616A"], ["F0EEC9", "9EE6CF", "50C9BA", "4BA2AC"], ["280B45", "61105E", "C84771", "FFE98A"], ["233142", "455D7A", "F95959", "FACF5A"], ["062743", "113A5D", "FF7A8A", "F9F9F9"], ["D2F6FC", "A9D2FF", "7984EE", "6730EC"], ["D8DFE2", "71ADB5", "176D81", "0D3446"], ["FAF6E9", "ECE8D9", "FFFDF6", "494949"], ["222831", "393E46", "FD7014", "EEEEEE"], ["FF006C", "D62B70", "973961", "623448"], ["ABEDD8", "46CDCF", "0081C6", "48466D"], ["000000", "3E3636", "D72323", "F5EDED"], ["ECF0F1", "33CCCC", "2980B9", "2C3E50"], ["C4AFF0", "FFFEEC", "64D7D6", "5782BB"], ["F8D5F0", "58D5D3", "41A4C3", "3F4B83"], ["2C3E50", "34495E", "ECF0F1", "BDC3C7"], ["9BB899", "FCCEAA", "F5827D", "EA4961"], ["FAFAFA", "C7EEFF", "0077C0", "1D242B"], ["83FFE1", "7045FF", "C768FF", "FFADED"], ["1D3E53", "254B62", "476D7C", "77ABB7"], ["FFF6FB", "FFBEE3", "FC5BB6", "FF0592"], ["525252", "414141", "313131", "EC625F"], ["35013F", "561050", "951556", "E9B5D2"], ["CBF9DA", "3DD2CC", "3E6B89", "122D42"]], window.METADATA = {}, V = (a, b) => { console.log(`${a} : ${b}`), window.METADATA[a] = b }, 0 | 2 * R() ? (C.fillStyle = "white", V("background", "white")) : (C.fillStyle = "black", V("background", "black")), C.fillRect(0, 0, W, W), C.globalAlpha = .5; function B(x, y, u, v, l, m, n, o, p) { return { x, y, u, v, l, m, n, o, p } }; D = _ => R() * W, E = _ => W / 100 - R() * W / 50, G = (a, b) => 0 > a || a > W ? -b : b, w = 10 + R() * 32 | 0, V("wisp number", w), f = Array.from({ length: w }, _ => new B(D(), D(), D(), D(), E(), E(), E(), E(), 0)), c = .01 > R(), V("monochrome", c), c ? p = 0 : (p = 0 | P.length * R(), V("wisp palette", p)); for (i of f) i.p = `#${P[p][0 | 4 * R()]}`; q = .1 * (0 | 90 * R()) + .5, V("wisp line spacing", parseFloat(q).toFixed(1)), .5 > R() ? (C.lineWidth = W / 1e3, V("wisp line width", "thick")) : (C.lineWidth = W / 1e4, V("wisp line width", "thin")); for (t = 100 | 1e3 * R(), V("wisp length", t), g = 0; 0 | g < t; g++)for (i of f) i.x += i.l / q, i.y += i.m / q, i.u += i.n / q, i.v += i.o / q, i.l = G(i.x, i.l), i.m = G(i.y, i.m), i.n = G(i.u, i.n), i.o = G(i.v, i.o), C.beginPath(), C.strokeStyle = i.p, C.moveTo(i.x, i.y), C.lineTo(i.u, i.v), C.stroke(), C.globalAlpha = .2; for (a = 0 | 6 * R(), V("circle layers", a + 1), k = 0; k <= a; k++)for (I = M.sin, O = M.cos, U = 2 * M.PI, B = () => R() * U, D = (d, e, b) => d + e * O(b), E = (d, e, b) => d + e * I(b), n = .01 * (0 | 50 * R()) + .1, V(`circle inc ${k + 1}`, parseFloat(n).toFixed(2)), q = (0 | 5 * R()) + 1, V(`circle cycles ${k + 1}`, q), r = W / (2 + (0 | 8 * R())), V(`circle group ${k + 1}`, `1/${M.ceil(W / r)}`), w = W / (1 + (0 | 16 * R())), V(`circle radius ${k + 1}`, `1/${M.ceil(W / w)}`), p = c ? 0 : 0 | P.length * R(), V(`circle palette ${k + 1}`, p), h = 100 + (0 | 1e4 * R()), V(`circle line width ${k + 1}`, M.ceil(W / (W / (3 * h)))), i = 0; q > i; i += n)for (C.strokeStyle = stroke = `#${P[p][0 | 4 * R()]}`, x = W / 2 + r * O(U * i), y = W / 2 + r * I(U * i), j = 0; j < h; j++)u = B(), v = B(), C.lineWidth = W / (3 * h), C.beginPath(), C.moveTo(D(x, w, u), E(y, w, u)), C.lineTo(D(x, w, v), E(y, w, v)), C.stroke() }, Z()</script>