Adrift 005
Policy: 59202f...8cc2
Owner:
Metadata:
{ "name": "Adrift 005", "seed": 161, "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,...a)=>{", "CFS(e),FNT(t),CFT(...a)},ELI=(e,...t)=>{CFS(e),CBP(),CEL(...t),C", "FL()},ADD=e=>CGC('screen'),MUL=e=>CGC('source-over'),CWH=(e,t,a)", "=>{e.width=t,e.height=a||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 a=this,r=(e,t)=>(a.x=e||0,a.y=t||0,a);r(e,t)", ",Object.assign(a,{set:r,circ:e=>r(sin(e),-cos(e)),perp:e=>r(a.y,", "-a.x),len:e=>sqrt(a.x*a.x+a.y*a.y),dot:e=>a.x*e.x+a.y*e.y,norm:e", "=>a.div(a.len()),rad:e=>atan2(a.x,-a.y),add:e=>r(a.x+e.x,a.y+e.y", "),sub:e=>r(a.x-e.x,a.y-e.y),mv:e=>r(a.x*e.x,a.y*e.y),inc:e=>r(a.", "x+e,a.y+e),mul:e=>r(a.x*e,a.y*e),div:e=>r(a.x/e,a.y/e),cpy:e=>V2", "(a.x,a.y)})}V2=Q('new v2(v,a)'),FoE(Object.getOwnPropertyNames(M", "ath),(i=>eval(`${i}=Math.${i}`)));const Lerp=Q('(1-v)*a+v*b'),Wr", "ap=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;class RNG{constructor(e){var t=this,a=42949", "67295,r=123456789+e&a,n=987654321-e&a,C=65535;t.r=e=>(((n=36969*", "(n&C)+(n>>>16)&a)<<16)+((r=18e3*(r&C)+(r>>>16)&a)&C)>>>0)/(a+1),", "t.f=(e,a)=>e+t.r()*(a-e),t.i=(e,a)=>floor(t.f(e,a)),t.c=e=>t.r()", "<e,t.item=e=>e[t.i(0,e.length)]}}CANV=cM(220,1),WALL=cHx('f57411", "'),SHDW=cHx('0f0a06'),FPS=60;const SEED=161,TAG='CJ-05-005',PX=1", "e3,HX=PX/2,uS=(e,t,a,r,n)=>{let C=e=>{FoE(e,((e,t)=>{let[a,r,n]=", "e;a.add(r)}))},c=(e,t)=>{for(let a=e.length-1;a>=0;a--){let r=e[", "a],[n,C,c]=r;n.life=n.life??0,n.life++,n.fade=n.life/t,n.life>t&", "&e.splice(a,1)}},i=(e,t)=>{FoE(e,((e,a)=>{let[r,n,C]=e;RECT(t,r.", "x,r.y,C.x*(1-r.fade),C.y*(1-r.fade))}))};CANV=cR(e.f(20,50),20,3", "0,1),SHDW=cR(0,0,0,0),WALL=cR(0,0,0,0),RECT(CANV,0,0,PX,PX);for(", "let t=0;t<e.f(100,500);t++)RECT('white',e.f(20,980),e.f(20,980),", "e.f(2,6),e.f(2,6));let o=e.i(150,300);var l;l=o>225?e.i(150,225)", ":e.i(225,300);let s=e.item([3980,4e3,4020]),v=e.item([0,1,1.5,2,", "4,6]),T=(-1)**e.item([1,2]),S=cH(e.i(0,360),2*e.i(30,50),2*e.i(1", "5,35),.9),d=[];For(0,s,((e,t)=>{d.push([V2().circ(PI*t*400).mul(", "o).inc(500),V2(4*T*cos(t*PI*v),4*-T*sin(t*TAU)),V2(1,1)])}));let", " P=[];For(0,s,((e,t)=>{P.push([V2().circ(PI*t*400).mul(l).inc(50", "0),V2(4*-T*cos(t*PI*v),4*-T*sin(t*TAU)),V2(1,1)])}));let X=[];Fo", "r(0,2e3,((e,t)=>{X.push([V2().circ(PI*t*400).mul(max(o,l)).inc(5", "00),V2(4*cos(t*PI),4*sin(t*TAU)),V2(1,1)])}));let f=0;return t=>", "{var a,r,n;return f+=1,C(d),C(P),c(d,250),c(P,250),i(d,S),MUL(),", "i(P,S),f>250/3&&(C(X),a=X,r=cos(f),n=sin(f),FoE(a,((t,a)=>{let[C", ",c,i]=t,o=c.rad()+e.f(r,n),l=c.len();c.circ(o).mul(l)})),c(X,100", "),i(X,cR(e.f(75,255),e.f(75,255),e.f(75,255),1))),!X.length}};fu", "nction I(){cnv=document.getElementById('tc'),ctx=CTX=cnv.getCont", "ext('2d');const e=(e,a,r,n,C,c)=>{var i,o,l,s=V2(e,a);return t.p", "ush((e=>{o&&c(C)})),(t,C)=>{i=V2(_X,_Y).mul(-1).add(s),o=i.len()", "<1.7*r,l=o?2:5,t&&(ELI(o||C?'white':'grey',e,a,r+l,r+l,0,0,TAU),", "CTA('center'),CFS('black'),FNT(r-3),CFT(n,e,a+6))}};var t=[],a=[", "],r=0,n=[1,2,4,8,16],C=0,c=e=>{r=e,_R=n[e],art=o(_R),cer=l(min(_", "R,4))},i={Piece:'5',Name:'Adrift 005',Description:'With the them", "e of `Autonomous agents` this work is the winner|of the fifth Co", "de Jam organised by BlockGen. Made by the|creator of the `Gauss ", "Chain` on-chain collection'.split('|'),Properties:'Collectors Ed", "ition',Medium:'Fully On-Chain BlockGen.Art Canvas',Artist:'Mural", "rop - @muralrop',Seed:SEED},o=e=>{C=0;var t,a=DCE('canvas'),r=a.", "getContext('2d'),n=cM(150,1),c=()=>{DEF(),TXT(n,1==e?10:8,TAG,96", "7,993)};return CWH(a,e*PX),CCX(r),AA(a,1),DEF(),t=uS(new RNG(SEE", "D),r,a,e,c),c(),()=>(CCX(r),DEF(),C||(C=t())&&c(),CCX(),a)},l=e=", ">{var t=DCE('canvas');let a,r;var n,C;for(var[n,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,P", "X),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(),CBP(),CRE(46,46,PX-92,", "PX-92),CSS('gold'),CLW(2),CST(),DEF(null,e),TXT(cM(0,.1),24,'BLO", "CKGEN.ART',HX,40),TXT(cM(0,.6),13,TAG,HX,970),a=HX,r=290,Object.", "entries(i)))r+=34,TXT(cM(0,.8),14,n,a,r),r+=24,C=cM(0,.5),Array.", "isArray(c)?FoE(c,(e=>{TXT(C,20,e,a,r),r+=22})):TXT(C,20,c,a,r);r", "eturn DEF(),CCX(),e=>t},s=()=>{setTimeout((e=>{window.requestAni", "mationFrame(s);var t=0,n=PX;CCX(),v(.97,WALL),CSC(SHDW),CSBr(55)", ",RECT(CANV,0,0,n,n),CSB(0),CVS(),_P&&(CXT(PX,0),CXS(-1,1)),CDI(a", "rt(),0,0,n,n),CVR(),_P&&CDI(cer(),0,0,n,n),FoE(a,(e=>{e(_P,r==t)", ",t++}))}),1e3/FPS)},v=(e,t)=>{var a=window,r=a.innerWidth,n=a.in", "nerHeight,C=r!=_W||n!=_H,c=min(r,n)*e,i=c/PX,o=min(2,max(deviceP", "ixelRatio??1,1));C&&(cnv.width=_W=r*o,cnv.height=_H=n*o),CTR(1,0", ",0,1,0,0),BG(t),CXT((r-c)/2,(n-c)/2),CXS(i,i)};AA(ctx,1),(()=>{c", "(0);var r,C,o=n.length,l='touch',v='mouse',T=e=>{e.preventDefaul", "t();var t=e.changedTouches[0];return e.clientX=t.pageX,e.clientY", "=t.pageY,e},S=e=>{var t=cnv.getBoundingClientRect(),a=CGT().inve", "rtSelf();C=e.clientX-t.left,y=e.clientY-t.top,_X=C*a.a+y*a.c+a.e", ",_Y=C*a.b+y*a.d+a.f};for(p=e=>{_M=1,S(e),(e=>{e.preventDefault()", ",e.stopPropagation()})(e),_P=_I(_X,_Y)},u=e=>{_P&&FoE(t,(e=>e())", "),_M=_P=0,S(e)},FoE([[l+'start',e=>{p(T(e))}],[l+'move',e=>{S(T(", "e))}],[l+'end',e=>{u(T(e))}],[v+'down',p],[v+'move',S],[v+'up',u", "]],(e=>cnv.addEventListener(...e))),r=0;r<o;r++)a.push(e(130,C=H", "X-80*o/2+80*(r+.5),22,n[r]+'k',r,c));a.push(e(130,800,25,CHAR(85", "95),0,(e=>{return(t=DCE('a')).download=i.Name,t.href=art().toDat", "aURL(),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": "Adrift 005", "mediaType": "text/html" } ], "image": "ipfs://Qmf1SD9tf2Et9HcTeQAxDwrCZ5ZwiBpnMh6v8nHqy3wbXF", "piece": 5, "artist": "Muralrop - @muralrop", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset1mrhp7hk5mz4u6gf0n5lx9d7h6mtunycj0j9227", "mediaType": "image/png", "properties": { "Type": "Collectors Edition" }, "description": [ "With the theme of `Autonomous agents` this work is the winner", "of the fifth Code Jam organised by BlockGen. Made by the", "creator of the `Gauss Chain` on-chain collection" ] }