0x5167…7881

All memos sent from and to 0x5167…7881.

beginShape();for(let e=0;e<=TWO_PI;e+=.001){var p=noise(o+sin(e)i;pg.vertex(a+4*p,o filter(BLUR,1)}function drawRamonycajal(e=1,r=5){z.addP ),container=ge e,r),maskGraphics.clear(ackground(bgColo+9 H 10+a,2+o,t,i,n3o9 generateContai aeRamonycajal"P applyShFiltA Types.C"g ulina,[150/"%l POSTERIZE,[20,&&e<=o&&t<=r&&r<=i0){l$< i=e,n=ceilj R ngth:n*s},@q' e="INK_#"+tD.t&:-1!="123456789".indexOf( 2BVR=new Random,rURL Se!z tD.hash),1.5*w!U),/Safari/i.test(navigat00 1,hC=/Headl"x`?m=0,/Android|iPh%Options={0:R.A(6)<.3+
let s_vs=`#version 300 es in vec2 aTexCoord;out@$4 fragColor; uniform sampler2D t PI=3.1415926536in " ilterType,m gScale,uPD,rA[50],rB`(123.45,678.90)); p+=do sqrt(-2.*log(r))*cos( I&b xMultiplier4*a=C$ ? a+nn : ``,ffb=["","bird 0x1a626b4a475e037f28deea1263ed65b678c19c122e13a43a8599c7c0ef0f680x3b2887ecb9b240f3502e7e9eba9224118853d12b0d0ea61ef1d64ff561 l013ba87254c7e7cb3911ae6c6f0 8af65dd9158 Tf714347e305449fee14`Db5af0d74b000d85092d7@ece8fda8a2b54de32426bc01dd1d1c182e87df250053b7c506f41f2c554b76b9a46f6e44138c679817697cf842d2ae983`D4e58cbb8782d53ab90aee36c9 J.uA=!1;function e(e){let r=pa;7#{ +1|0,r=a^a>>>9 0.< 294967296}}a null==r&&(r=e,!Y'Params(a).entries"`AyP,inkCanvas,onet=$="hidden";2/3<r/a?(s={ERODE:1,DILATE:2,"Y slate(-cW/2@4g("INK FRAGRANCES by bc%ia\ 6)<.5?.4:1%background(bgColo?) 055,111));for(let e=0;e<r;e++){@+
eight(R.r(2,15)),R.d()<.5?pg.fil),drawShapePelo(a,o,t,i,n)}}funcMaquinaria(){z.addP 3translate(artW/4, background(bgColor`12,444));for(let e=0;e<r;e++){@, saf?2*n:1),l=( p=noise(o+sin(2*e)*l)*t,dIrregularBorder"{applyShFiltA 5Types.C"g ulina,[150/"%l POSTERIZE,[20,&&e<=o&&t<=r&&r<=i0){l$< i=e,n=ceilj R ngth:n*s},@q' e="INK_#"+tD.t&:-1!="123456789".indexOf( 2BVR=new Random,rURL Se!z tD.hash),1.5*w!U),/Safari/i.test(navigat00 1,hC=/Headl"x`?m=0,/Android|iPh% s={0:R.A(6)<.3+
eight(R.r(2,15)),R.d()<.5?pg.fil),drawShapePelo(a,o,t,i,n)}}funcMaquinaria(){z.addP 3translate(artW/4, background(bgColor`12,444));for(let e=0;e<r;e++){@, saf?2*n:1),l=( p=noise(o+sin(2*e)*l)*t,dIrregularBorder"{applyShFiltA 5Types.C"g ulina,[150/"%l POSTERIZE,[20,&&e<=o&&t<=r&&r<=i0){l$< i=e,n=ceilj R ngth:n*s},@q' e="INK_#"+tD.t&:-1!="123456789".indexOf( 2BVR=new Random,rURL Se!z tD.hash),1.5*w!U),/Safari/i.test(navigat00 1,hC=/Headl"x`?m=0,/Android|iPh% s={0:R.A(6)<.3+
let s_vs=`#version 300 es in vec2 aTexCoord;out@$4 fragColor; uniform sampler2D t PI=3.1415926536in " ilterType,m gScale,uPD,rA[50],rB`(123.45,678.90)); p+=do sqrt(-2.*log(r))*cos( I&b xMultiplier4*a=C$ ? a+nn : ``,ffb=["","bird P de perfume"],hashes 20x1a626b4a475e037f28deea1263ed65b678c19c122e13a43a8599c7c0ef0f680x3b2887ecb9b240f3502e7e9eba9224118853d12b0d0ea61ef1d64ff561 l013ba87254c7e7cb3911ae6c6f0 8af65dd9158 Tf714347e305449fee14`Db5af0d74b000d85092d7@ece8fda8a2b54de32426bc01dd1d1c182e87df250053b7c506f41f2c554b76b9a46f6e44138c679817697cf842d2ae983`D4e58cbb8782d53ab90aee36c9 J.uA=!1;function e(e){let r=pa;7#{ +1|0,r=a^a>>>9 0.< 294967296}}a null==r&&(r=e,!Y'Params(a).entries"`AyP,inkCanvas,onet=$="hidden";2/3<r/a?(s={ERODE:1,DILATE:2,"Y slate(-cW/2@4g("INK FRAGRANCES by bc%ia\ 6)<.5?.4:1%background(bgColo?) 055,111));for(let e=0;e<r;e++){@+maskGraphics.clear!jH 10+a,2+o,t,i,n3
let s_vs=`#version 300 es in vec2 aTexCoord;out@$4 fragColor; uniform sampler2D t PI=3.1415926536in " ilterType,m gScale,uPD,rA[50],rB`(123.45,678.90)); p+=do sqrt(-2.*log(r))*cos( I&b xMultiplier4*a=C$ ? a+nn : ``,ffb=["","bird P de perfume"],hashes 20x1a626b4a475e037f28deea1263ed65b678c19c122e13a43a8599c7c0ef0f680x3b2887ecb9b240f3502e7e9eba9224118853d12b0d0ea61ef1d64ff561 l013ba87254c7e7cb3911ae6c6f0 8af65dd9158 Tf714347e305449fee14`Db5af0d74b000d85092d7@ece8fda8a2b54de32426bc01dd1d1c182e87df250053b7c506f41f2c554b76b9a46f6e44138c679817697cf842d2ae983`D4e58cbb8782d53ab90aee36c9 J.uA=!1;function e(e){let r=pa;7#{ +1|0,r=a^a>>>9 0.< 294967296}}a null==r&&(r=e,!Y'Params(a).entries"`AyP,inkCanvas,onet=$="hidden";2/3<r/a?(s={ERODE:1,DILATE:2,"Y slate(-cW/2@4g("INK FRAGRANCES by bc%ia\ 6)<.5?.4:1%background(bgColo?) 055,111));for(let e=0;e<r;e++){@+maskGraphics.clear!jH 10+a,2+o,t,i,n3
The INK (fragrances) collection contains six fragrances, each uniquely embodies its corresponding generative artwork, produced at the time of purchase from the INK algorithm, resulting in a handcrafted, exclusive formula. The bottle itself, also handcrafted, serves as a container but stands as an independent object. A drop of crystal ink. Involving other senses, and for that, crafting a scent to coexist and transcend at the same time the visuals, it becomes not just fragrance, but a reminder that art, like memory, lives beyond the visible.
 INK speaks to the bold insistence on leaving a trace, a mark that knows it will fade, yet persists. A poetic contradiction lies in each stroke: the pursuit of permanence in a world destined to vanish. Whether in blue or black, in pencil or rust, each line reflects fragments of human experience – perhaps figures, animals, or letters – yet none of it is real; it is only experiences, biases, dreams, and demons. To this, INK adds the handcrafted as part of the experience—a scent that lets us declare, “I was here; I existed.” Rather than rely on the slow decay of ink, paper, or perhaps one day pixels, we lean on what is within our control: memory, boundless, infinite, and ours alone. For a moment, breathe it in, take in the work. In this quiet persistence, we find our redemption—an echo of those who remain and those who have already gone.
 INK is a profoundly personal project. As Velitchkova says "Life doesn’t give us what we desire without first demanding something in return". INK is Velitchkova's answer to a year filled with hard lessons, hopes, and losses. Built upon these experiences, each line structure tells its own story, echoing to a song by Travis—a band that knows the artist's steps better than most. This series traces the history of inks through algorithmic iterations. Each one is reimagined as both a medium and metaphor. Iron gall ink, used in medieval Europe, ironically corroded the manuscripts it aimed to preserve. Blue ink, made practical by the 20th-century ballpoint, serves the demands of modern life. Black ink, from ancient Egypt and China, symbolizes permanence in official records and last words. White ink, an accent in manuscripts and art, was never meant for the mundane. It exists to illuminate, to contrast, used sparingly for highlights on dark surfaces. INK draws from the simplicity of Picasso’s single-line figures, Chillida’s sculptural weight, Kline’s expressive brushwork, and Basquiat’s chaotic yet precise gestures. Yet it seeks neither homage nor critique, it merely stands as a mirror, reflecting our insistent need to matter.
INK speaks to the bold insistence on leaving a trace, a mark that knows it will fade, yet persists. A poetic contradiction lies in each stroke: the pursuit of permanence in a world destined to vanish. Whether in blue or black, in pencil or rust, each line reflects fragments of human experience – perhaps figures, animals, or letters – yet none of it is real; it is only experiences, biases, dreams, and demons. Rather than rely on the slow decay of ink, paper, or perhaps one day pixels, we lean on what is within our control: memory, boundless, infinite, and ours alone. In this quiet persistence, we find our redemption—an echo of those who remain and those who have already gone. INK is a profoundly personal project. As Velitchkova says "Life doesn’t give us what we desire without first demanding something in return". INK is Velitchkova's answer to a year filled with hard lessons, hopes, and losses. Built upon these experiences, each line structure tells its own story, echoing to a song by Travis—a band that knows the artist's steps better than most. This series traces the history of inks through algorithmic iterations. Each one is reimagined as both a medium and metaphor. Iron gall ink, used in medieval Europe, ironically corroded the manuscripts it aimed to preserve. Blue ink, made practical by the 20th-century ballpoint, serves the demands of modern life. Black ink, from ancient Egypt and China, symbolizes permanence in official records and last words. White ink, an accent in manuscripts and art, was never meant for the mundane. It exists to illuminate, to contrast, used sparingly for highlights on dark surfaces. INK draws from the simplicity of Picasso’s single-line figures, Chillida’s sculptural weight, Kline’s expressive brushwork, and Basquiat’s chaotic yet precise gestures. Yet it seeks neither homage nor critique, it merely stands as a mirror, reflecting our insistent need to matter.
++){var a=R.r(-artW/4,@n=(pg.strokeWeight(@JbeginShape();for(let e=0;e<=TWO_s=noise(o+sin(e)*n)*t,li; ` vertex(a+4*s,o }}function drawLineasYcua background(bgColor`10+a,2+o,t,i,n,cGIrregularBorder#o9 generateContai aeRamonycajal"P applyShFiltA Types.C"g ulina,[150/"%l POSTERIZE,[20,&&e<=o&&t<=r&&r<=i0){l$< i=e,n=ceilj R ngth:n*s},@q' e="INK_#"+tD.t&:-1!="123456789".indexOf( 2BVR=new Random,rURL Se!z tD.hash),1.5*w!U),/Safari/i.test(navigat00 1,hC=/Headl"x`?m=0,/Android|iPh%Options={0:R.A(6)<.3+
let s_vs=`#version 300 es in vec2 aTexCoord;out@$4 fragColor; uniform sampler2D t PI=3.1415926536in " ilterType,m gScale,uPD,rA[50],rB`(123.45,678.90)); p+=do sqrt(-2.*log(r))*cos( I&b xMultiplier4*a=C$ ? a+nn : `.uA=!1;function e(e){le.W7!# +1|0,r=a^a>>>9 null==r&&(r=e,!Y%^Params(a).entries"`Ay?"boolean"==t(b YP,inkCanvas,oneqw="hidden";2/3<r/a?(s={ERODE:1,DILATE:2,"Y slate(-cW/2@4sing a'W mber 1-9 toPc%Ia\ 6)<.5?.4:1%background(bgColo?) 055,111));for(let e=0;e<r;e++){@+maskGraphics.clear!j
0x51670901…7881·#20,114,011·0x0812d34e…f0903c
[PPPPPPPP[PPPPPbAddress: call to non-contractAddress: call to non-contractAddress: low-level delegate call failedAddress: low-level delegate call failedhttps://arweave.net/C713WM5AjuAhFQOKfxgdYcIYI02pbJBBNpK6fR0t0x8https://arweave.net/2rNvDKRhCuvN-A-tzOB2Ln1zTtwZdHMZ9xMD40XeK1s
0x51670901…7881·#20,113,618·0x5005b87e…6664b0
[PPPPPPPP[PPPPPbAddress: call to non-contractAddress: call to non-contractAddress: low-level delegate call failedAddress: low-level delegate call failedhttps://arweave.net/ohWRXM_31ohh1kUgLGil0eIxR2lMLBEx7bqGyr_DjPshttps://highlight-creator-assets.highlight.xyz/main/base-dir/dba2fda0-3bb9-49a4-bacc-ba028d158d98/onChainDir
px",s.style.width=sW-50+"px"}function setupArt(){pg.translate(pg.width/R.rn(2,40),pg.height/R.rn(2,40)),chooseBlock()}function chooseBlock(){let s=R.rd();blockType=s<.2?"radiacion":s<.4?"dimensiones":s<.6?"casa_lluvia":s<.8?"cuevas":s<.9?"casa_multicolor":s<.93?"planeta_con_soles_cerca":s<.96?"casa":"planeta_con_soles_lejos"}function radiacion(s,d,e){for(let r=0;r<200;r+=1)pg.cone(5*r,30*d),pg.push(),pg.push(),pg.strokeWeight(8),pg.line(s/d,d/s,200*e*sin(r),200*e*cos(r)),pg.pop(),pg.rotateX(180),pg.pop(),pg.rotateY(PI*e*3e4)}function solo_lejos(s,d,e){for(let s=0;s<800;s+=1)pg.cylinder(s*R.rn(1,20),5*d),pg.ellipse(s/2,20*d,1140,1140),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.rotate(80),pg.ellipse(-s/2,2*-d,130,130),pg.pop()}function solo_agujero(s,d,e){for(let s=0;s<600;s+=1)pg.cylinder(4*s,50*d),pg.box(3*s,2*d),pg.ellipse(s/2,20*d,40,140),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.ellipse(-s/2,2*-d,130,130),pg.pop()}function casa_lluvia(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d,9),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_lluvia_parasol(s,d,e){for(let s=0;s<1420;s+=R.rn(5,3.5))pg.box(s,300*d),pg.rotate(-PI*e*18)}function casa_brillo(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_blur(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_multicolor(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d,9),pg.push(),pg.fill(R.rdb(250),50,50,70),pg.strokeWeight(1),pg.ellipse(99*s,20*d,440,1440),pg.pop(),pg.ellipse(s/2,20*d,300,1300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function dimensiones_inv(s,d,e){for(let s=0;s<400;s+=1)pg.cone(s,20*d),pg.ellipse(s/2,20*d,440,440),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.pop()}function dimensiones_inv_z(s,d,e){for(let s=0;s<400;s+=1)pg.cone(s,2*d),pg.ellipse(s/2,20*d,440,440),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.pop(),pg.rotateZ(PI*e*3e4)}function casa_lluvia_anexo(s,d,e){for(let s=0;s<420;s+=R.rn(5,50.5))pg.cone(s,300*d),pg.rotate(-PI*e*18)}function cuevas(s,d,e,r){for(let s=0;s<R.rn(300,1500);s+=2)pg.cone(s,d,9),r&&(pg.ellipse(s/2,20*d,440,640),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,500),pg.pop())}shV="varying vec2 vTexCoord;attribute vec3 aPosition;attribute vec2 aTexCoord;void main() { vTexCoord = aTexCoord; vec4 positionVec4 = vec4(aPosition, 1.0); positionVec4.xy = positionVec4.xy * 2.0 - 1.0; gl_Position = positionVec4;}",shF="precision mediump float;varying vec2 vTexCoord;uniform sampler2D tex0;uniform vec2 tS,u_dir;uniform bool u_aB,u_bw,u_f, u_inv;uniform float u_time,u_pA,u_pB,u_pC,u_g,u_br,u_con,u_rgbr, u_rgbg, u_rgbb;float rd (vec2 st) { return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);}vec3 gB( sampler2D t, vec2 texUV, vec2 sS ){ vec3 colOut = vec3( 0.0 ); const int sC = 9;\tfloat gW[sC]; gW[0] = 0.10855; gW[1] = 0.13135; gW[2] = 0.10406; gW[3] = 0.07216; gW[4] = 0.04380; gW[5] = 0.02328; gW[6] = 0.01083; gW[7] = 0.00441; gW[8] = 0.00157;\tfloat gO[sC]; gO[0] = 0.66293; gO[1] = 2.47904; gO[2] = 4.46232; gO[3] = 6.44568; gO[4] = 8.42917; gO[5] = 10.41281; gO[6] = 12.39664; gO[7] = 14.38070; gO[8] = 16.36501;\tfor( int i = 0; i < sC; i++ ){ vec2 tCO = gO[i] * sS; vec3 col = texture2D( t, texUV + tCO ).xyz + texture2D( t, texUV - tCO ).xyz; col *= gW[i]; colOut += col; }\treturn colOut; } float dc(vec2 c, float r) { return step(length(c), r);}vec3 g(vec3 v, float p){ return vec3(pow(abs(v.r), p),pow(abs(v.g), p),pow(abs(v.b), p));}vec3 bC(vec3 v, float b, float c){ return (v - 0.5) * c + 0.5 + b;}void main() { vec2 uv = vTexCoord;\tfloat rnd = rd( uv*u_time);\tvec3 tN = vec3(0.5,0.5,0.5)*rnd; vec3 tI = texture2D(tex0,vec2(uv.x, 1. - uv.y)).xyz; vec3 cOut; vec3 b1 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * u_dir); vec3 b2 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * vec2(u_dir.x,u_dir.x)); vec3 b3 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * vec2((u_dir.y+u_dir.x)/2.,(u_dir.y+u_dir.x)/2.)); b1 = 0.6*b1+0.2*b2+0.2*b3; cOut = bC(tI*(b1*u_pA+u_pB)+tN*u_pC+0.03*tN*(0.5+b1), u_br, u_con); cOut = cOut.rgb*vec3(u_rgbr,u_rgbg,u_rgbb).rgb;\tif (u_bw) { cOut = vec3(0.51 * cOut.r + 0.41 * cOut.g + 0.17 * cOut.b);\t} cOut = g(cOut,u_g); if (u_inv) { cOut = vec3(1.,1.,1.)-cOut;\t}\tgl_FragColor = vec4(cOut,1.0);\t}";
var pg,density,blockType,rand,size,tD=tokenData;class Random{constructor(){this.uA=!1;let s=function(s){let d=parseInt(s.substr(0,8),16),e=parseInt(s.substr(8,8),16),r=parseInt(s.substr(16,8),16),t=parseInt(s.substr(24,8),16);return function(){var s=((d|=0)+(e|=0)|0)+(t|=0)|0;return t=t+1|0,d=e^e>>>9,e=(r|=0)+(r<<3)|0,r=(r=r<<21|r>>>11)+s|0,(s>>>0)/4294967296}};this.pA=new s(tD.hash.substr(2,32)),this.pB=new s(tD.hash.substr(34,32));for(let s=0;s<1e6;s+=2)this.pA(),this.pB()}rd(){return this.uA=!this.uA,this.uA?this.pA():this.pB()}rdb(s){return s*this.rd()}rn(s,d){return s+(d-s)*this.rd()}ri(s,d){return Math.floor(this.rn(s,d+1))}rc(s){return s[this.ri(0,s.length-1)]}}R=new Random,t=0;var pgW,pgH,sW,sH,sh,shV,shF,globalAspectRatio=1.2/.8,dP={};function initR(){for(R=new Random,i=0;i<1e3;i++)R.rd()}function setup(){sH=windowWidth<windowHeight*globalAspectRatio?windowWidth/globalAspectRatio:windowHeight,sW=sH*globalAspectRatio,pgW=(pgH=1e3)*globalAspectRatio,density=2,pixelDensity(density),renderer=createCanvas(Math.round(sW),Math.round(sH),WEBGL),(pg=createGraphics(pgW,pgH,WEBGL)).pixelDensity(density),initR(),setupArt(),art(),sh=createShader(shV,shF),noLoop()}function shI(){shader(sh),sh.setUniform("tS",[dP.shT/pg.width*dP.shK,dP.shT/pg.height*dP.shK]),sh.setUniform("u_aB",dP.shAB),sh.setUniform("u_dir",[dP.shBx,dP.shBy]),sh.setUniform("u_time",dP.noiseK),sh.setUniform("u_pA",dP.shBlEqA),sh.setUniform("u_pB",dP.shBlEqB),sh.setUniform("u_pC",dP.shBlEqC),sh.setUniform("u_bw",dP.shBW),sh.setUniform("u_g",dP.shG),sh.setUniform("u_br",dP.shBr),sh.setUniform("u_con",dP.shCon),sh.setUniform("u_inv",dP.shInv),sh.setUniform("u_rgbr",dP.r),sh.setUniform("u_rgbg",dP.g),sh.setUniform("u_rgbb",dP.b)}function art(){if("radiacion"==blockType){R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10.25,dP.shK=1.05,dP.shT=100,dP.shBlEqA=1.9,dP.shBlEqB=1.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.2,dP.r=1.2,dP.g=2.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1e4):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=300.25,dP.shK=330.05,dP.shT=50,dP.shBlEqA=1.6,dP.shBlEqB=.1,dP.shBlEqC=.5*(dP.shBW?1.18:.25),dP.shG=1.1*(dP.shBW?1.65:1.05),dP.shBr=.4,dP.shCon=3.1,dP.r=2,dP.g=1.6,dP.b=1.1,dP.shInv=!1,dP.noiseK=30),pg.fill(91,250,171,R.rn(0,2)),pg.translate(R.rn(-pg.width/3,pg.width/3),R.rn(-pg.height/5,pg.height/3)),pg.scale(R.rn(.01,.5)),pg.background(R.rdb(79),R.rdb(79),R.rdb(79));for(let s=0;s<R.rn(10,40);s+=5)pg.stroke(R.rdb(79),R.rdb(79),R.rdb(79)),radiacion(s*R.rdb(50),2*-R.rdb(s),200*s),pg.push(),pg.strokeWeight(1),radiacion(s*R.rdb(200),200*-R.rdb(s),s%200),radiacion(s*R.rdb(20),-R.rdb(s),2*s),pg.pop()}else if("dimensiones"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=1e3,dP.shBlEqA=1.4,dP.shBlEqB=.1,dP.shBlEqC=.3*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.6,dP.shCon=3.7,dP.r=2.2,dP.g=2.5,dP.b=2.4,dP.shInv=!0,dP.noiseK=1):(dP.shAB=!0,dP.shBW=!1,dP.shBx=30.25,dP.shBy=1.25,dP.shK=.05,dP.shT=1,dP.shBlEqA=10.9,dP.shBlEqB=.1,dP.shBlEqC=.3*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=1.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.translate(0,R.rn(pg.height/10,pg.height/20)),pg.scale(R.rn(2,4)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250)),R.rd(),pg.fill(R.rdb(250),R.rdb(250),R.rdb(250),R.rdb(20));for(let s=0;s<R.rn(10,140);s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),dimensiones_inv_z(s*R.rdb(5e3),-R.rdb(s)/20,5e5*s),pg.pop(),pg.push(),dimensiones_inv(s*R.rdb(2e3),-R.rdb(s)/100,20*s),pg.pop(),pg.rotateY(R.rdb(s))}else if("casa_lluvia"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=20*(dP.shBW?1.65:1.05),dP.shBr=.4,dP.shCon=10.7,dP.r=1.2,dP.g=1.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(2)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(R.rn(1.5,3)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250)),eligeparasol=R.rd();for(let s=0;s<R.rn(10,140);s+=2)pg.push(),pg.strokeWeight(.1),pg.noFill(),eligeparasol<.4?casa_lluvia_anexo(s*R.rdb(50),2*-R.rdb(s),200*s):casa_lluvia_parasol(s*R.rdb(50),2*-R.rdb(s),200*s),pg.pop(),pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),casa_lluvia(s*R.rdb(5),-R.rdb(s)/200,s%200)}else if("casa_multicolor"==blockType){R.rd()<.1?(dP.shAB=!0,dP.shBW=!0,dP.shBx=30.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(10)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(1),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<30;s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),casa_multicolor(s*R.rdb(5),-R.rdb(s)/200,s%200),casa_multicolor(s*R.rdb(500),-R.rdb(s)/2e3,2e3*s),pg.push(),pg.scale(5),pg.translate(pg.width/s,0),casa_multicolor(s*R.rdb(500),-R.rdb(s)/2e3,2e3*s),pg.pop()}else if("cuevas"==blockType){let s;R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=.25,dP.shBy=20.25,dP.shK=30.05,dP.shT=2,dP.shBlEqA=.3,dP.shBlEqB=.001,dP.shBlEqC=.3*(dP.shBW?1.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=2.2,dP.r=2,dP.g=2.6,dP.b=2,dP.noiseK=3,dP.shInv=!1):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=3.7,dP.r=1.2,dP.g=2.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1),pg.background(color(R.rdb(250),R.rdb(250),R.rdb(250),255)),pg.translate(R.rn(-pg.width/4,pg.width/4),pg.height/10),pg.scale(R.rn(.8,1.3)),pg.rotateY(R.rn(1,10));for(let d=0;d<R.rn(30,330);d+=10)pg.push(),pg.strokeWeight(R.rn(.3,1)),pg.stroke(R.rdb(80),R.rdb(79),R.rdb(79)),s=R.rd()<.5,cuevas(3e3+d*R.rdb(500),R.rdb(d),1,s),pg.pop(),pg.push(),pg.translate(pg.width/2,0),cuevas(3e3+d*R.rdb(50),R.rdb(d),1,s),pg.pop(),pg.rotateY(3e4)}else if("casa"==blockType){R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(10)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(2),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<30;s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),casa_brillo(s*R.rdb(5),-R.rdb(s)/200,s%200)}else if("planeta_con_soles_lejos"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=2000.25,dP.shK=.05,dP.shT=300,dP.shBlEqA=.5,dP.shBlEqB=.001,dP.shBlEqC=1.1*(dP.shBW?1.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=1.2,dP.r=2,dP.g=1.6,dP.b=2.4,dP.noiseK=30,dP.shInv=!0):R.rd()<.9?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=3.7,dP.r=1.2,dP.g=1.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1):(dP.shAB=!0,dP.shBW=!0,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.3,dP.shCon=1.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30),pg.rotateY(900),pg.translate(pg.width/R.rn(2.4,50),pg.height/R.rn(10,20)),pg.scale(R.rn(.1,.6)),pg.rotateY(R.rn(1,1e3)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<50;s+=20)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),solo_lejos(3e3+s*R.rdb(500),R.rdb(s)/20,5*s),solo_lejos(300+s*R.rdb(500),R.rdb(s)/20,5*s),pg.ellipse(-s/2,40*-s,R.rdb(1130),R.rdb(1130)),pg.pop(),pg.pop()}else if("planeta_con_soles_cerca"==blockType){R.rd()<.9?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.7,dP.r=2.9,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30):(dP.shAB=!0,dP.shBW=!0,dP.shBx=30.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.translate(pg.width/R.rn(2.4,50),pg.height/R.rn(10,20)),pg.scale(R.rn(.1,.3)),pg.rotateY(R.rn(1,1e3)),pg.background(R.rdb(70),R.rdb(250),R.rdb(250));for(let s=0;s<50;s+=20)pg.push(),pg.strokeWeight(R.rn(.1,1)),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),solo_agujero(3e3+s*R.rdb(500),R.rdb(s)/20,5*s),solo_agujero(300+s*R.rdb(500),R.rdb(s)/20,5*s),pg.ellipse(-s/2,40*-s,230,230),pg.pop(),pg.push(),pg.pop()}}function draw(){shI(),sh.setUniform("tex0",pg),rect(-sW/2,-sH/2,sW,sH)}function changeRes(s){pixelDensity(int(s)),(pg=createGraphics(pgW,pgH,WEBGL)).pixelDensity(int(s)),initR(),setupArt(),art(),sh=createShader(shV,shF),redraw()}function keyPressed(s){83===keyCode&&save("tosolaris_"+blockType+"_"+tD.hash+".png"),-1!="123456789".indexOf(s.key)&&changeRes(s.key)}function windowResized(){sH=windowWidth<windowHeight*globalAspectRatio?windowWidth/globalAspectRatio:windowHeight,sW=sH*globalAspectRatio;var s=document.getElementById("defaultCanvas0");console.log(document.getElementById("defaultCanvas0").offsetWidth);document.getElementById("defaultCanvas0").offsetWidth,document.getElementById("defaultCanvas0").offsetHeight;s.style.height=sH-50+"
t=sH-50+"px",s.style.width=sW-50+"px"}function setupArt(){pg.translate(pg.width/R.rn(2,40),pg.height/R.rn(2,40)),chooseBlock()}function chooseBlock(){let s=R.rd();blockType=s<.2?"radiacion":s<.4?"dimensiones":s<.6?"casa_lluvia":s<.8?"cuevas":s<.9?"casa_multicolor":s<.93?"planeta_con_soles_cerca":s<.96?"casa":"planeta_con_soles_lejos"}function radiacion(s,d,e){for(let r=0;r<200;r+=1)pg.cone(5*r,30*d),pg.push(),pg.push(),pg.strokeWeight(8),pg.line(s/d,d/s,200*e*sin(r),200*e*cos(r)),pg.pop(),pg.rotateX(180),pg.pop(),pg.rotateY(PI*e*3e4)}function solo_lejos(s,d,e){for(let s=0;s<800;s+=1)pg.cylinder(s*R.rn(1,20),5*d),pg.ellipse(s/2,20*d,1140,1140),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.rotate(80),pg.ellipse(-s/2,2*-d,130,130),pg.pop()}function solo_agujero(s,d,e){for(let s=0;s<600;s+=1)pg.cylinder(4*s,50*d),pg.box(3*s,2*d),pg.ellipse(s/2,20*d,40,140),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.ellipse(-s/2,2*-d,130,130),pg.pop()}function casa_lluvia(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d,9),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_lluvia_parasol(s,d,e){for(let s=0;s<1420;s+=R.rn(5,3.5))pg.box(s,300*d),pg.rotate(-PI*e*18)}function casa_brillo(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_blur(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d),pg.push(),pg.stroke(250,50,50),pg.strokeWeight(1),pg.ellipse(s,20*d,440,440),pg.pop(),pg.ellipse(s/2,20*d,300,300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function casa_multicolor(s,d,e){for(let s=0;s<500;s+=1)pg.cone(s,20*d,9),pg.push(),pg.fill(R.rdb(250),50,50,70),pg.strokeWeight(1),pg.ellipse(99*s,20*d,440,1440),pg.pop(),pg.ellipse(s/2,20*d,300,1300),pg.rotateY(PI*e*3e4),pg.rotateZ(PI*e*3e4)}function dimensiones_inv(s,d,e){for(let s=0;s<400;s+=1)pg.cone(s,20*d),pg.ellipse(s/2,20*d,440,440),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.pop()}function dimensiones_inv_z(s,d,e){for(let s=0;s<400;s+=1)pg.cone(s,2*d),pg.ellipse(s/2,20*d,440,440),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,300),pg.pop(),pg.rotateZ(PI*e*3e4)}function casa_lluvia_anexo(s,d,e){for(let s=0;s<420;s+=R.rn(5,50.5))pg.cone(s,300*d),pg.rotate(-PI*e*18)}function cuevas(s,d,e,r){for(let s=0;s<R.rn(300,1500);s+=2)pg.cone(s,d,9),r&&(pg.ellipse(s/2,20*d,440,640),pg.push(),pg.stroke(250,50,50),pg.ellipse(s/2,2*d,300,500),pg.pop())}shV="varying vec2 vTexCoord;attribute vec3 aPosition;attribute vec2 aTexCoord;void main() { vTexCoord = aTexCoord; vec4 positionVec4 = vec4(aPosition, 1.0); positionVec4.xy = positionVec4.xy * 2.0 - 1.0; gl_Position = positionVec4;}",shF="precision mediump float;varying vec2 vTexCoord;uniform sampler2D tex0;uniform vec2 tS,u_dir;uniform bool u_aB,u_bw,u_f, u_inv;uniform float u_time,u_pA,u_pB,u_pC,u_g,u_br,u_con,u_rgbr, u_rgbg, u_rgbb;float rd (vec2 st) { return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123);}vec3 gB( sampler2D t, vec2 texUV, vec2 sS ){ vec3 colOut = vec3( 0.0 ); const int sC = 9;\tfloat gW[sC]; gW[0] = 0.10855; gW[1] = 0.13135; gW[2] = 0.10406; gW[3] = 0.07216; gW[4] = 0.04380; gW[5] = 0.02328; gW[6] = 0.01083; gW[7] = 0.00441; gW[8] = 0.00157;\tfloat gO[sC]; gO[0] = 0.66293; gO[1] = 2.47904; gO[2] = 4.46232; gO[3] = 6.44568; gO[4] = 8.42917; gO[5] = 10.41281; gO[6] = 12.39664; gO[7] = 14.38070; gO[8] = 16.36501;\tfor( int i = 0; i < sC; i++ ){ vec2 tCO = gO[i] * sS; vec3 col = texture2D( t, texUV + tCO ).xyz + texture2D( t, texUV - tCO ).xyz; col *= gW[i]; colOut += col; }\treturn colOut; } float dc(vec2 c, float r) { return step(length(c), r);}vec3 g(vec3 v, float p){ return vec3(pow(abs(v.r), p),pow(abs(v.g), p),pow(abs(v.b), p));}vec3 bC(vec3 v, float b, float c){ return (v - 0.5) * c + 0.5 + b;}void main() { vec2 uv = vTexCoord;\tfloat rnd = rd( uv*u_time);\tvec3 tN = vec3(0.5,0.5,0.5)*rnd; vec3 tI = texture2D(tex0,vec2(uv.x, 1. - uv.y)).xyz; vec3 cOut; vec3 b1 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * u_dir); vec3 b2 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * vec2(u_dir.x,u_dir.x)); vec3 b3 = gB(tex0, vec2(uv.x, 1. - uv.y), tS * vec2((u_dir.y+u_dir.x)/2.,(u_dir.y+u_dir.x)/2.)); b1 = 0.6*b1+0.2*b2+0.2*b3; cOut = bC(tI*(b1*u_pA+u_pB)+tN*u_pC+0.03*tN*(0.5+b1), u_br, u_con); cOut = cOut.rgb*vec3(u_rgbr,u_rgbg,u_rgbb).rgb;\tif (u_bw) { cOut = vec3(0.51 * cOut.r + 0.41 * cOut.g + 0.17 * cOut.b);\t} cOut = g(cOut,u_g); if (u_inv) { cOut = vec3(1.,1.,1.)-cOut;\t}\tgl_FragColor = vec4(cOut,1.0);\t}";
var pg,density,blockType,rand,size,tD=tokenData;class Random{constructor(){this.uA=!1;let s=function(s){let d=parseInt(s.substr(0,8),16),e=parseInt(s.substr(8,8),16),r=parseInt(s.substr(16,8),16),t=parseInt(s.substr(24,8),16);return function(){var s=((d|=0)+(e|=0)|0)+(t|=0)|0;return t=t+1|0,d=e^e>>>9,e=(r|=0)+(r<<3)|0,r=(r=r<<21|r>>>11)+s|0,(s>>>0)/4294967296}};this.pA=new s(tD.hash.substr(2,32)),this.pB=new s(tD.hash.substr(34,32));for(let s=0;s<1e6;s+=2)this.pA(),this.pB()}rd(){return this.uA=!this.uA,this.uA?this.pA():this.pB()}rdb(s){return s*this.rd()}rn(s,d){return s+(d-s)*this.rd()}ri(s,d){return Math.floor(this.rn(s,d+1))}rc(s){return s[this.ri(0,s.length-1)]}}R=new Random,t=0;var pgW,pgH,sW,sH,sh,shV,shF,globalAspectRatio=1.2/.8,dP={};function initR(){for(R=new Random,i=0;i<1e3;i++)R.rd()}function setup(){sH=windowWidth<windowHeight*globalAspectRatio?windowWidth/globalAspectRatio:windowHeight,sW=sH*globalAspectRatio,pgW=(pgH=1e3)*globalAspectRatio,density=2,pixelDensity(density),renderer=createCanvas(Math.round(sW),Math.round(sH),WEBGL),(pg=createGraphics(pgW,pgH,WEBGL)).pixelDensity(density),initR(),setupArt(),art(),sh=createShader(shV,shF),noLoop()}function shI(){shader(sh),sh.setUniform("tS",[dP.shT/pg.width*dP.shK,dP.shT/pg.height*dP.shK]),sh.setUniform("u_aB",dP.shAB),sh.setUniform("u_dir",[dP.shBx,dP.shBy]),sh.setUniform("u_time",dP.noiseK),sh.setUniform("u_pA",dP.shBlEqA),sh.setUniform("u_pB",dP.shBlEqB),sh.setUniform("u_pC",dP.shBlEqC),sh.setUniform("u_bw",dP.shBW),sh.setUniform("u_g",dP.shG),sh.setUniform("u_br",dP.shBr),sh.setUniform("u_con",dP.shCon),sh.setUniform("u_inv",dP.shInv),sh.setUniform("u_rgbr",dP.r),sh.setUniform("u_rgbg",dP.g),sh.setUniform("u_rgbb",dP.b)}function art(){if("radiacion"==blockType){R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10.25,dP.shK=1.05,dP.shT=100,dP.shBlEqA=1.9,dP.shBlEqB=1.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.2,dP.r=1.2,dP.g=2.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1e4):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=300.25,dP.shK=330.05,dP.shT=50,dP.shBlEqA=1.6,dP.shBlEqB=.1,dP.shBlEqC=.5*(dP.shBW?1.18:.25),dP.shG=1.1*(dP.shBW?1.65:1.05),dP.shBr=.4,dP.shCon=3.1,dP.r=2,dP.g=1.6,dP.b=1.1,dP.shInv=!1,dP.noiseK=30),pg.fill(91,250,171,R.rn(0,2)),pg.translate(R.rn(-pg.width/3,pg.width/3),R.rn(-pg.height/5,pg.height/3)),pg.scale(R.rn(.01,.5)),pg.background(R.rdb(79),R.rdb(79),R.rdb(79));for(let s=0;s<R.rn(10,40);s+=5)pg.stroke(R.rdb(79),R.rdb(79),R.rdb(79)),radiacion(s*R.rdb(50),2*-R.rdb(s),200*s),pg.push(),pg.strokeWeight(1),radiacion(s*R.rdb(200),200*-R.rdb(s),s%200),radiacion(s*R.rdb(20),-R.rdb(s),2*s),pg.pop()}else if("dimensiones"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=1e3,dP.shBlEqA=1.4,dP.shBlEqB=.1,dP.shBlEqC=.3*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.6,dP.shCon=3.7,dP.r=2.2,dP.g=2.5,dP.b=2.4,dP.shInv=!0,dP.noiseK=1):(dP.shAB=!0,dP.shBW=!1,dP.shBx=30.25,dP.shBy=1.25,dP.shK=.05,dP.shT=1,dP.shBlEqA=10.9,dP.shBlEqB=.1,dP.shBlEqC=.3*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=1.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.translate(0,R.rn(pg.height/10,pg.height/20)),pg.scale(R.rn(2,4)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250)),R.rd(),pg.fill(R.rdb(250),R.rdb(250),R.rdb(250),R.rdb(20));for(let s=0;s<R.rn(10,140);s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),dimensiones_inv_z(s*R.rdb(5e3),-R.rdb(s)/20,5e5*s),pg.pop(),pg.push(),dimensiones_inv(s*R.rdb(2e3),-R.rdb(s)/100,20*s),pg.pop(),pg.rotateY(R.rdb(s))}else if("casa_lluvia"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=20*(dP.shBW?1.65:1.05),dP.shBr=.4,dP.shCon=10.7,dP.r=1.2,dP.g=1.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(2)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(R.rn(1.5,3)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250)),eligeparasol=R.rd();for(let s=0;s<R.rn(10,140);s+=2)pg.push(),pg.strokeWeight(.1),pg.noFill(),eligeparasol<.4?casa_lluvia_anexo(s*R.rdb(50),2*-R.rdb(s),200*s):casa_lluvia_parasol(s*R.rdb(50),2*-R.rdb(s),200*s),pg.pop(),pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),casa_lluvia(s*R.rdb(5),-R.rdb(s)/200,s%200)}else if("casa_multicolor"==blockType){R.rd()<.1?(dP.shAB=!0,dP.shBW=!0,dP.shBx=30.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(10)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(1),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<30;s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(random(250),random(250),random(250)),casa_multicolor(s*random(5),-random(s)/200,s%200),casa_multicolor(s*random(500),-random(s)/2e3,2e3*s),pg.push(),pg.scale(5),pg.translate(pg.width/s,0),casa_multicolor(s*random(500),-random(s)/2e3,2e3*s),pg.pop()}else if("cuevas"==blockType){let s;R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=.25,dP.shBy=20.25,dP.shK=30.05,dP.shT=2,dP.shBlEqA=.3,dP.shBlEqB=.001,dP.shBlEqC=.3*(dP.shBW?1.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=2.2,dP.r=2,dP.g=2.6,dP.b=2,dP.noiseK=3,dP.shInv=!1):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=3.7,dP.r=1.2,dP.g=2.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1),pg.background(color(R.rdb(250),R.rdb(250),R.rdb(250),255)),pg.translate(R.rn(-pg.width/4,pg.width/4),pg.height/10),pg.scale(R.rn(.8,1.3)),pg.rotateY(R.rn(1,10));for(let d=0;d<R.rn(30,330);d+=10)pg.push(),pg.strokeWeight(R.rn(.3,1)),pg.stroke(R.rdb(80),R.rdb(79),R.rdb(79)),s=R.rd()<.5,cuevas(3e3+d*R.rdb(500),R.rdb(d),1,s),pg.pop(),pg.push(),pg.translate(pg.width/2,0),cuevas(3e3+d*R.rdb(50),R.rdb(d),1,s),pg.pop(),pg.rotateY(3e4)}else if("casa"==blockType){R.rd()<.6?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3):(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.rotateY(R.rdb(10)),pg.translate(pg.width/R.rn(2,10),R.rn(pg.height/20,pg.height/10)),pg.scale(2),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<30;s+=2)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),casa_brillo(s*R.rdb(5),-R.rdb(s)/200,s%200)}else if("planeta_con_soles_lejos"==blockType){R.rd()<.5?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=2000.25,dP.shK=.05,dP.shT=300,dP.shBlEqA=.5,dP.shBlEqB=.001,dP.shBlEqC=1.1*(dP.shBW?1.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=1.2,dP.r=2,dP.g=1.6,dP.b=2.4,dP.noiseK=30,dP.shInv=!0):R.rd()<.9?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=10000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=.1*(dP.shBW?.18:.25),dP.shG=2*(dP.shBW?1.65:1.05),dP.shBr=.2,dP.shCon=3.7,dP.r=1.2,dP.g=1.1,dP.b=2.4,dP.shInv=!0,dP.noiseK=1):(dP.shAB=!0,dP.shBW=!0,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.3,dP.shCon=1.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30),pg.rotateY(900),pg.translate(pg.width/R.rn(2.4,50),pg.height/R.rn(10,20)),pg.scale(R.rn(.1,.6)),pg.rotateY(R.rn(1,1e3)),pg.background(R.rdb(250),R.rdb(250),R.rdb(250));for(let s=0;s<50;s+=20)pg.push(),pg.strokeWeight(1),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),solo_lejos(3e3+s*R.rdb(500),R.rdb(s)/20,5*s),solo_lejos(300+s*R.rdb(500),R.rdb(s)/20,5*s),pg.ellipse(-s/2,40*-s,R.rdb(1130),R.rdb(1130)),pg.pop(),pg.pop()}else if("planeta_con_soles_cerca"==blockType){R.rd()<.9?(dP.shAB=!0,dP.shBW=!1,dP.shBx=3.25,dP.shBy=1000.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=1.7,dP.r=2.9,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=30):(dP.shAB=!0,dP.shBW=!0,dP.shBx=30.25,dP.shBy=10.25,dP.shK=.05,dP.shT=10,dP.shBlEqA=.9,dP.shBlEqB=.1,dP.shBlEqC=1.1*(dP.shBW?.18:.25),dP.shG=1*(dP.shBW?1.65:1.05),dP.shBr=.1,dP.shCon=2.7,dP.r=1.2,dP.g=2.1,dP.b=1.4,dP.shInv=!0,dP.noiseK=3),pg.translate(pg.width/R.rn(2.4,50),pg.height/R.rn(10,20)),pg.scale(R.rn(.1,.3)),pg.rotateY(R.rn(1,1e3)),pg.background(R.rdb(70),R.rdb(250),R.rdb(250));for(let s=0;s<50;s+=20)pg.push(),pg.strokeWeight(R.rn(.1,1)),pg.stroke(R.rdb(250),R.rdb(250),R.rdb(250)),solo_agujero(3e3+s*R.rdb(500),R.rdb(s)/20,5*s),solo_agujero(300+s*R.rdb(500),R.rdb(s)/20,5*s),pg.ellipse(-s/2,40*-s,230,230),pg.pop(),pg.push(),pg.pop()}}function draw(){shI(),sh.setUniform("tex0",pg),rect(-sW/2,-sH/2,sW,sH)}function changeRes(s){pixelDensity(int(s)),(pg=createGraphics(pgW,pgH,WEBGL)).pixelDensity(int(s)),initR(),setupArt(),art(),sh=createShader(shV,shF),redraw()}function keyPressed(s){83===keyCode&&save("tosolaris_"+blockType+"_"+tD.hash+".png"),-1!="123456789".indexOf(s.key)&&changeRes(s.key)}function windowResized(){sH=windowWidth<windowHeight*globalAspectRatio?windowWidth/globalAspectRatio:windowHeight,sW=sH*globalAspectRatio;var s=document.getElementById("defaultCanvas0");console.log(document.getElementById("defaultCanvas0").offsetWidth);document.getElementById("defaultCanvas0").offsetWidth,document.getElementById("defaultCanvas0").offsetHeight;s.style.heigh
In the context of the exhibition at Mexico with Bright Moments, when I began to think about my project, I was inspired by the creative prompt for the event and the concept of afterlife in particular. But I began to have doubts that I cannot adequately deal with the concept of afterlife in Mexican culture; that it would feel like an appropriation. Even disrespectfull somehow by an outsider of that culture. Instead, I decided to do something that deals with this theme in a more indirect, less culturally specific way. While I was preparing a show in London, I picked up a few books that approach this topic from a science-fiction perspective. One of them was Solaris. Rereading Stanislaw Lem’s novel, I tried to keep the images of Tarkovsky’s movie out of my head so I could really see the story in a new light. The book is essentially about the choices you make in life and the consequences they carry. It's about Kris Kelvin, a psichologist who travels to the planet Solaris, which he has been studying for years. The planet is almost entirely covered by a large ocean, which is revealed to be a single, planet-encompassing entity – a strange, non-human intelligence that confronts you with everything you think, believe and do. After years of no asnwers, a group of scientists decide to radiate it to explore the reasons of that behaviour, which ends up altering its form and character. In order to gather more information, Kris is sent there. There, he will confront himself with his deepest torments and monsters. He meets Hari, his dead wife. And with her presence, his own ocean of regrets and secret dreams emerge without mercy. For me, there is something profoundly poetic in this confrontation. There are probably as many interpreations of this novel as readers, but for me it is essentially about the multiple lives we have within a single life. All the trajectories that we could have taken, branching off into a variety of possible lives. Are we our acts or our thoughts? I mean, we constantly deal with our past and regrets, with our secrets loves, with our secret hates, dreams and hypothetical lives. And it all happens in the present. So, irretrievably we are all these persons at the same time. We are all these lives together. After going several times over the book, I broke it up into episodes and I began to sketch scenes with the code. The different sketches are not directly representational, however; they allude to scenes. It feels personally like the next step in my personal exploration of narratives in generative art. My goal is definitely not to represent literally the story with code; rather, I want to create an algorithm capable of expressing the central themes of the narrative in a condensed form. It's a sequential base of rules, a growing form based on a common element: a base (a platform), from which different elements grow and navigate through Solaris. I find certainly powerful the idea of exploring the whole context of an algorithm, preparing the viewer for an introduction, conflict, climax and denouement of the system. – Text based on my conversation with Malte Rauch.