Adrift 001
Policy: 59202f...8cc2
Owner:
Metadata:
{ "name": "Adrift 001", "seed": 66307, "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,a=(e,t)=>(C.x=e||0,C.y=t||0,C);a(e,t)", ",Object.assign(C,{set:a,circ:e=>a(sin(e),-cos(e)),perp:e=>a(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=>a(C.x+e.x,C.y+e.y", "),sub:e=>a(C.x-e.x,C.y-e.y),mv:e=>a(C.x*e.x,C.y*e.y),inc:e=>a(C.", "x+e,C.y+e),mul:e=>a(C.x*e,C.y*e),div:e=>a(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,a=123456789+e&C,r=987654321-e&C,n=65535;t.r=e=>(((r=36969*", "(r&n)+(r>>>16)&C)<<16)+((a=18e3*(a&n)+(a>>>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=66307,TAG='CJ-05-001',PX", "=1e3,HX=PX/2,uS=(e,t,C,a,r)=>{let n=e=>{FoE(e,((e,t)=>{let[C,a,r", "]=e;C.add(a)}))},c=(e,t)=>{for(let C=e.length-1;C>=0;C--){let a=", "e[C],[r,n,c]=a;r.life=r.life??0,r.life++,r.fade=r.life/t,r.life>", "t&&e.splice(C,1)}},i=(e,t)=>{FoE(e,((e,C)=>{let[a,r,n]=e;RECT(t,", "a.x,a.y,n.x*(1-a.fade),n.y*(1-a.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,a,r;return f+=1,n(S),n(X),c(S,250),c(X,250),ADD(),i(S,P", "),MUL(),i(X,P),f>250/3&&(n(d),C=d,a=cos(f),r=sin(f),FoE(C,((t,C)", "=>{let[n,c,i]=t,o=c.rad()+e.f(a,r),l=c.len();c.circ(o).mul(l)}))", ",c(d,100),i(d,cR(e.f(75,255),e.f(75,255),e.f(75,255),1))),!d.len", "gth}};function I(){cnv=document.getElementById('tc'),ctx=CTX=cnv", ".getContext('2d');const e=(e,C,a,r,n,c)=>{var i,o,l,T=V2(e,C);re", "turn t.push((e=>{o&&c(n)})),(t,n)=>{i=V2(_X,_Y).mul(-1).add(T),o", "=i.len()<1.7*a,l=o?2:5,t&&(ELI(o||n?'white':'grey',e,C,a+l,a+l,0", ",0,TAU),CTA('center'),CFS('black'),FNT(a-3),CFT(r,e,C+6))}};var ", "t=[],C=[],a=0,r=[1,2,4,8,16],n=0,c=e=>{a=e,_R=r[e],art=o(_R),cer", "=l(min(_R,4))},i={Piece:'1',Name:'Adrift 001',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'.split('|'),Properties:'Winne", "rs Edition',Medium:'Fully On-Chain BlockGen.Art Canvas',Artist:'", "Muralrop - @muralrop',Seed:SEED},o=e=>{n=0;var t,C=DCE('canvas')", ",a=C.getContext('2d'),r=cM(150,1),c=()=>{DEF(),TXT(r,1==e?10:8,T", "AG,967,993)};return CWH(C,e*PX),CCX(a),AA(C,1),DEF(),t=uS(new RN", "G(SEED),a,C,e,c),c(),()=>(CCX(a),DEF(),n||(n=t())&&c(),CCX(),C)}", ",l=e=>{var t=DCE('canvas');let C,a;var r,n;for(var[r,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('db", "ccb8')),CLW(102),CST(),CBP(),CRE(0,0,PX,PX),CSS(cHx('9d8c78')),C", "LW(92),CST(),CSBr(6*e),CSS(CANV),CLW(30),CST(),CBP(),CRE(46,46,P", "X-92,PX-92),CSS('gold'),CLW(2),CST(),CVS(),CBP(),For(0,4,((e,t)=", ">{let C=V2().circ(PI/4+t*TAU),a=C.cpy().mul(685).inc(HX);CVS(),C", "XT(a.x,a.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,a=290,Object.entries(i)))a+=34,TXT(cM(0,.8),14,r,C,a)", ",a+=24,n=cM(0,.5),Array.isArray(c)?FoE(c,(e=>{TXT(n,20,e,C,a),a+", "=22})):TXT(n,20,c,C,a);return DEF(),CCX(),e=>t},T=()=>{setTimeou", "t((e=>{window.requestAnimationFrame(T);var t=0,r=PX;CCX(),s(.97,", "WALL),CSC(SHDW),CSBr(55),RECT(CANV,0,0,r,r),CSB(0),CVS(),_P&&(CX", "T(PX,0),CXS(-1,1)),CDI(art(),0,0,r,r),CVR(),_P&&CDI(cer(),0,0,r,", "r),FoE(C,(e=>{e(_P,a==t),t++}))}),1e3/FPS)},s=(e,t)=>{var C=wind", "ow,a=C.innerWidth,r=C.innerHeight,n=a!=_W||r!=_H,c=min(a,r)*e,i=", "c/PX,o=min(2,max(devicePixelRatio??1,1));n&&(cnv.width=_W=a*o,cn", "v.height=_H=r*o),CTR(1,0,0,1,0,0),BG(t),CXT((a-c)/2,(r-c)/2),CXS", "(i,i)};AA(ctx,1),(()=>{c(0);var a,n,o=r.length,l='touch',s='mous", "e',v=e=>{e.preventDefault();var t=e.changedTouches[0];return e.c", "lientX=t.pageX,e.clientY=t.pageY,e},P=e=>{var t=cnv.getBoundingC", "lientRect(),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))),a=0;", "a<o;a++)C.push(e(130,n=HX-80*o/2+80*(a+.5),22,r[a]+'k',a,c));C.p", "ush(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 001", "mediaType": "text/html" } ], "image": "ipfs://QmcXRSG13CWotHgmcwjBAxyMaydUjEhbmkGvvgBpWuwBou", "piece": 1, "artist": "Muralrop - @muralrop", "medium": "Fully On-Chain BlockGen.Art Canvas", "vendor": "BlockGen.art", "authNFT": "asset1mrhp7hk5mz4u6gf0n5lx9d7h6mtunycj0j9227", "mediaType": "image/png", "properties": { "Type": "Winners 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" ] }