Outer Boundary 003
Policy: 07d598...3974
Owner:
Metadata:
{ "name": "Outer Boundary 003", "seed": 8115423, "files": [ { "src": [ "data:text/html;utf8,<html><head><body style='margin:0;overflow:h", "idden'><canvas id='tc' tabindex='1'><a id='link'></a><script>con", "st Q=s=>eval('(v,a,b,c,d)=>'+s),CHAR=C=>String.fromCharCode(C),F", "or=Q('{for(v=v;v<a;v++)b(v,v/(a-1))}'),FoE=Q('For(0,v.length,(i,", "t)=>a(v[i],i,t))'),cR=Q('`rgba(${v},${a},${b},${c})`'),cH=Q('`hs", "la(${v},${a}%25 ,${b}%25 ,${c})`'),cM=Q('cR(v,v,v,a)'),cHx=C=>'r", "gb('+((C=parseInt(C,16))>>16&255)+','+(C>>8&255)+','+(255&C)+')'", ";let P=(v,a,b,c)=>{for(b=b.split(':'),c=0;c<b.length;c+=2)eval(`", "C${b[c]}=${v}=>ctx.${b[c+1]}${a}`)},t='(...a)';P(t,t,'TC:clip:RT", ":rect:GT:getTransform:DI:drawImage:FT:fillText:EL:ellipse:BP:beg", "inPath:CP:closePath:MT:moveTo:LT:lineTo:BC:bezierCurveTo:ST:stro", "ke:VS:save:VR:restore:TR:setTransform:XT:translate:XS:scale:XR:r", "otate:FR:fillRect:RE:rect:FL:fill'),P('a','=a','SBr:shadowBlur:L", "W:lineWidth:TA:textAlign:TB:textBaseline:SC:shadowColor:SS:strok", "eStyle:GC:globalCompositeOperation:FS:fillStyle');const DEF=(C,e", ")=>{C=C??CANV,e=e??_R,CTR(e,0,0,e,0,0),CFS(C),CSS(C),CTA('center", "'),CSB(0),MUL()},CSB=C=>CSBr(C*_R),DCE=C=>document.createElement", "(C),CCX=C=>ctx=C||CTX,FNT=C=>ctx.font=C+'px Arial',TXT=(C,e,...t", ")=>{CFS(C),FNT(e),CFT(...t)},ELI=(C,...e)=>{CFS(C),CBP(),CEL(...", "e),CFL()},ADD=C=>CGC('screen'),MUL=C=>CGC('source-over'),CWH=(C,", "e,t)=>{C.width=e,C.height=t||e},BG=C=>RECT(C,0,0,_W,_H),RECT=(C,", "...e)=>{CBP(),CFS(C),CFR(...e),CFL()},AA=(C,e)=>C.imageSmoothing", "Enabled=C.mozImageSmoothingEnabled=C.webkitImageSmoothingEnabled", "=e;function v2(C,e){var t=this,r=(C,e)=>(t.x=C||0,t.y=e||0,t);r(", "C,e),Object.assign(t,{set:r,circ(C){return r(sin(C),-cos(C))},pe", "rp(C){return r(t.y,-t.x)},len(C){return sqrt(t.x*t.x+t.y*t.y)},d", "ot(C){return t.x*C.x+t.y*C.y},norm(C){return t.div(t.len())},rad", "(C){return atan2(t.x,-t.y)},add(C){return r(t.x+C.x,t.y+C.y)},su", "b(C){return r(t.x-C.x,t.y-C.y)},mv(C){return r(t.x*C.x,t.y*C.y)}", ",inc(C){return r(t.x+C,t.y+C)},mul(C){return r(t.x*C,t.y*C)},div", "(C){return r(t.x/C,t.y/C)},cpy(C){return V2(t.x,t.y)}})}V2=Q('ne", "w v2(v,a)'),FoE(Object.getOwnPropertyNames(Math),(i=>eval(`${i}=", "Math.${i}`)));const Lerp=Q('(1-v)*a+v*b'),Wrap=Q('v<a?b-(a-v)%25", " (b-a):a+(v-a)%25 (b-a)'),Mapf=Q('b-a==0?c:c+(((v-a)/(b-a))*(d-c", "))'),Clamp=Q('v<a?a:min(b,v)'),Ease=C=>-(cos(PI*C)-1)/2,TAU=2*PI", ";class RNG{constructor(C){var e=this,t=4294967295,r=123456789+C&", "t,l=987654321-C&t,c=65535;e.r=C=>(((l=36969*(l&c)+(l>>>16)&t)<<1", "6)+((r=18e3*(r&c)+(r>>>16)&t)&c)>>>0)/(t+1),e.f=(C,t)=>C+e.r()*(", "t-C),e.i=(C,t)=>floor(e.f(C,t)),e.c=C=>e.r()<C,e.item=C=>C[e.i(0", ",C.length)]}}CANV=cM(220,1),WALL=cHx('f57411'),SHDW=cHx('0f0a06'", "),FPS=60;const SEED=8115423,TAG='C-02-003',PX=1e3,HX=PX/2,uS=(C,", "e,t,r,l)=>{let c=V2(HX,HX),n='white',a='black',o='evenodd',i=(C,", "e)=>For(0,C,e),S=C=>RECT(C,0,0,PX,PX),T=C=>{let e=[];return For(", "0,100,((t,r)=>e[t]=[r,C(r)])),e},X=(C,e,t,r)=>{let l=ctx.createR", "adialGradient(C,e,0,C,e,t);return FoE(r,(C=>l.addColorStop(...C)", ")),l},P=(A=(C=200,e=3,t=200,r=8,l=a,c=1,n=800)=>{i(C,((C,a)=>{CB", "P();let o=n*a,i=1+sin(TAU*a*e);((C=300,e=10,t=10,r=1e3)=>{let l=", "V2();r*=min(_R,8),For(0,r,((c,n)=>{n=c/r;let a=cos(TAU*n*e);l.ci", "rc(n*TAU).mul(C+a*t),(c?CLT:CMT)(l.x,l.y)})),CCP()})(o,t,r*a),CL", "W(i/2*c),CSS(l),CST()}))},(C,e,...t)=>{CVS(),CXT(C,e),A(...t),CV", "R()}),s=C=>FoE(C,(C=>C[0].add(C[1]))),E=(C,e,t,r)=>FoE(C,(C=>{le", "t[l,c,n]=C,a=c.len();e.c(t)&&c.circ(c.rad()+e.f(-r,r)).mul(a)}))", ",u=(C,e,t)=>FoE(C,(C=>C[1].add(t).norm())),d=(C,e,t)=>T((r=>cH(C", "-200*t*r,100,60*pow(1-r,3),pow(1-r,2)*e))),F=(C,e,t,r=0,l=1,c)=>", "{CXT(C,e),CXR(PI*r);let a=((C,e,t,r,l)=>{let c=ctx.createLinearG", "radient(0,0,0,r);return FoE(l,(C=>c.addColorStop(...C))),c})(0,0", ",0,PX,d(t,l,1));CSB(20),CSC(cH(t,100,60,1)),i(4,(C=>{RECT(a,-7,0", ",14,PX),RECT(a,-3,0,6,PX),ADD()})),CSC(n),c&&i(5,(C=>ELI(n,0,0,9", ",9,0,0,TAU)))},v=V2(),H=(C,e,t,r,l,c=[20,30,3])=>{let[n,a,o]=c,S", "=C.f(100,300),T=V2(),X=V2(),P=V2();i(n,((c,n)=>{T.circ(TAU*C.r()", ");let s=C.i(30,S);i(a,((c,n)=>{X.circ(C.r()*n).mul(.35).add(T).m", "ul(C.f(0,s)).add(e);let a=2+r+10*pow(C.r(),3)*n;l(X.x,X.y,2*a,t,", "0),a>4&&i(o,((e,r)=>{P.circ(C.r()*TAU).mul(a).add(X),l(X.x,X.y,a", ",t,1)}))}))}))};var A,m,x,R,L,h,p;SIGN=(h=(L=C=>{var e=[];for(R=", "0;R<C.length;R++)e.push('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM", "NOPQRSTUVWXYZ1234567890'.indexOf(C[R])-31);return e})('EEBBBCABA", "AABBCCDEGLNKJJKKKLLLKLKKJJHCBEEEEEFEEEFFFFKSPIrpmoqxQVXXTLKJJIIH", "GGFFDDCCCCCDDFFGHIIIIHHGGEFEFFGGIHIHHHGGFGFGIN'),p=L('ldwPPSUWYY", "YYXWTT07UCvwtrpnnlmlmnoqsua7RUWXZZZZYXUSPTnhnDIJKJMEEBytspljjlns", "zGNSX1232ZWRLEuojhikpxHSZ431SIxokhjovHSZ31VLm'),(C,e,t,r)=>{for(", "R=0;R<h.length;R++)r(C,e,C+(m=h[R]*t),e+(x=p[R]*t)),C+=m,e+=x});", "var V=(C,e,t)=>{CBP(),SIGN(C,e,t,((C,e,t,r)=>{CLT(t,r)})),CST()}", ";_RL=2;let[y,B]=[[0,81.07,63.384,69.805,174.464,85.941,69.228,30", "7.907,46,-42.283,234.993,-1.09,217.021],[0,0,0,0,0,0,0,0,0,0,0,1", "]],[b,M,f]=[[1,376,360,500,.6,3,38,1,0,3,0,1],[.9,.07,.08,.24,.0", "6,0,.05,1,1,1,1,0],[0,1,0,0,1,1,0,1,1,1,1,1]],D=[...b],I=[{lo:0,", "hi:3,decimals:3},{lo:0,hi:1e3},{lo:0,hi:1e3},{lo:-500,hi:500},{l", "o:.1,hi:5,decimals:2},{lo:1,hi:20},{lo:1,hi:100},{lo:0,hi:1,bool", ":1},{lo:0,hi:1,bool:1},{lo:3,hi:10},{lo:0,hi:1,bool:1},{lo:0,hi:", "1,bool:1}];FoE(D,((e,t)=>{let r=f[t],l=b[t],c=M[t],{lo:n,hi:a,de", "c:o}=I[t],i=(a-n)*c;For(0,2,C.r),l=C.f(max(n,l-i),min(a,l+i)),r|", "|(D[t]=((C,e)=>round(C*pow(10,e))/pow(10,e))(l,o??0))})),cH(30,1", "0,50,1);let g,_,U=cM(230,1),W=cM(0,.5),w=cM(0,.5),G=cM(0,.3),N=c", "M(255,.2),Y=(cH(30,100,2,1),(C,e)=>(g[C]=g[C]??[]).push(e)),k=[]", ";return(C=>{let e=()=>{(C=>{g={},_=[];let[e,t,r,l,a,A,m,x,R,L,h,", "p,B]=y,[b,M]=((C,e,...t)=>{let r,l=(C,t,r,l,c,n,a,o,S,T,X)=>{let", " P=new Path2D,s=c*n,E={x:HX,y:HX,X:HX,Y:HX},u=(C,e,t=0)=>{E={x:m", "in(E.x,C-t),y:min(E.y,e-t),X:max(E.X,C+t),Y:max(E.Y,e+t)}};retur", "n i(s,((c,X)=>{X=c/s;let E=(1.01+cos(TAU*X*(s/n)))/2;E=pow(E,l)*", "r;let d=o?TAU/(2*S):0,F=X*TAU,v=V2().circ(X*TAU).mul((C+E)*e).in", "c(HX);if(a){let C=V2();i(S,((r,l)=>{l=r/S,T?C.circ(d+F+l*TAU).mu", "l(t*e).add(v):C.circ(d+l*TAU).mul(t*e).add(v),r?P.lineTo(C.x,C.y", "):P.moveTo(C.x,C.y),u(C.x,C.y,0)})),P.closePath()}else{let C=t*e", ";P.moveTo(v.x+C,v.y),P.ellipse(v.x,v.y,C,C,0,0,TAU),u(v.x,v.y,C)", "}})),P.ext=E,P.cntr=V2((E.X+E.x)/2,(E.Y+E.y)/2),P};if(t[10]){e=1", ",r=l(...t);let c=r.ext;e=C/max(c.X-c.x,c.Y-c.y)}return r=l(...t)", ",[r,r.cntr]})(850,...D);c=M.cpy().inc(-HX).mul(-1),M.set(HX,HX).", "add(c);let f=M.x,I=M.y,k=new RNG(SEED+2),$=(C=0,e=1,t=91)=>Y(t,(", "()=>{F(f,I,h,C,e,1)})),Q=(C=91,...e)=>Y(C,(()=>{((C,e,t,r,l=1,c=", "1)=>{CBP(),ADD(),V2();let n=0;t-=25,i(2,((a,o)=>{let S=C.i(3,20)", "*c;i(100,((r,l)=>{n+=C.c(.15)?1.12:0;let c=e+sin(n+l*TAU*3)*S,a=", "t-700*l,o=C.i(15,30);CMT(c,a),CEL(c,a,o,o/10,PI/2,-PI/8,PI/8),CC", "P(),CEL(c,a+o,o/20,o/10,0,0,TAU),CCP()}));let T=cH(r,100,70,l);C", "FS(T),CSC(T),CFL()})),MUL()})(k,f,I,h,...e)}));Y(50,(()=>{((C,e,", "t)=>{let r=C=>{CXT(HX,HX),CXS(C,C),CXT(-HX,-HX)};CVS(),CXT(c.x,c", ".y),i(10,((e,t)=>{let l=!e,c=9==e;CVS();let n=Mapf(t,0,1,1,1.05)", ";r(n),l&&(CVS(),CSC(G),CFS(CANV),i(5,((e,t)=>{CSB(round(5+25*t))", ",CFL(C,o)})),CSC(N),i(5,((e,t)=>{CSB(round(1+8*t)),CFL(C,o)})),C", "VR()),ctx.clip(C,o),CLW(2),CSC(w),CSS(W),l&&CSS('black'),c&&(CFS", "(U),CFL(C,o),FoE(_,(e=>e(C))),CLW(1.5),CSC(w),CSS('black')),CSB(", "5),CST(C),CSB(0),CVR(),c&&(CVS(),r(n),CLW(.25),CSS('black'),CST(", "C),CVR())})),CVR()})(b)})),(()=>{let C=[t,r,l],e=[a,A,m],c=abs(L", "),n=[x,R,c],o=X(f,I,700,[[.2,cH(...n,0)],[1,cH(...n,L>0?1:c/100)", "]]),P=T((C=>cM(p<0?0:255,pow(Clamp(Mapf(C,.6,1.1,0,1),0,1),1.5)*", "abs(p)))),s=X(f,I,PX,P);WALL=cH(t,r/3,min(100,l+.5*(100-l)),1),C", "ANV=cH(...C,1),Y(0,(()=>{S(CANV),S(s)})),_.push((C=>{CVS(),S(cH(", "...e,1)),CVR()})),Y(89,(C=>{L>0&&ADD(),S(o)})),i(1,(e=>Y(e?79:99", ",(t=>{return r=e,l=cH(...C,1),c=cM(B,1),CLW(1.5),r&&(CSC(l),CSS(", "CANV),i(10,((C,e)=>{CSB(3*C),V(965,950,.12)}))),CSS(c),V(965,950", ",.12),void CSB(0);var r,l,c}))))})(...y);let K=(C,e,t)=>{i(C,(C=", ">{CBP();let r=k.f(.5,3)*e,l=(V2().circ(k.f(0,TAU)),V2().circ(t+T", "AU/3*C).mul(.02)),c=[[s,[]],[E,[.2,.2]],[E,[.03,.8]],[u,[l]]];((", "C,e,t,l,c)=>{i(e,((e,c)=>{FoE(l,(e=>{let[r,l]=e;r(t,C,...l)})),F", "oE(t,(C=>((C,e)=>{let t=r*C;CMT(e.x,e.y),CEL(e.x,e.y,t,t,0,0,TAU", "),CCP()})(1-c,...C)))}))})(k,k.i(300,2e3),[[V2(f,I),V2().circ(l.", "rad()+k.f(-1,1))]],c),CSB(10),CSC(cH(h,100,50,1)),CFS('white'),C", "FL()}))};Y(49,(C=>K(10,1.5,PI/3))),Y(91,(C=>K(10,.75,PI/3))),Y(5", "1,(C=>((C=0,e=1,t=40,r)=>{let l=((C=200,e=8,t=2)=>{let r=[],l=0;", "return V2(),i(e,(c=>{r[e-1-c]=[C/=2,l+=1.5*C/2,t*=.9]})),(C,e,t,", "l)=>{t=round(min(log2(max(t,1)),r.length-1));let[c,n,a]=r[t],o=s", "in(TAU/3)*c,S=1.5*c,T=round(C/o),X=round((e+n)/S),P=(T+X)%25 2,s", "=S/6;((C,e,t,r,l,c)=>{CBP(),i(3,((C,c)=>{v.circ(r+TAU*(C/3)).mul", "(l),(C?CLT:CMT)(v.x+e,v.y+t)})),CSS(C),CCP(),CLW(c),CST()})(l,T*", "o,X*S+(P?-s:s)-n,P?PI:0,c,a)}})();i(t,((t,c)=>{let n=V2().circ(T", "AU*c).mul(380).add(M);if(C){let C=r?r():cH(k.i(0,360),100,50,.2)", ";H(k,n,C,1,((C,t,r,c,n)=>{l(C,t,r*e,c),n&&(CFS(c),CFL())}))}else", "{let C=r?r():cH(k.i(0,360),100,50,1);CBP(),CFS(C),H(k,n,C,1,((C,", "t,r,l,c)=>{r*=e,CMT(C,t),CEL(C,t,r,r,0,0,TAU),CCP()})),CFL()}}))", "})(0,.05,50,(C=>n)))),Q(95,1.5,-1),Q(95,.6,2),$(1,.8,92),FoE([-.", "5,.5,0],((C,e)=>((C=.24,e=200,t=40,r=1,l=30,c=0)=>Y(l,(()=>{i(t,", "((t,l)=>{let n=1-l,a=n*C,o=Lerp(l,-e,e);a*=t%25 2?-1:1,CVS(),F(f", ",I+10,h+o,c+a,3*n*r,0),CVR()}))})))(.1,200,49,.2,2!=e?45:51,C)))", ",$(0,.9,92),Y(98,(()=>{((C,e,t,r=30,l=1,c=0,n=1,a=1)=>{CXT(e,t),", "ADD();let o=X(0,0,250*l,d(c,n,a));CBP(),i(r,(e=>{let t=V2().circ", "(C.f(0,TAU)).mul(600);CSS(o),CMT(0,-5),CLT(t.x,t.y+500),CLW(.5),", "CST()}))})(k,f,I,30,2,h,1)})),((C=1)=>{Y(99,(()=>{((C,e,t,r,l,c)", "=>{CXT(C,e),ADD();let n=d(r,l,1),a=X(0,0,125,n),o=X(0,0,225,n);E", "LI(a,0,0,175,175,0,0,TAU),ELI(o,0,0,250,250,0,0,TAU)})(f,I,0,h,C", ")}))})(6),i(2,((C,e)=>Y(49,(C=>P(f,0,50*(e+1),1,200,3,cM(e?255:0", ",1),1))))),Y(10,(()=>{((C,e,t=4,r=2,l=cM(255,.3))=>{i(1,((c,n)=>", "{let a=c?-600:0;i(140,((c,n)=>{CBP();let o=1200*n,i=1.5+sin(n*TA", "U*t)*r;CEL(C,e+a,o,o,0,0,TAU),CLW(i),CSS(l),CST()}))}))})(f,I,12", ",1.5,X(f,I,800,T((C=>cH(40+HX*C,100,60,1)))))}))})(),((...C)=>{i", "(100,((e,t)=>{(t=g[e])&&FoE(t,(e=>{CVS(),e(...C),CVR()}))}))})()", "};if(k=[],_R<4)e();else{let C=_R/2;CBP(),i(C,((e,t)=>{let r=1-(t", "=e/C);CRE(HX*t,HX*t,PX*r,PX*r),CRE(HX*r,HX*t,PX*t,PX*r),CRE(HX*t", ",HX*r,PX*r,PX*t)})),CSS(cM(255,.1)),CLW(2),CST(),CLW(20),CSS(cM(", "0,.01)),CST(),TXT(a,15,`Print quality - ${_R*PX}x${_R*PX}`,HX,28", "5),i(C,((t,r)=>{i(C,((r,l)=>{let c=PX*(r/C),n=PX*(t/C),a=PX/C,o=", "PX/C;k.push((()=>{CVS(),CBP(),CRE(c,n,a,o),ctx.clip(),e(),CVR()}", ")),k.push((()=>{CBP(),CRE(c+10,n+10,a-20,o-20),CLW(15),CSS(cM(0,", ".1)),CST()}))}))}))}})(),C=>(k.length&&k.pop()(),0)};function I(", "){cnv=document.getElementById('tc'),ctx=CTX=cnv.getContext('2d')", ";const C=(C,e,r,l,c,n)=>{var a,o,i,S=V2(C,e);return t.push((C=>{", "o&&n(c)})),(t,c)=>{a=V2(_X,_Y).mul(-1).add(S),o=a.len()<1.7*r,i=", "o?2:5,t&&(ELI(o||c?'white':'grey',C,e,r+i,r+i,0,0,TAU),CTA('cent", "er'),CFS('black'),FNT(r-3),CFT(l,C,e+6))}};let e={Piece:'3',Name", ":'Outer Boundary 003',Description:'This artwork explores interfe", "rence patterns using the interplay|between strong geometric shap", "es'.split('|'),Properties:'Persp, Realm 2, Outer Teal, 51, Spect", "ral Forge',Medium:'Fully On-Chain BlockGen.Art Canvas',Artist:'C", "harles Machin - @CM_GenArt',Seed:SEED};var t=[],r=[],l=0,c=[1,2,", "4,8,16],n=0,a=C=>{l=C,_R=c[C],art=o(_R),cer=i(min(_R,4))},o=C=>{", "n=0;var e,t=DCE('canvas'),r=t.getContext('2d'),l=cM(150,1),c=()=", ">{DEF(),TXT(l,1==C?10:8,TAG,967,993)};return CWH(t,C*PX),CCX(r),", "AA(t,1),DEF(),e=uS(new RNG(SEED),r,t,C,c),c(),()=>(CCX(r),DEF(),", "n||(n=e())&&c(),CCX(),t)},i=C=>{let t=DCE('canvas'),r=new RNG(SE", "ED),l='black',c=[0,0,PX,PX],n=(C,e)=>For(0,C,e);CWH(t,PX*C),CCX(", "t.getContext('2d')),DEF(null,C),RECT(cH(0,2,80,.6),2,2,PX-4,PX-4", "),CBP(),CRT(4,4,PX-8,PX-8),CTC(),RECT(cH(0,2,80,1),...c);let a,o", ",i=(C,e,t)=>{n(6,((r,l)=>{l=r/6;let c=V2().circ(t+l*TAU).mul(e);", "CMT(c.x+C,c.y),CEL(c.x,c.y,C,C,0,0,TAU),CCP()}))},S=(C=l,e=0,t=1", ")=>{CBP(),((C=0)=>{i(25+C,60,PI/6),i(14+C,100,0),i(12+C,132,PI/6", "),i(10+C,162,0),i(7+C,180,PI/6)})(e),CSS(C),CLW(t),CST()};var T,", "X;for(var[T,P]of(CVS(),CXT(HX,200),CXS(.3,.3),n(20,((C,e)=>{S(cM", "(C%25 2?0:255,pow(1-e,3)*(C%25 2?.2:.7)),200*e,3)})),S('white',0", ",6),CFS(cH(230,60,30,1)),CFL(),CVR(),CVS(),CXT(HX,820),CXS(.2,.2", "),CXR(PI/4),n(7,((C,e)=>{CBP();let t=50+50*C,r=12+12*C;CRE(-r,-r", ",t,t);let c=_RL-1==C;1==_RL&&c&&(CFS(cH(40,80,50,1)),CFL()),CLW(", "c?6:2),CSS(l),CST()})),CVR(),n(50,((C,e)=>{n(80,((C,t)=>{CVS(),C", "XT(PX*e,PX*t),CXR(TAU*r.i(0,6)/3),RECT(cM(155,.05),-100,-2,200,1", "),RECT(cM(255,.05),-100,-1,200,1),CVR()}))})),CSC(l),CSBr(30*C),", "CBP(),CRE(...c),CSS(cHx('dbccb8')),CLW(102),CST(),CBP(),CRE(...c", "),CSS(cHx('9d8c78')),CLW(92),CST(),CSBr(6*C),CSS(CANV),CLW(30),C", "ST(),DEF(null,C),TXT(cM(0,.1),18,'CM GEN ART',HX,40),TXT(cM(0,.6", "),13,TAG,HX,970),a=HX,o=290,Object.entries(e)))o+=34,TXT(cM(0,.8", "),14,T,a,o),o+=24,X=cM(0,.5),Array.isArray(P)?FoE(P,(C=>{TXT(X,2", "0,C,a,o),o+=22})):TXT(X,20,P,a,o);return DEF(),CCX(),C=>t},S=()=", ">{setTimeout((C=>{window.requestAnimationFrame(S);var e=0,t=PX;C", "CX(),T(.97,WALL),CSC(SHDW),CSBr(55),RECT(CANV,0,0,t,t),CSB(0),CV", "S(),_P&&(CXT(PX,0),CXS(-1,1)),CDI(art(),0,0,t,t),CVR(),_P&&CDI(c", "er(),0,0,t,t),FoE(r,(C=>{C(_P,l==e),e++}))}),1e3/FPS)},T=(C,e)=>", "{var t=window,r=t.innerWidth,l=t.innerHeight,c=r!=_W||l!=_H,n=mi", "n(r,l)*C,a=n/PX,o=min(2,max(devicePixelRatio??1,1));c&&(cnv.widt", "h=_W=r*o,cnv.height=_H=l*o),CTR(1,0,0,1,0,0),BG(e),CXT((r-n)/2,(", "l-n)/2),CXS(a,a)};AA(ctx,1),(()=>{a(0);var l,n,o=c.length,i='tou", "ch',T='mouse',X=C=>{C.preventDefault();var e=C.changedTouches[0]", ";return C.clientX=e.pageX,C.clientY=e.pageY,C},P=C=>{var e=cnv.g", "etBoundingClientRect(),t=CGT().invertSelf();n=C.clientX-e.left,y", "=C.clientY-e.top,_X=n*t.a+y*t.c+t.e,_Y=n*t.b+y*t.d+t.f};for(p=C=", ">{_M=1,P(C),(C=>{C.preventDefault(),C.stopPropagation()})(C),_P=", "_I(_X,_Y)},u=C=>{_P&&FoE(t,(C=>C())),_M=_P=0,P(C)},FoE([[i+'star", "t',C=>{p(X(C))}],[i+'move',C=>{P(X(C))}],[i+'end',C=>{u(X(C))}],", "[T+'down',p],[T+'move',P],[T+'up',u]],(C=>cnv.addEventListener(.", "..C))),l=0;l<o;l++)r.push(C(130,n=HX-80*o/2+80*(l+.5),22,c[l]+'k", "',l,a));r.push(C(130,800,25,CHAR(8595),0,(C=>{return(t=DCE('a'))", ".download=e.Name,t.href=art().toDataURL(),void t.click();var t})", ")),S()})()}_X=_Y=0,_R=1,_P=0,_M=0,_W=0,_H=0,_I=C=>1,I();</script", "></canvas></body></html>" ], "name": "Outer Boundary 003", "mediaType": "text/html" } ], "image": "ipfs://QmPjbXuzcL49bmguP6NvTamBxvDrMFSczES5pL8vm78myd", "piece": 3, "artist": "Charles Machin - @CM_GenArt", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset1ca3myxgejq8cpw0vvxm6uwae64uprqutqhntj2", "mediaType": "image/png", "properties": { "Mix": "Outer Teal", "Type": "Realm 2", "Depth": "Persp", "Prism": "Spectral Forge", "Pattern": "51" }, "description": [ "This artwork explores interference patterns using the interplay", "between strong geometric shapes" ] }