import{aaset}from"./chunk-VMXXQ6B4.js";import{aasjt}from"./chunk-XCRMBS5M.js";import{basLt}from"./chunk-V7XARCCV.js";import{aasEt}from"./chunk-SACP225T.js";import{aasj}from"./chunk-YFQNY2YN.js";import{aasmt,basD,casB,dasU}from"./chunk-NW2YE576.js";import{aas_t,basUt,dasrt}from"./chunk-2NIQ5ECB.js";import{aasdt,basH}from"./chunk-7YEOLR2L.js";import{aask}from"./chunk-QHHYYTCM.js";import{aasr,basMt,casR,easOt}from"./chunk-RH3GFHG2.js";import{aasN}from"./chunk-FRWNWNYJ.js";import{aasK}from"./chunk-TA3RE4KQ.js";import{aasI,baspt}from"./chunk-RTY3VPG6.js";import{easf}from"./chunk-LRNH5AEO.js";varYt=newr,Zt=newr,Xt=newr;functionpe(t,e,n,s,i){pt.defined("point",t),pt.defined("p0",e),pt.defined("p1",n),pt.defined("p2",s),f(i)||(i=newr);letc,o,a,p,u,d,m,l;if(f(e.z)){if(r.equalsEpsilon(t,e,N.EPSILON14))returnr.clone(r.UNIT_X,i);if(r.equalsEpsilon(t,n,N.EPSILON14))returnr.clone(r.UNIT_Y,i);if(r.equalsEpsilon(t,s,N.EPSILON14))returnr.clone(r.UNIT_Z,i);c=r.subtract(n,e,Yt),o=r.subtract(s,e,Zt),a=r.subtract(t,e,Xt),p=r.dot(c,c),u=r.dot(c,o),d=r.dot(c,a),m=r.dot(o,o),l=r.dot(o,a)}else{if(R.equalsEpsilon(t,e,N.EPSILON14))returnr.clone(r.UNIT_X,i);if(R.equalsEpsilon(t,n,N.EPSILON14))returnr.clone(r.UNIT_Y,i);if(R.equalsEpsilon(t,s,N.EPSILON14))returnr.clone(r.UNIT_Z,i);c=R.subtract(n,e,Yt),o=R.subtract(s,e,Zt),a=R.subtract(t,e,Xt),p=R.dot(c,c),u=R.dot(c,o),d=R.dot(c,a),m=R.dot(o,o),l=R.dot(o,a)}i.y=m*d-u*l,i.z=p*l-u*d;leth=p*m-u*u;if(h!==0)returni.y/=h,i.z/=h,i.x=1-i.y-i.z,i}varHt=pe;varNt={};Nt.calculateACMR=function(t){t=K(t,K.EMPTY_OBJECT);lete=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24);if(!f(e))thrownewI("indices is required.");leti=e.length;if(i<3||i%3!==0)thrownewI("indices length must be a multiple of three.");if(n<=0)thrownewI("maximumIndex must be greater than zero.");if(s<3)thrownewI("cacheSize must be greater than two.");if(!f(n)){n=0;leta=0,p=e[a];for(;a<i;)p>n&&(n=p),++a,p=e[a]}letc=[];for(leta=0;a<n+1;a++)c[a]=0;leto=s+1;for(leta=0;a<i;++a)o-c[e[a]]>s&&(c[e[a]]=o,++o);return(o-s+1)/(i/3)};Nt.tipsify=function(t){t=K(t,K.EMPTY_OBJECT);lete=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24),i;functionc(C,z,q,V){for(;z.length>=1;){letG=z[z.length-1];if(z.splice(z.length-1,1),C[G].numLiveTriangles>0)returnG}for(;i<V;){if(C[i].numLiveTriangles>0)return++i,i-1;++i}return-1}functiono(C,z,q,V,G,M,J){letY=-1,_,Pt=-1,gt=0;for(;gt<q.length;){letft=q[gt];V[ft].numLiveTriangles&&(_=0,G-V[ft].timeStamp+2*V[ft].numLiveTriangles<=z&&(_=G-V[ft].timeStamp),(_>Pt||Pt===-1)&&(Pt=_,Y=ft)),++gt}returnY===-1?c(V,M,C,J):Y}if(!f(e))thrownewI("indices is required.");leta=e.length;if(a<3||a%3!==0)thrownewI("indices length must be a multiple of three.");if(n<=0)thrownewI("maximumIndex must be greater than zero.");if(s<3)thrownewI("cacheSize must be greater than two.");letp=0,u=0,d=e[u],m=a;if(f(n))p=n+1;else{for(;u<m;)d>p&&(p=d),++u,d=e[u];if(p===-1)return0;++p}letl=[],h;for(h=0;h<p;h++)l[h]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;lety=0;for(;u<m;)l[e[u]].vertexTriangles.push(y),++l[e[u]].numLiveTriangles,l[e[u+1]].vertexTriangles.push(y),++l[e[u+1]].numLiveTriangles,l[e[u+2]].vertexTriangles.push(y),++l[e[u+2]].numLiveTriangles,++y,u+=3;letv=0,b=s+1;i=1;letS=[],x=[],w,A,E=0,P=[],O=a/3,L=[];for(h=0;h<O;h++)L[h]=!1;letg,T;for(;v!==-1;){S=[],A=l[v],T=A.vertexTriangles.length;for(letC=0;C<T;++C)if(y=A.vertexTriangles[C],!L[y]){L[y]=!0,u=y+y+y;for(letz=0;z<3;++z)g=e[u],S.push(g),x.push(g),P[E]=g,++E,w=l[g],--w.numLiveTriangles,b-w.timeStamp>s&&(w.timeStamp=b,++b),++u}v=o(e,s,S,l,b,x,p)}returnP};varWt=Nt;varF={};functionSt(t,e,n,s,i){t[e++]=n,t[e++]=s,t[e++]=s,t[e++]=i,t[e++]=i,t[e]=n}functionde(t){lete=t.length,n=e/3*6,s=j.createTypedArray(e,n),i=0;for(letc=0;c<e;c+=3,i+=6)St(s,i,t[c],t[c+1],t[c+2]);returns}functionme(t){lete=t.length;if(e>=3){letn=(e-2)*6,s=j.createTypedArray(e,n);St(s,0,t[0],t[1],t[2]);leti=6;for(letc=3;c<e;++c,i+=6)St(s,i,t[c-1],t[c],t[c-2]);returns}returnnewUint16Array}functionhe(t){if(t.length>0){l