We Are Block Gen 004
Policy: df79e9...825d
Owner:
Metadata:
{ "name": "We Are Block Gen 004", "seed": 2501, "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=e=>String.fromCharCode(e),F", "or=Q('{for(v=v;v<a;v++)b(v,v/a)}'),FoE=Q('For(0,v.length,(i,t)=>", "a(v[i],i,t))'),cR=Q('`rgba(${v},${a},${b},${c})`'),cH=Q('`hsla($", "{v},${a}%25 ,${b}%25 ,${c})`'),cM=Q('cR(v,v,v,a)'),cHx=e=>'rgb('", "+((e=parseInt(e,16))>>16&255)+','+(e>>8&255)+','+(255&e)+')';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:rec", "t:GT:getTransform:DI:drawImage:FT:fillText:EL:ellipse:BP:beginPa", "th:CP:closePath:MT:moveTo:LT:lineTo:BC:bezierCurveTo:ST:stroke:V", "S:save:VR:restore:TR:setTransform:XT:translate:XS:scale:XR:rotat", "e:FR:fillRect:RE:rect:FL:fill'),P('a','=a','SBr:shadowBlur:LW:li", "neWidth:TA:textAlign:TB:textBaseline:SC:shadowColor:SS:strokeSty", "le:GC:globalCompositeOperation:FS:fillStyle');const DEF=(e,t)=>{", "e=e??CANV,t=t??_R,CTR(t,0,0,t,0,0),CFS(e),CSS(e),CTA('center'),C", "SB(0),MUL()},CSB=e=>CSBr(e*_R),DCE=e=>document.createElement(e),", "CCX=e=>ctx=e||CTX,FNT=e=>ctx.font=e+'px Arial',TXT=(e,t,...r)=>{", "CFS(e),FNT(t),CFT(...r)},ELI=(e,...t)=>{CFS(e),CBP(),CEL(...t),C", "FL()},ADD=e=>CGC('screen'),MUL=e=>CGC('source-over'),CWH=(e,t,r)", "=>{e.width=t,e.height=r||t},BG=e=>RECT(e,0,0,_W,_H),RECT=(e,...t", ")=>{CBP(),CFS(e),CFR(...t),CFL()},AA=(e,t)=>e.imageSmoothingEnab", "led=e.mozImageSmoothingEnabled=e.webkitImageSmoothingEnabled=t;f", "unction v2(e,t){var r=this,a=(e,t)=>(r.x=e||0,r.y=t||0,r);a(e,t)", ",Object.assign(r,{set:a,circ(e){return a(sin(e),-cos(e))},perp(e", "){return a(r.y,-r.x)},len(e){return sqrt(r.x*r.x+r.y*r.y)},dot(e", "){return r.x*e.x+r.y*e.y},norm(e){return r.div(r.len())},rad(e){", "return atan2(r.x,-r.y)},add(e){return a(r.x+e.x,r.y+e.y)},sub(e)", "{return a(r.x-e.x,r.y-e.y)},mv(e){return a(r.x*e.x,r.y*e.y)},inc", "(e){return a(r.x+e,r.y+e)},mul(e){return a(r.x*e,r.y*e)},div(e){", "return a(r.x/e,r.y/e)},cpy(e){return V2(r.x,r.y)}})}V2=Q('new 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=e=>-(cos(PI*e)-1)/2,TAU=2*PI;cla", "ss RNG{constructor(e){var t=this,r=4294967295,a=123456789+e&r,C=", "987654321-e&r,n=65535;t.r=e=>(((C=36969*(C&n)+(C>>>16)&r)<<16)+(", "(a=18e3*(a&n)+(a>>>16)&r)&n)>>>0)/(r+1),t.f=(e,r)=>e+t.r()*(r-e)", ",t.i=(e,r)=>floor(t.f(e,r)),t.c=e=>t.r()<e,t.item=e=>e[t.i(0,e.l", "ength)]}}CANV=cM(220,1),WALL=cHx('f57411'),SHDW=cHx('0f0a06'),FP", "S=60;const SEED=2501,TAG='PG-02-004',PX=1e3,HX=PX/2,uS=(e,t,r,a,", "C)=>{(e=>{V2(),V2();let t=[];For(0,3,((e,r)=>t.push(V2().circ(r*", "TAU).mul(200))))})();let n=e=>{CBP();let t=e?TAU/6:0;For(0,6,((e", ",r)=>{let a=V2().circ(t+TAU*r).mul(200);(0==e?CMT:CLT)(a.x,a.y)}", ")),CCP(),For(0,3,((e,r)=>{let a=V2().circ(t+TAU*r).mul(200);CLT(", "a.x,a.y),CLT(0,0)})),CST()},c=V2(),l=(t,r)=>(a,C,n)=>(C.circ(C.r", "ad()+t*e.item(r)),0),o=(t,r)=>(...a)=>t>e.r()&&r(...a);CANV='whi", "te',WALL='grey',SHDW='darkgrey',RECT(CANV,0,0,PX,PX);let i=[],s=", "[],u=new class{constructor(){var e,t,r=[],a=V2(),C=V2(),n=V2(),c", "=V2();this.eff=(...e)=>r.push([...e]),V2();var l=(e,t,r,a)=>a.se", "t(t.x,t.y).sub(r).mul(e).add(r);this.get=(o,i)=>{for(a.set(),e=0", ";e<r.length;e++){var s=(t=r[e])[0],u=t[1],T=t[2];n.set(o,i).sub(", "s);var v=T/(2*n.len());c.set(u.x,u.y).perp();var S=n.norm().dot(", "c),d=S>0?1:-1;l(1-abs(S),u,n.norm().perp().mul(d),C),a.add(C.nor", "m().mul(v))}return a}}},T=(v=i,S=s,e=>{For(0,e,(e=>{v.length&&S.", "push(v.shift())}))});var v,S;u.eff(V2(HX,250),V2(1,1),3),u.eff(V", "2(HX,750),V2(-1,1),3),For(0,50,((e,t)=>{i.push([V2().circ(t*TAU)", ".mul(700),V2().circ(PI+t*TAU),V2(1,1)]),i.push([V2().circ(t*TAU)", ".mul(50),V2().circ(t*TAU),V2(1,1)]),i.push([V2().circ(t*TAU).mul", "(50),V2().circ(PI/4+t*TAU).mul(-1),V2(1,1)])})),V2();let d=(h=s,", "m=((...e)=>t=>{for(let r=0;r<e.length;r++)if(e[r](...t))return 1", "})(((e,t,r)=>{var a,C;e.add(c.circ((a=t.rad(),C=TAU,0+round((a-0", ")/(C-0)*7)*(C-0)/7)).mul(2))}),((e,t,r)=>(e.l=(e.l??0)+1,e.t=1-e", ".l/150,e.l>150)),(p=u,(e,t,r)=>(t.mul(1-.8).add(c.set().add(p.ge", "t(e.x,e.y)).mul(.8)),0)),o(.05,l(PI/20,[-3,1,2])),l(PI/60,[-1,-2", ",-3,1,2,3]),(X=o(.1,(P=s,A=(t,r,a)=>{let C=t.cpy(),n=TAU/6*(e.c(", ".5)?-1:1);return C.l=t.l,C.t=t.t,C.n=t.n,[C,V2().circ(r.rad()+n)", ",a.cpy()]},(...e)=>(P.push(A(...e)),0))),(e,t,r)=>(!(e.l%25 10)&", "&X(e,t,r),0)),((e,t,r)=>{let a=1+30*e.t;CLW(.4),CBP();let C=e.x,", "n=e.y,c=r.x*a,l=r.y*a;e.l%25 4?CRE(C-c/4,n-2*l,c/2,4*l):CRE(C-8*", "c,n-l/4,4*c,l/2),CEL(C,n,r.x*a,c,0,0,TAU),CCP();let o=Clamp(2*(1", "-e.t),0,1);return CFS(cH(340+-5*e.l,100,60,.8*o)),CFL(),CSS(cH(3", "40+6*e.l,100,10,o)),CST(),0})),()=>{let e=h.length;if(!e)return ", "1;for(let t=e-1;t>=0;t--)m(h[t])&&h.splice(t,1)});var h,m,X,P,A,", "p;let E=1;return e=>(CXT(HX,HX),CSS(CANV),CLW(1),n(0),T(2),For(0", ",1,d),E=max(s.length,i.length),CSS(CANV),CLW(10),n(1),C(),0==E)}", ";function I(){cnv=document.getElementById('tc'),ctx=CTX=cnv.getC", "ontext('2d');const e=(e,r,a,C,n,c)=>{var l,o,i,s=V2(e,r);return ", "t.push((e=>{o&&c(n)})),(t,n)=>{l=V2(_X,_Y).mul(-1).add(s),o=l.le", "n()<1.7*a,i=o?2:5,t&&(ELI(o||n?'white':'grey',e,r,a+i,a+i,0,0,TA", "U),CTA('center'),CFS('black'),FNT(a-3),CFT(C,e,r+6))}};var t=[],", "r=[],a=0,C=[1,2,4,8,16],n=0,c=e=>{a=e,_R=C[e],art=o(_R),cer=i(mi", "n(_R,4))},l={Piece:'4',Name:'We Are Block Gen 004',Description:'", "BlockGen.art launch party artwork. Powered by the substrate|algo", "rithm created for Sol-Journey2'.split('|'),Properties:'White, CR", "AZY, Full, Medium, 7, Short, Thin, dashes',Medium:'Fully On-Chai", "n BlockGen.Art Canvas',Artist:'Charles Machin - @CM_GenArt',Seed", ":SEED},o=e=>{n=0;var t,r=DCE('canvas'),a=r.getContext('2d'),C=cM", "(150,1),c=()=>{DEF(),TXT(C,1==e?10:8,TAG,967,993)};return CWH(r,", "e*PX),CCX(a),AA(r,1),DEF(),t=uS(new RNG(SEED),a,r,e,c),c(),()=>(", "CCX(a),DEF(),n||(n=t())&&c(),CCX(),r)},i=e=>{var t=DCE('canvas')", ";let r,a;var C,n;for(var[C,c]of(CWH(t,PX*e),CCX(t.getContext('2d", "')),DEF(null,e),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),0,0,PX,PX),CSC('black'),CSBr(", "30*e),CBP(),CRE(0,0,PX,PX),CSS(cHx('dbccb8')),CLW(102),CST(),CBP", "(),CRE(0,0,PX,PX),CSS(cHx('9d8c78')),CLW(92),CST(),CSBr(6*e),CSS", "(CANV),CLW(30),CST(),DEF(null,e),TXT(cM(0,.1),24,'BLOCKGEN.ART',", "HX,40),TXT(cM(0,.6),13,TAG,HX,970),r=HX,a=290,Object.entries(l))", ")a+=34,TXT(cM(0,.8),14,C,r,a),a+=24,n=cM(0,.5),Array.isArray(c)?", "FoE(c,(e=>{TXT(n,20,e,r,a),a+=22})):TXT(n,20,c,r,a);return DEF()", ",CCX(),e=>t},s=()=>{setTimeout((e=>{window.requestAnimationFrame", "(s);var t=0,C=PX;CCX(),T(.97,WALL),CSC(SHDW),CSBr(55),RECT(CANV,", "0,0,C,C),CSB(0),CVS(),_P&&(CXT(PX,0),CXS(-1,1)),CDI(art(),0,0,C,", "C),CVR(),_P&&CDI(cer(),0,0,C,C),FoE(r,(e=>{e(_P,a==t),t++}))}),1", "e3/FPS)},T=(e,t)=>{var r=window,a=r.innerWidth,C=r.innerHeight,n", "=a!=_W||C!=_H,c=min(a,C)*e,l=c/PX,o=min(2,max(devicePixelRatio??", "1,1));n&&(cnv.width=_W=a*o,cnv.height=_H=C*o),CTR(1,0,0,1,0,0),B", "G(t),CXT((a-c)/2,(C-c)/2),CXS(l,l)};AA(ctx,1),(()=>{c(0);var a,n", ",o=C.length,i='touch',T='mouse',v=e=>{e.preventDefault();var t=e", ".changedTouches[0];return e.clientX=t.pageX,e.clientY=t.pageY,e}", ",S=e=>{var t=cnv.getBoundingClientRect(),r=CGT().invertSelf();n=", "e.clientX-t.left,y=e.clientY-t.top,_X=n*r.a+y*r.c+r.e,_Y=n*r.b+y", "*r.d+r.f};for(p=e=>{_M=1,S(e),(e=>{e.preventDefault(),e.stopProp", "agation()})(e),_P=_I(_X,_Y)},u=e=>{_P&&FoE(t,(e=>e())),_M=_P=0,S", "(e)},FoE([[i+'start',e=>{p(v(e))}],[i+'move',e=>{S(v(e))}],[i+'e", "nd',e=>{u(v(e))}],[T+'down',p],[T+'move',S],[T+'up',u]],(e=>cnv.", "addEventListener(...e))),a=0;a<o;a++)r.push(e(130,n=HX-80*o/2+80", "*(a+.5),22,C[a]+'k',a,c));r.push(e(130,800,25,CHAR(8595),0,(e=>{", "return(t=DCE('a')).download=l.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", "=e=>1,I();</script></canvas></body></html>" ], "name": "We Are Block Gen 004", "mediaType": "text/html" } ], "image": "ipfs://QmU2DmbNJ1xQbKgZveXxVf1WdQWaDw6jw9tiuLhiZXsr9Z", "piece": 4, "artist": "Charles Machin - @CM_GenArt", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset1tkdqzl8z3fln4l2au8w9dtscaz70n6xtpzzx0a", "mediaType": "image/png", "properties": { "Base": "White", "Step": "Short", "draw": "dashes", "Lines": "Thin", "Colour": "CRAZY", "Quantise": "7", "Saturate": "Full", "Tendrils": "Medium" }, "description": [ "BlockGen.art launch party artwork. Powered by the substrate", "algorithm created for Sol-Journey2" ] }