PageSourceSearch

https://dacr.com/_astro/bedrockDots.worker-BaS-MSRF.js

js dacr.com collected 2026-10-02 00:29:53 UTC 3,415 bytes, 1 lines download raw bytes

1(function(){"use strict";const et=[{color:{r:155,g:70,b:245},sx:17e-5,sy:115e-6,px:0,py:.7,ax:.65,ay:.55,radius:.85},{color:{r:90,g:100,b:250},sx:13e-5,sy:2e-4,px:1.7,py:1.3,ax:.7,ay:.5,radius:.8},{color:{r:60,g:220,b:220},sx:155e-6,sy:95e-6,px:2.5,py:2.1,ax:.55,ay:.6,radius:.75},{color:{r:180,g:80,b:230},sx:95e-6,sy:175e-6,px:3.4,py:.4,ax:.6,ay:.55,radius:.8}];function ot({canvas:e}){const v=e.getContext("2d");if(!v)throw new Error("Unable to create the bedrock dots Canvas2D context");const w=v;let x=0,u=0,M=0,g=0,H=0,Y=0;const st=performance.now(),n={x:-9999,y:-9999,active:!1},a={x:-9999,y:-9999};let i=new Float32Array(0);function ct(s,y,t){x=Math.max(1,Math.round(s)),u=Math.max(1,Math.round(y)),e.width=Math.floor(x*t),e.height=Math.floor(u*t),w.setTransform(t,0,0,t,0,0),M=Math.ceil(x/16)+2,g=Math.ceil(u/16)+2,H=(x-(M-1)*16)/2,Y=(u-(g-1)*16)/2;const o=new Float32Array(M*g*3);for(let l=2;l<o.length;l+=3)o[l]=1;i=o}function rt(s,y,t){t?(a.x=s,a.y=y,n.active||(n.x=s,n.y=y),n.active=!0):(n.active=!1,a.x=-9999,a.y=-9999)}function at(s){const y=Math.min(x,u);return et.map(t=>{const o=y*t.radius;return{cx:x*(.5+t.ax*Math.sin(s*t.sx+t.px)),cy:u*(.5+t.ay*Math.cos(s*t.sy+t.py)),invSigma2:1/(o*o),color:t.color}})}function it(s,y,t){let o=0,l=0,p=0,D=0;for(const A of t){const C=s-A.cx,c=y-A.cy,f=1/(1+(C*C+c*c)*A.invSigma2);l+=A.color.r*f,p+=A.color.g*f,D+=A.color.b*f,o+=f}o>1e-4&&(l/=o,p/=o,D/=o);const F=Math.min(1,Math.sqrt(o*.7));return{r:l,g:p,b:D,intensity:F}}const N=new Map;let U=-1/0;const K=120,lt=4;let L=K,z=0;function At(s){if(z++,n.active&&a.x>-440&&a.x<x+440&&a.y>-440&&a.y<u+440?L=K:L>0&&L--,L===0&&z%lt!==0)return;const t=U===-1/0?1:Math.min(3,(s-U)/16.7);U=s;const o=s-st,l=1-Math.pow(1-.25,t),p=1-Math.pow(1-.025,t),D=1-Math.pow(1-.18,t);n.x+=(a.x-n.x)*l,n.y+=(a.y-n.y)*l,w.clearRect(0,0,x,u);const F=at(o),A=440,C=A*A;for(let c=0;c<g;c++){const f=Y+c*16;for(let _=0;_<M;_++){const m=H+_*16,r=(c*M+_)*3;let T=0,$=0,V=1;if(n.active){const S=m-n.x,h=f-n.y,J=S*S+h*h;if(J<C){const B=Math.sqrt(J)||1e-4,G=1-B/A,Q=22*G*G*(3-2*G);T=S/B*Q,$=h/B*Q;const Z=Math.atan2(h,S),tt=o*.001*.18,ut=240*(1+(Math.cos(2*(Z-tt))*.45+Math.cos(Z-tt*1.3+.7)*.1)),St=Math.min(1,B/ut);V=Math.pow(St,.4)}}i[r]+=(T-i[r])*p,i[r+1]+=($-i[r+1])*p,i[r+2]+=(V-i[r+2])*D;const X=m+i[r],q=f+i[r+1],ft=i[r+2],P=it(m,f,F),O=P.intensity,ht=200+(P.r-200)*O,Et=200+(P.g-200)*O,yt=200+(P.b-200)*O,xt=(.14+.55*O)*ft,j=.7*(1+0*O),W=Math.min(24,Math.round(xt*24));if(W>0){const S=(((ht|0)>>4<<4|(Et|0)>>4)<<4|(yt|0)>>4)<<5|W;let h=N.get(S);h||(h=new Path2D,N.set(S,h)),h.moveTo(X+j,q),h.arc(X,q,j,0,Math.PI*2)}}}for(const[c,f]of N){const _=(c&31)/24,m=((c>>5&15)<<4)+8,r=((c>>9&15)<<4)+8,T=((c>>13&15)<<4)+8;w.fillStyle=`rgba(${T},${r},${m},${_})`,w.fill(f)}N.clear()}return{resize:ct,setPointer:rt,render:At}}let E=null,R=!1,d=null,I=0;function b(){R=!1,I=0,d!==null&&clearTimeout(d),d=null}function k(){if(!R||!E)return;const e=performance.now();e>=I&&(I=e+30,E.render(e)),d=setTimeout(k,Math.max(0,I-performance.now()))}function nt(){R||!E||(R=!0,I=0,k())}self.onmessage=({data:e})=>{switch(e.type){case"init":E=ot({canvas:e.canvas}),E.resize(e.width,e.height,e.dpr);break;case"resize":E?.resize(e.width,e.height,e.dpr);break;case"pointer":E?.setPointer(e.x,e.y,e.active);break;case"play":nt();break;case"pause":b();break;case"renderOnce":E?.render(performance.now());break;case"destroy":b(),E=null,self.close();break}}})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.