Adrift 003
Policy: 59202f...8cc2
Owner:
Metadata:
{ "name": "Adrift 003", "seed": 65716, "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,...C)=>{", "CFS(e),FNT(t),CFT(...C)},ELI=(e,...t)=>{CFS(e),CBP(),CEL(...t),C", "FL()},ADD=e=>CGC('screen'),MUL=e=>CGC('source-over'),CWH=(e,t,C)", "=>{e.width=t,e.height=C||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 C=this,r=(e,t)=>(C.x=e||0,C.y=t||0,C);r(e,t)", ",Object.assign(C,{set:r,circ:e=>r(sin(e),-cos(e)),perp:e=>r(C.y,", "-C.x),len:e=>sqrt(C.x*C.x+C.y*C.y),dot:e=>C.x*e.x+C.y*e.y,norm:e", "=>C.div(C.len()),rad:e=>atan2(C.x,-C.y),add:e=>r(C.x+e.x,C.y+e.y", "),sub:e=>r(C.x-e.x,C.y-e.y),mv:e=>r(C.x*e.x,C.y*e.y),inc:e=>r(C.", "x+e,C.y+e),mul:e=>r(C.x*e,C.y*e),div:e=>r(C.x/e,C.y/e),cpy:e=>V2", "(C.x,C.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,C=42949", "67295,r=123456789+e&C,a=987654321-e&C,n=65535;t.r=e=>(((a=36969*", "(a&n)+(a>>>16)&C)<<16)+((r=18e3*(r&n)+(r>>>16)&C)&n)>>>0)/(C+1),", "t.f=(e,C)=>e+t.r()*(C-e),t.i=(e,C)=>floor(t.f(e,C)),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=65716,TAG='CJ-05-003',PX", "=1e3,HX=PX/2,uS=(e,t,C,r,a)=>{let n=e=>{FoE(e,((e,t)=>{let[C,r,a", "]=e;C.add(r)}))},c=(e,t)=>{for(let C=e.length-1;C>=0;C--){let r=", "e[C],[a,n,c]=r;a.life=a.life??0,a.life++,a.fade=a.life/t,a.life>", "t&&e.splice(C,1)}},i=(e,t)=>{FoE(e,((e,C)=>{let[r,a,n]=e;RECT(t,", "r.x,r.y,n.x*(1-r.fade),n.y*(1-r.fade))}))};CANV=cR(e.f(20,50),20", ",30,1),SHDW=cR(0,0,0,0),WALL=cR(0,0,0,0),RECT(CANV,0,0,PX,PX);fo", "r(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,22", "5):e.i(225,300);let T=e.item([3980,4e3,4020]),s=e.item([0,1,1.5,", "2,4,6]),v=(-1)**e.item([1,2]),P=cH(e.i(0,360),2*e.i(30,50),2*e.i", "(15,35),.9),S=[];For(0,T,((e,t)=>{S.push([V2().circ(PI*t*400).mu", "l(o).inc(500),V2(4*v*cos(t*PI*s),4*-v*sin(t*TAU)),V2(1,1)])}));l", "et X=[];For(0,T,((e,t)=>{X.push([V2().circ(PI*t*400).mul(l).inc(", "500),V2(4*-v*cos(t*PI*s),4*-v*sin(t*TAU)),V2(1,1)])}));let d=[];", "For(0,2e3,((e,t)=>{d.push([V2().circ(PI*t*400).mul(max(o,l)).inc", "(500),V2(4*cos(t*PI),4*sin(t*TAU)),V2(1,1)])}));let f=0;return t", "=>{var C,r,a;return f+=1,n(S),n(X),c(S,250),c(X,250),i(S,P),MUL(", "),i(X,P),f>250/3&&(n(d),C=d,r=cos(f),a=sin(f),FoE(C,((t,C)=>{let", "[n,c,i]=t,o=c.rad()+e.f(r,a),l=c.len();c.circ(o).mul(l)})),c(d,1", "00),i(d,cR(e.f(75,255),e.f(75,255),e.f(75,255),1))),!d.length}};", "function I(){cnv=document.getElementById('tc'),ctx=CTX=cnv.getCo", "ntext('2d');const e=(e,C,r,a,n,c)=>{var i,o,l,T=V2(e,C);return t", ".push((e=>{o&&c(n)})),(t,n)=>{i=V2(_X,_Y).mul(-1).add(T),o=i.len", "()<1.7*r,l=o?2:5,t&&(ELI(o||n?'white':'grey',e,C,r+l,r+l,0,0,TAU", "),CTA('center'),CFS('black'),FNT(r-3),CFT(a,e,C+6))}};var t=[],C", "=[],r=0,a=[1,2,4,8,16],n=0,c=e=>{r=e,_R=a[e],art=o(_R),cer=l(min", "(_R,4))},i={Piece:'3',Name:'Adrift 003',Description:'With the th", "eme of `Autonomous agents` this work is the winner|of the fifth ", "Code Jam organised by BlockGen. Made by the|creator of the `Gaus", "s Chain` on-chain collection'.split('|'),Properties:'Contenders ", "Edition',Medium:'Fully On-Chain BlockGen.Art Canvas',Artist:'Mur", "alrop - @muralrop',Seed:SEED},o=e=>{n=0;var t,C=DCE('canvas'),r=", "C.getContext('2d'),a=cM(150,1),c=()=>{DEF(),TXT(a,1==e?10:8,TAG,", "967,993)};return CWH(C,e*PX),CCX(r),AA(C,1),DEF(),t=uS(new RNG(S", "EED),r,C,e,c),c(),()=>(CCX(r),DEF(),n||(n=t())&&c(),CCX(),C)},l=", "e=>{var t=DCE('canvas');let C,r;var a,n;for(var[a,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('dbccb", "8')),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-9", "2,PX-92),CSS('silver'),CLW(2),CST(),CVS(),CBP(),For(0,4,((e,t)=>", "{let C=V2().circ(PI/4+t*TAU),r=C.cpy().mul(685).inc(HX);CVS(),CX", "T(r.x,r.y),CXR(C.rad()+PI/4),(e?CLT:CMT)(0,0),CLT(-2,-2),CLT(-2,", "-8),CLT(-8,-8),CLT(-8,-2),CLT(-2,-2),CLT(0,0),CLT(8,8),CLT(0,0),", "CEL(0,0,2,2,0,0,TAU),CVR()})),CCP(),CLW(2),CST(),CVR(),DEF(null,", "e),TXT(cM(0,.1),24,'BLOCKGEN.ART',HX,40),TXT(cM(0,.6),13,TAG,HX,", "970),C=HX,r=290,Object.entries(i)))r+=34,TXT(cM(0,.8),14,a,C,r),", "r+=24,n=cM(0,.5),Array.isArray(c)?FoE(c,(e=>{TXT(n,20,e,C,r),r+=", "22})):TXT(n,20,c,C,r);return DEF(),CCX(),e=>t},T=()=>{setTimeout", "((e=>{window.requestAnimationFrame(T);var t=0,a=PX;CCX(),s(.97,W", "ALL),CSC(SHDW),CSBr(55),RECT(CANV,0,0,a,a),CSB(0),CVS(),_P&&(CXT", "(PX,0),CXS(-1,1)),CDI(art(),0,0,a,a),CVR(),_P&&CDI(cer(),0,0,a,a", "),FoE(C,(e=>{e(_P,r==t),t++}))}),1e3/FPS)},s=(e,t)=>{var C=windo", "w,r=C.innerWidth,a=C.innerHeight,n=r!=_W||a!=_H,c=min(r,a)*e,i=c", "/PX,o=min(2,max(devicePixelRatio??1,1));n&&(cnv.width=_W=r*o,cnv", ".height=_H=a*o),CTR(1,0,0,1,0,0),BG(t),CXT((r-c)/2,(a-c)/2),CXS(", "i,i)};AA(ctx,1),(()=>{c(0);var r,n,o=a.length,l='touch',s='mouse", "',v=e=>{e.preventDefault();var t=e.changedTouches[0];return e.cl", "ientX=t.pageX,e.clientY=t.pageY,e},P=e=>{var t=cnv.getBoundingCl", "ientRect(),C=CGT().invertSelf();n=e.clientX-t.left,y=e.clientY-t", ".top,_X=n*C.a+y*C.c+C.e,_Y=n*C.b+y*C.d+C.f};for(p=e=>{_M=1,P(e),", "(e=>{e.preventDefault(),e.stopPropagation()})(e),_P=_I(_X,_Y)},u", "=e=>{_P&&FoE(t,(e=>e())),_M=_P=0,P(e)},FoE([[l+'start',e=>{p(v(e", "))}],[l+'move',e=>{P(v(e))}],[l+'end',e=>{u(v(e))}],[s+'down',p]", ",[s+'move',P],[s+'up',u]],(e=>cnv.addEventListener(...e))),r=0;r", "<o;r++)C.push(e(130,n=HX-80*o/2+80*(r+.5),22,a[r]+'k',r,c));C.pu", "sh(e(130,800,25,CHAR(8595),0,(e=>{return(t=DCE('a')).download=i.", "Name,t.href=art().toDataURL(),void t.click();var t}))),T()})()}_", "X=_Y=0,_R=1,_P=0,_M=0,_W=0,_H=0,_I=e=>1,I();</script></canvas></", "body></html>" ], "name": "Adrift 003", "mediaType": "text/html" } ], "image": "ipfs://QmQQXZKAbLQvfScVCwPmavjMXX3WV2qsEJDyy4Q57xzy4w", "piece": 3, "artist": "Muralrop - @muralrop", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset1mrhp7hk5mz4u6gf0n5lx9d7h6mtunycj0j9227", "mediaType": "image/png", "properties": { "Type": "Contenders 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" ] }