NFT
1

 
 
Hi

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"
      ]
    }
    ...cl1ck