PageSourceSearch

https://bttcorp.com/assets/BrainParticles-DHlviB4K.js

js bttcorp.com collected 2026-09-29 17:35:55 UTC 3,340 bytes, 1 lines download raw bytes

1import{r as N,_ as $,j as ee}from"./index-B0qAm0uZ.js";function oe({className:O=""}){const A=N.useRef(null);return N.useEffect(()=>{const s=A.current;if(!s)return;let R=!1,z;return(async()=>{const n=await $(()=>import("./three.module--MGUDD-H.js"),[]);if(R||!s)return;const k=window.matchMedia("(prefers-reduced-motion: reduce)").matches,y=s.clientWidth||600,P=s.clientHeight||600,B=new n.Scene,u=new n.PerspectiveCamera(45,y/P,.1,100);u.position.set(0,0,6.2);const o=new n.WebGLRenderer({antialias:!0,alpha:!0});o.setPixelRatio(Math.min(window.devicePixelRatio,2)),o.setSize(y,P,!1),o.setClearColor(0,0),s.appendChild(o.domElement),o.domElement.style.pointerEvents="none",o.domElement.style.width="100%",o.domElement.style.height="100%";const l=y<640?5200:11e3,f=new Float32Array(l*3),p=new Float32Array(l*3),S=new Float32Array(l),D=new n.Color("#0B9347"),V=new n.Color("#189C77"),X=new n.Color("#0A918B"),Y=new n.Color("#8FE3C6"),Z=new n.Color("#ffffff"),w=(t,e)=>t+Math.random()*(e-t);let a=0,_=0;for(;a<l&&_<l*40;){_++;const t=w(-1.35,1.35),e=w(-1,1.15),r=w(-1.7,1.55),g=t*t/(1.25*1.25)+e*e/1+r*r/(1.55*1.55)<=1,j=r+1.15,q=e+.55,H=t*t/(.55*.55)+q*q/(.35*.35)+j*j/(.45*.45)<=1;if(!g&&!H||Math.abs(t)<.05&&e>.15&&g&&!H&&Math.random()<.8)continue;const Q=Math.sqrt(t*t/(1.25*1.25)+e*e/1+r*r/(1.55*1.55));if(g&&Q<.55&&Math.random()<.7)continue;const x=Math.sin(t*6.1)*Math.cos(e*5.7)*Math.sin(r*6.3)*.06,c=a*3;f[c]=t+x,f[c+1]=e+x*.8,f[c+2]=r+x;const U=(r+1.7)/3.25,E=new n.Color().lerpColors(D,X,U);E.lerp(V,.35);let m=E;const I=Math.random();I<.06?m=Z.clone().lerp(E,.35):I<.18&&(m=Y.clone().lerp(E,.5)),p[c]=m.r,p[c+1]=m.g,p[c+2]=m.b,S[a]=w(.9,2.1),a++}const d=new n.BufferGeometry;d.setAttribute("position",new n.BufferAttribute(f.slice(0,a*3),3)),d.setAttribute("color",new n.BufferAttribute(p.slice(0,a*3),3)),d.setAttribute("size",new n.BufferAttribute(S.slice(0,a),1));const h=document.createElement("canvas");h.width=h.height=64;const M=h.getContext("2d"),C=M.createRadialGradient(32,32,0,32,32,32);C.addColorStop(0,"rgba(255,255,255,1)"),C.addColorStop(.35,"rgba(255,255,255,0.7)"),C.addColorStop(1,"rgba(255,255,255,0)"),M.fillStyle=C,M.fillRect(0,0,64,64);const F=new n.CanvasTexture(h),L=new n.PointsMaterial({size:.035,map:F,vertexColors:!0,transparent:!0,opacity:.55,depthWrite:!1,blending:n.AdditiveBlending}),i=new n.Points(d,L);i.rotation.x=.15,B.add(i);const v={x:0,y:0},G=t=>{const e=s.getBoundingClientRect();v.x=((t.clientX-e.left)/e.width-.5)*2,v.y=((t.clientY-e.top)/e.height-.5)*2};window.addEventListener("mousemove",G,{passive:!0});const J=()=>{const t=s.clientWidth,e=s.clientHeight;!t||!e||(o.setSize(t,e,!1),u.aspect=t/e,u.updateProjectionMatrix())},T=new ResizeObserver(J);T.observe(s);let b=0;const K=performance.now(),W=()=>{const e=(performance.now()-K)/1e3;k||(i.rotation.y+=.0018,i.position.y=Math.sin(e*.6)*.05),i.rotation.x+=(.15+v.y*.08-i.rotation.x)*.03;const r=v.x*.05;i.rotation.z+=(r-i.rotation.z)*.03,o.render(B,u),b=requestAnimationFrame(W)};b=requestAnimationFrame(W),z=()=>{cancelAnimationFrame(b),window.removeEventListener("mousemove",G),T.disconnect(),d.dispose(),L.dispose(),F.dispose(),o.dispose(),o.domElement.parentNode===s&&s.removeChild(o.domElement)}})(),()=>{R=!0,z?.()}},[]),ee.jsx("div",{ref:A,className:O,"aria-hidden":"true",style:{pointerEvents:"none"}})}export{oe as default};

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.