wgpu-matrix
Advanced tools
Comparing version 2.5.0 to 2.5.1
import { Mat3 } from './mat3'; | ||
import { Mat4 } from './mat4'; | ||
import { Vec2, create, setDefaultType } from './vec2'; | ||
import { Vec3 } from './vec3'; | ||
export default Vec2; | ||
@@ -195,3 +196,3 @@ export { create, setDefaultType }; | ||
*/ | ||
export declare function cross(a: Vec2, b: Vec2, dst?: Vec2): Vec2; | ||
export declare function cross(a: Vec2, b: Vec2, dst?: Vec3): Vec3; | ||
/** | ||
@@ -198,0 +199,0 @@ * Computes the dot product of two vectors; assumes both vectors have |
@@ -1,33 +0,33 @@ | ||
/* wgpu-matrix@2.5.0, license MIT */ | ||
(function(M,aa){"object"===typeof exports&&"undefined"!==typeof module?aa(exports):"function"===typeof define&&define.amd?define(["exports"],aa):(M="undefined"!==typeof globalThis?globalThis:M||self,aa(M.wgpuMatrix={}))})(this,function(M){function aa(a){const b=z;z=a;return b}function ba(a=0,b=0){const c=new z(2);void 0!==a&&(c[0]=a,void 0!==b&&(c[1]=b));return c}function va(a,b,c){c=c||new z(2);c[0]=a[0]-b[0];c[1]=a[1]-b[1];return c}function wa(a,b,c){c=c||new z(2);c[0]=a[0]*b;c[1]=a[1]*b;return c} | ||
function xa(a,b){b=b||new z(2);b[0]=1/a[0];b[1]=1/a[1];return b}function ya(a,b){return a[0]*b[0]+a[1]*b[1]}function za(a){const b=a[0];a=a[1];return Math.sqrt(b*b+a*a)}function Aa(a){const b=a[0];a=a[1];return b*b+a*a}function Ba(a,b){const c=a[0]-b[0];a=a[1]-b[1];return Math.sqrt(c*c+a*a)}function Ca(a,b){const c=a[0]-b[0];a=a[1]-b[1];return c*c+a*a}function Da(a,b){b=b||new z(2);b[0]=a[0];b[1]=a[1];return b}function Ea(a,b,c){c=c||new z(2);c[0]=a[0]*b[0];c[1]=a[1]*b[1];return c}function Fa(a,b, | ||
c){c=c||new z(2);c[0]=a[0]/b[0];c[1]=a[1]/b[1];return c}function Ga(a){const b=Ha;Ha=a;G=Ia.get(a);return b}function pa(a,b){b=b||G();b[0]=a[0];b[1]=a[1];b[2]=a[2];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[8]=a[8];b[9]=a[9];b[10]=a[10];return b}function Ja(a){a=a||G();a[0]=1;a[1]=0;a[2]=0;a[4]=0;a[5]=1;a[6]=0;a[8]=0;a[9]=0;a[10]=1;return a}function Ka(a,b){b=b||G();const c=a[0],d=a[1],e=a[2],f=a[4],g=a[5],h=a[6],l=a[8],k=a[9];a=a[10];const m=a*g-h*k,n=-a*f+h*l,q=k*f-g*l,r=1/(c*m+d*n+e*q);b[0]=m*r;b[1]=(-a* | ||
d+e*k)*r;b[2]=(h*d-e*g)*r;b[4]=n*r;b[5]=(a*c-e*l)*r;b[6]=(-h*c+e*f)*r;b[8]=q*r;b[9]=(-k*c+d*l)*r;b[10]=(g*c-d*f)*r;return b}function La(a,b,c){c=c||G();const d=a[0],e=a[1],f=a[2],g=a[4],h=a[5],l=a[6],k=a[8],m=a[9];a=a[10];const n=b[0],q=b[1],r=b[2],v=b[4],u=b[5],p=b[6],E=b[8],F=b[9];b=b[10];c[0]=d*n+g*q+k*r;c[1]=e*n+h*q+m*r;c[2]=f*n+l*q+a*r;c[4]=d*v+g*u+k*p;c[5]=e*v+h*u+m*p;c[6]=f*v+l*u+a*p;c[8]=d*E+g*F+k*b;c[9]=e*E+h*F+m*b;c[10]=f*E+l*F+a*b;return c}function Ma(a){const b=w;w=a;return b}function H(a, | ||
b,c){const d=new w(3);void 0!==a&&(d[0]=a,void 0!==b&&(d[1]=b,void 0!==c&&(d[2]=c)));return d}function ca(a,b,c){c=c||new w(3);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c}function Na(a,b,c){c=c||new w(3);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c}function Oa(a,b){b=b||new w(3);b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];return b}function P(a,b,c){c=c||new w(3);const d=a[2]*b[0]-a[0]*b[2],e=a[0]*b[1]-a[1]*b[0];c[0]=a[1]*b[2]-a[2]*b[1];c[1]=d;c[2]=e;return c}function qa(a,b){return a[0]*b[0]+a[1]* | ||
b[1]+a[2]*b[2]}function ra(a){const b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function Pa(a){const b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a}function Qa(a,b){const c=a[0]-b[0],d=a[1]-b[1];a=a[2]-b[2];return Math.sqrt(c*c+d*d+a*a)}function Ra(a,b){const c=a[0]-b[0],d=a[1]-b[1];a=a[2]-b[2];return c*c+d*d+a*a}function O(a,b){b=b||new w(3);const c=a[0],d=a[1];a=a[2];const e=Math.sqrt(c*c+d*d+a*a);1E-5<e?(b[0]=c/e,b[1]=d/e,b[2]=a/e):(b[0]=0,b[1]=0,b[2]=0);return b}function Sa(a,b){b=b||new w(3); | ||
b[0]=a[0];b[1]=a[1];b[2]=a[2];return b}function Ta(a,b,c){c=c||new w(3);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];return c}function Ua(a,b,c){c=c||new w(3);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];return c}function Va(a){const b=x;x=a;return b}function sa(a,b){b=b||new x(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b}function Wa(a){a=a||new x(16);a[0]=1; | ||
a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}function Xa(a,b){b=b||new x(16);const c=a[0];var d=a[1];const e=a[2],f=a[3],g=a[4];var h=a[5];const l=a[6],k=a[7],m=a[8],n=a[9],q=a[10],r=a[11],v=a[12];var u=a[13];const p=a[14];a=a[15];const E=q*a,F=p*r,I=l*a,J=p*k,K=l*r,L=q*k,Q=e*a,R=p*f,S=e*r,T=q*f,U=e*k,V=l*f,W=m*u,X=v*n,Y=g*u,Z=v*h,da=g*n,ea=m*h,fa=c*u,ha=v*d,ia=c*n,ja=m*d,ka=c*h,la=g*d,Ya=E*h+J*n+K*u-(F*h+I*n+L*u),Za=F*d+Q* | ||
n+T*u-(E*d+R*n+S*u);u=I*d+R*h+U*u-(J*d+Q*h+V*u);d=L*d+S*h+V*n-(K*d+T*h+U*n);h=1/(c*Ya+g*Za+m*u+v*d);b[0]=h*Ya;b[1]=h*Za;b[2]=h*u;b[3]=h*d;b[4]=h*(F*g+I*m+L*v-(E*g+J*m+K*v));b[5]=h*(E*c+R*m+S*v-(F*c+Q*m+T*v));b[6]=h*(J*c+Q*g+V*v-(I*c+R*g+U*v));b[7]=h*(K*c+T*g+U*m-(L*c+S*g+V*m));b[8]=h*(W*k+Z*r+da*a-(X*k+Y*r+ea*a));b[9]=h*(X*f+fa*r+ja*a-(W*f+ha*r+ia*a));b[10]=h*(Y*f+ha*k+ka*a-(Z*f+fa*k+la*a));b[11]=h*(ea*f+ia*k+la*r-(da*f+ja*k+ka*r));b[12]=h*(Y*q+ea*p+X*l-(da*p+W*l+Z*q));b[13]=h*(ia*p+W*e+ha*q-(fa* | ||
q+ja*p+X*e));b[14]=h*(fa*l+la*p+Z*e-(ka*p+Y*e+ha*l));b[15]=h*(ka*q+da*e+ja*l-(ia*l+la*q+ea*e));return b}function $a(a,b,c){c=c||new x(16);const d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],l=a[5],k=a[6],m=a[7],n=a[8],q=a[9],r=a[10],v=a[11],u=a[12],p=a[13],E=a[14];a=a[15];const F=b[0],I=b[1],J=b[2],K=b[3],L=b[4],Q=b[5],R=b[6],S=b[7],T=b[8],U=b[9],V=b[10],W=b[11],X=b[12],Y=b[13],Z=b[14];b=b[15];c[0]=d*F+h*I+n*J+u*K;c[1]=e*F+l*I+q*J+p*K;c[2]=f*F+k*I+r*J+E*K;c[3]=g*F+m*I+v*J+a*K;c[4]=d*L+h*Q+n*R+u*S;c[5]=e*L+l* | ||
Q+q*R+p*S;c[6]=f*L+k*Q+r*R+E*S;c[7]=g*L+m*Q+v*R+a*S;c[8]=d*T+h*U+n*V+u*W;c[9]=e*T+l*U+q*V+p*W;c[10]=f*T+k*U+r*V+E*W;c[11]=g*T+m*U+v*V+a*W;c[12]=d*X+h*Y+n*Z+u*b;c[13]=e*X+l*Y+q*Z+p*b;c[14]=f*X+k*Y+r*Z+E*b;c[15]=g*X+m*Y+v*Z+a*b;return c}function ab(a,b,c){c=c||new x(16);let d=a[0],e=a[1];a=a[2];var f=Math.sqrt(d*d+e*e+a*a);d/=f;e/=f;a/=f;f=d*d;const g=e*e,h=a*a,l=Math.cos(b);b=Math.sin(b);const k=1-l;c[0]=f+(1-f)*l;c[1]=d*e*k+a*b;c[2]=d*a*k-e*b;c[3]=0;c[4]=d*e*k-a*b;c[5]=g+(1-g)*l;c[6]=e*a*k+d*b;c[7]= | ||
0;c[8]=d*a*k+e*b;c[9]=e*a*k-d*b;c[10]=h+(1-h)*l;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c}function bb(a,b,c,d){d=d||new x(16);var e=b[0],f=b[1],g=b[2];b=Math.sqrt(e*e+f*f+g*g);e/=b;f/=b;g/=b;b=e*e;var h=f*f,l=g*g,k=Math.cos(c),m=Math.sin(c),n=1-k;c=b+(1-b)*k;b=e*f*n+g*m;const q=e*g*n-f*m,r=e*f*n-g*m;h+=(1-h)*k;const v=f*g*n+e*m,u=e*g*n+f*m;e=f*g*n-e*m;f=l+(1-l)*k;g=a[0];l=a[1];k=a[2];m=a[3];n=a[4];const p=a[5],E=a[6],F=a[7],I=a[8],J=a[9],K=a[10],L=a[11];d[0]=c*g+b*n+q*I;d[1]=c*l+b*p+q*J;d[2]= | ||
c*k+b*E+q*K;d[3]=c*m+b*F+q*L;d[4]=r*g+h*n+v*I;d[5]=r*l+h*p+v*J;d[6]=r*k+h*E+v*K;d[7]=r*m+h*F+v*L;d[8]=u*g+e*n+f*I;d[9]=u*l+e*p+f*J;d[10]=u*k+e*E+f*K;d[11]=u*m+e*F+f*L;a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]);return d}function cb(a){const b=B;B=a;return b}function db(a,b,c,d){const e=new B(4);void 0!==a&&(e[0]=a,void 0!==b&&(e[1]=b,void 0!==c&&(e[2]=c,void 0!==d&&(e[3]=d))));return e}function eb(a,b,c){c=c||new B(4);b*=.5;const d=Math.sin(b);c[0]=d*a[0];c[1]=d*a[1];c[2]=d*a[2];c[3]= | ||
Math.cos(b);return c}function fb(a,b,c){c=c||new B(4);const d=a[0],e=a[1],f=a[2];a=a[3];const g=b[0],h=b[1],l=b[2];b=b[3];c[0]=d*b+a*g+e*l-f*h;c[1]=e*b+a*h+f*g-d*l;c[2]=f*b+a*l+d*h-e*g;c[3]=a*b-d*g-e*h-f*l;return c}function ma(a,b,c,d){d=d||new B(4);const e=a[0],f=a[1],g=a[2];a=a[3];let h=b[0],l=b[1],k=b[2];b=b[3];var m=e*h+f*l+g*k+a*b;0>m&&(m=-m,h=-h,l=-l,k=-k,b=-b);if(1-m>t){const n=Math.acos(m),q=Math.sin(n);m=Math.sin((1-c)*n)/q;c=Math.sin(c*n)/q}else m=1-c;d[0]=m*e+c*h;d[1]=m*f+c*l;d[2]=m*g+ | ||
c*k;d[3]=m*a+c*b;return d}function gb(a,b){b=b||new B(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function hb(a,b,c){c=c||new B(4);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c}function ib(a,b,c){c=c||new B(4);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c}function jb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function kb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function lb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return b* | ||
b+c*c+d*d+a*a}function mb(a,b){b=b||new B(4);const c=a[0],d=a[1],e=a[2];a=a[3];const f=Math.sqrt(c*c+d*d+e*e+a*a);1E-5<f?(b[0]=c/f,b[1]=d/f,b[2]=e/f,b[3]=a/f):(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b}function nb(a){const b=C;C=a;return b}function ob(a,b,c,d){const e=new C(4);void 0!==a&&(e[0]=a,void 0!==b&&(e[1]=b,void 0!==c&&(e[2]=c,void 0!==d&&(e[3]=d))));return e}function pb(a,b,c){c=c||new C(4);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c}function qb(a,b,c){c=c||new C(4); | ||
c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c}function rb(a,b){b=b||new C(4);b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];b[3]=1/a[3];return b}function sb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function tb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a}function ub(a,b){const c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2];a=a[3]-b[3];return Math.sqrt(c*c+d*d+e*e+a*a)}function vb(a,b){const c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2];a=a[3]-b[3];return c*c+d*d+e*e+a*a}function wb(a, | ||
b){b=b||new C(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function xb(a,b,c){c=c||new C(4);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];c[3]=a[3]*b[3];return c}function yb(a,b,c){c=c||new C(4);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];c[3]=a[3]/b[3];return c}let t=1E-6;var zb=Object.freeze({__proto__:null,get EPSILON(){return t},setEpsilon:function(a){const b=t;t=a;return b},degToRad:function(a){return a*Math.PI/180},radToDeg:function(a){return 180*a/Math.PI},lerp:function(a,b,c){return a+ | ||
(b-a)*c},inverseLerp:function(a,b,c){return Math.abs(b-a)<t?a:(c-a)/(b-a)},euclideanModulo:function(a,b){return(a%b+b)%b}});let z=Float32Array;var Ab=Object.freeze({__proto__:null,create:ba,setDefaultType:aa,fromValues:ba,set:function(a,b,c){c=c||new z(2);c[0]=a;c[1]=b;return c},ceil:function(a,b){b=b||new z(2);b[0]=Math.ceil(a[0]);b[1]=Math.ceil(a[1]);return b},floor:function(a,b){b=b||new z(2);b[0]=Math.floor(a[0]);b[1]=Math.floor(a[1]);return b},round:function(a,b){b=b||new z(2);b[0]=Math.round(a[0]); | ||
b[1]=Math.round(a[1]);return b},clamp:function(a,b=0,c=1,d){d=d||new z(2);d[0]=Math.min(c,Math.max(b,a[0]));d[1]=Math.min(c,Math.max(b,a[1]));return d},add:function(a,b,c){c=c||new z(2);c[0]=a[0]+b[0];c[1]=a[1]+b[1];return c},addScaled:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+b[0]*c;d[1]=a[1]+b[1]*c;return d},angle:function(a,b){var c=a[0];const d=a[1],e=a[0],f=a[1];a=(c=Math.sqrt(c*c+d*d)*Math.sqrt(e*e+f*f))&&ya(a,b)/c;return Math.acos(a)},subtract:va,sub:va,equalsApproximately:function(a,b){return Math.abs(a[0]- | ||
b[0])<t&&Math.abs(a[1]-b[1])<t},equals:function(a,b){return a[0]===b[0]&&a[1]===b[1]},lerp:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);return d},lerpV:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+c[0]*(b[0]-a[0]);d[1]=a[1]+c[1]*(b[1]-a[1]);return d},max:function(a,b,c){c=c||new z(2);c[0]=Math.max(a[0],b[0]);c[1]=Math.max(a[1],b[1]);return c},min:function(a,b,c){c=c||new z(2);c[0]=Math.min(a[0],b[0]);c[1]=Math.min(a[1],b[1]);return c},mulScalar:wa,scale:wa,divScalar:function(a, | ||
b,c){c=c||new z(2);c[0]=a[0]/b;c[1]=a[1]/b;return c},inverse:xa,invert:xa,cross:function(a,b,c){c=c||new z(3);a=a[0]*b[1]-a[1]*b[0];c[0]=0;c[1]=0;c[2]=a;return c},dot:ya,length:za,len:za,lengthSq:Aa,lenSq:Aa,distance:Ba,dist:Ba,distanceSq:Ca,distSq:Ca,normalize:function(a,b){b=b||new z(2);const c=a[0];a=a[1];const d=Math.sqrt(c*c+a*a);1E-5<d?(b[0]=c/d,b[1]=a/d):(b[0]=0,b[1]=0);return b},negate:function(a,b){b=b||new z(2);b[0]=-a[0];b[1]=-a[1];return b},copy:Da,clone:Da,multiply:Ea,mul:Ea,divide:Fa, | ||
div:Fa,random:function(a=1,b){b=b||new z(2);const c=2*Math.random()*Math.PI;b[0]=Math.cos(c)*a;b[1]=Math.sin(c)*a;return b},zero:function(a){a=a||new z(2);a[0]=0;a[1]=0;return a},transformMat4:function(a,b,c){c=c||new z(2);const d=a[0];a=a[1];c[0]=d*b[0]+a*b[4]+b[12];c[1]=d*b[1]+a*b[5]+b[13];return c},transformMat3:function(a,b,c){c=c||new z(2);const d=a[0];a=a[1];c[0]=b[0]*d+b[4]*a+b[8];c[1]=b[1]*d+b[5]*a+b[9];return c}});let Ha=Float32Array;const Ia=new Map([[Float32Array,()=>new Float32Array(12)], | ||
[Float64Array,()=>new Float64Array(12)],[Array,()=>Array(12).fill(0)]]);let G=Ia.get(Float32Array);var Bb=Object.freeze({__proto__:null,setDefaultType:Ga,create:function(a,b,c,d,e,f,g,h,l){const k=G();k[3]=0;k[7]=0;k[11]=0;void 0!==a&&(k[0]=a,void 0!==b&&(k[1]=b,void 0!==c&&(k[2]=c,void 0!==d&&(k[4]=d,void 0!==e&&(k[5]=e,void 0!==f&&(k[6]=f,void 0!==g&&(k[8]=g,void 0!==h&&(k[9]=h,void 0!==l&&(k[10]=l)))))))));return k},set:function(a,b,c,d,e,f,g,h,l,k){k=k||G();k[0]=a;k[1]=b;k[2]=c;k[3]=0;k[4]=d; | ||
k[5]=e;k[6]=f;k[7]=0;k[8]=g;k[9]=h;k[10]=l;k[11]=0;return k},fromMat4:function(a,b){b=b||G();b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=0;b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=0;b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=0;return b},fromQuat:function(a,b){b=b||G();var c=a[0],d=a[1],e=a[2];a=a[3];var f=c+c,g=d+d;const h=e+e;c*=f;const l=d*f;d*=g;const k=e*f,m=e*g;e*=h;f*=a;g*=a;a*=h;b[0]=1-d-e;b[1]=l+a;b[2]=k-g;b[3]=0;b[4]=l-a;b[5]=1-c-e;b[6]=m+f;b[7]=0;b[8]=k+g;b[9]=m-f;b[10]=1-c-d;b[11]=0;return b},negate:function(a, | ||
b){b=b||G();b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[4]=-a[4];b[5]=-a[5];b[6]=-a[6];b[8]=-a[8];b[9]=-a[9];b[10]=-a[10];return b},copy:pa,clone:pa,equalsApproximately:function(a,b){return Math.abs(a[0]-b[0])<t&&Math.abs(a[1]-b[1])<t&&Math.abs(a[2]-b[2])<t&&Math.abs(a[4]-b[4])<t&&Math.abs(a[5]-b[5])<t&&Math.abs(a[6]-b[6])<t&&Math.abs(a[8]-b[8])<t&&Math.abs(a[9]-b[9])<t&&Math.abs(a[10]-b[10])<t},equals:function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[8]=== | ||
b[8]&&a[9]===b[9]&&a[10]===b[10]},identity:Ja,transpose:function(a,b){b=b||G();if(b===a){var c=a[1];a[1]=a[4];a[4]=c;c=a[2];a[2]=a[8];a[8]=c;c=a[6];a[6]=a[9];a[9]=c;return b}c=a[1];const d=a[2],e=a[4],f=a[5],g=a[6],h=a[8],l=a[9],k=a[10];b[0]=a[0];b[1]=e;b[2]=h;b[4]=c;b[5]=f;b[6]=l;b[8]=d;b[9]=g;b[10]=k;return b},inverse:Ka,determinant:function(a){const b=a[1],c=a[2],d=a[5],e=a[6],f=a[9],g=a[10];return a[0]*(d*g-f*e)-a[4]*(b*g-f*c)+a[8]*(b*e-d*c)},invert:Ka,multiply:La,mul:La,setTranslation:function(a, | ||
b,c){c=c||Ja();a!==c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[4]=a[4],c[5]=a[5],c[6]=a[6]);c[8]=b[0];c[9]=b[1];c[10]=1;return c},getTranslation:function(a,b){b=b||ba();b[0]=a[8];b[1]=a[9];return b},getAxis:function(a,b,c){c=c||ba();b*=4;c[0]=a[b+0];c[1]=a[b+1];return c},setAxis:function(a,b,c,d){d!==a&&(d=pa(a,d));a=4*c;d[a+0]=b[0];d[a+1]=b[1];return d},getScaling:function(a,b){b=b||ba();const c=a[0],d=a[1],e=a[4];a=a[5];b[0]=Math.sqrt(c*c+d*d);b[1]=Math.sqrt(e*e+a*a);return b},translation:function(a,b){b= | ||
b||G();b[0]=1;b[1]=0;b[2]=0;b[4]=0;b[5]=1;b[6]=0;b[8]=a[0];b[9]=a[1];b[10]=1;return b},translate:function(a,b,c){c=c||G();const d=b[0];b=b[1];const e=a[0],f=a[1],g=a[2],h=a[4],l=a[5],k=a[6],m=a[8],n=a[9],q=a[10];a!==c&&(c[0]=e,c[1]=f,c[2]=g,c[4]=h,c[5]=l,c[6]=k);c[8]=e*d+h*b+m;c[9]=f*d+l*b+n;c[10]=g*d+k*b+q;return c},rotation:function(a,b){b=b||G();const c=Math.cos(a);a=Math.sin(a);b[0]=c;b[1]=a;b[2]=0;b[4]=-a;b[5]=c;b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},rotate:function(a,b,c){c=c||G();const d=a[0], | ||
e=a[1],f=a[2],g=a[4],h=a[5],l=a[6],k=Math.cos(b);b=Math.sin(b);c[0]=k*d+b*g;c[1]=k*e+b*h;c[2]=k*f+b*l;c[4]=k*g-b*d;c[5]=k*h-b*e;c[6]=k*l-b*f;a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c},scaling:function(a,b){b=b||G();b[0]=a[0];b[1]=0;b[2]=0;b[4]=0;b[5]=a[1];b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},scale:function(a,b,c){c=c||G();const d=b[0];b=b[1];c[0]=d*a[0];c[1]=d*a[1];c[2]=d*a[2];c[4]=b*a[4];c[5]=b*a[5];c[6]=b*a[6];a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c},uniformScaling:function(a, | ||
b){b=b||G();b[0]=a;b[1]=0;b[2]=0;b[4]=0;b[5]=a;b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},uniformScale:function(a,b,c){c=c||G();c[0]=b*a[0];c[1]=b*a[1];c[2]=b*a[2];c[4]=b*a[4];c[5]=b*a[5];c[6]=b*a[6];a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c}});let w=Float32Array;var Cb=Object.freeze({__proto__:null,create:H,setDefaultType:Ma,fromValues:H,set:function(a,b,c,d){d=d||new w(3);d[0]=a;d[1]=b;d[2]=c;return d},ceil:function(a,b){b=b||new w(3);b[0]=Math.ceil(a[0]);b[1]=Math.ceil(a[1]);b[2]=Math.ceil(a[2]); | ||
/* wgpu-matrix@2.5.1, license MIT */ | ||
(function(M,aa){"object"===typeof exports&&"undefined"!==typeof module?aa(exports):"function"===typeof define&&define.amd?define(["exports"],aa):(M="undefined"!==typeof globalThis?globalThis:M||self,aa(M.wgpuMatrix={}))})(this,function(M){function aa(a){const b=z;z=a;return b}function ba(a=0,b=0){const c=new z(2);void 0!==a&&(c[0]=a,void 0!==b&&(c[1]=b));return c}function va(a){const b=w;w=a;return b}function H(a,b,c){const d=new w(3);void 0!==a&&(d[0]=a,void 0!==b&&(d[1]=b,void 0!==c&&(d[2]=c))); | ||
return d}function wa(a,b,c){c=c||new z(2);c[0]=a[0]-b[0];c[1]=a[1]-b[1];return c}function xa(a,b,c){c=c||new z(2);c[0]=a[0]*b;c[1]=a[1]*b;return c}function ya(a,b){b=b||new z(2);b[0]=1/a[0];b[1]=1/a[1];return b}function za(a,b){return a[0]*b[0]+a[1]*b[1]}function Aa(a){const b=a[0];a=a[1];return Math.sqrt(b*b+a*a)}function Ba(a){const b=a[0];a=a[1];return b*b+a*a}function Ca(a,b){const c=a[0]-b[0];a=a[1]-b[1];return Math.sqrt(c*c+a*a)}function Da(a,b){const c=a[0]-b[0];a=a[1]-b[1];return c*c+a*a} | ||
function Ea(a,b){b=b||new z(2);b[0]=a[0];b[1]=a[1];return b}function Fa(a,b,c){c=c||new z(2);c[0]=a[0]*b[0];c[1]=a[1]*b[1];return c}function Ga(a,b,c){c=c||new z(2);c[0]=a[0]/b[0];c[1]=a[1]/b[1];return c}function Ha(a){const b=Ia;Ia=a;G=Ja.get(a);return b}function pa(a,b){b=b||G();b[0]=a[0];b[1]=a[1];b[2]=a[2];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[8]=a[8];b[9]=a[9];b[10]=a[10];return b}function Ka(a){a=a||G();a[0]=1;a[1]=0;a[2]=0;a[4]=0;a[5]=1;a[6]=0;a[8]=0;a[9]=0;a[10]=1;return a}function La(a,b){b=b|| | ||
G();const c=a[0],d=a[1],e=a[2],f=a[4],g=a[5],h=a[6],l=a[8],k=a[9];a=a[10];const m=a*g-h*k,n=-a*f+h*l,q=k*f-g*l,r=1/(c*m+d*n+e*q);b[0]=m*r;b[1]=(-a*d+e*k)*r;b[2]=(h*d-e*g)*r;b[4]=n*r;b[5]=(a*c-e*l)*r;b[6]=(-h*c+e*f)*r;b[8]=q*r;b[9]=(-k*c+d*l)*r;b[10]=(g*c-d*f)*r;return b}function Ma(a,b,c){c=c||G();const d=a[0],e=a[1],f=a[2],g=a[4],h=a[5],l=a[6],k=a[8],m=a[9];a=a[10];const n=b[0],q=b[1],r=b[2],v=b[4],u=b[5],p=b[6],E=b[8],F=b[9];b=b[10];c[0]=d*n+g*q+k*r;c[1]=e*n+h*q+m*r;c[2]=f*n+l*q+a*r;c[4]=d*v+g* | ||
u+k*p;c[5]=e*v+h*u+m*p;c[6]=f*v+l*u+a*p;c[8]=d*E+g*F+k*b;c[9]=e*E+h*F+m*b;c[10]=f*E+l*F+a*b;return c}function ca(a,b,c){c=c||new w(3);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c}function Na(a,b,c){c=c||new w(3);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c}function Oa(a,b){b=b||new w(3);b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];return b}function P(a,b,c){c=c||new w(3);const d=a[2]*b[0]-a[0]*b[2],e=a[0]*b[1]-a[1]*b[0];c[0]=a[1]*b[2]-a[2]*b[1];c[1]=d;c[2]=e;return c}function qa(a,b){return a[0]* | ||
b[0]+a[1]*b[1]+a[2]*b[2]}function ra(a){const b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)}function Pa(a){const b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a}function Qa(a,b){const c=a[0]-b[0],d=a[1]-b[1];a=a[2]-b[2];return Math.sqrt(c*c+d*d+a*a)}function Ra(a,b){const c=a[0]-b[0],d=a[1]-b[1];a=a[2]-b[2];return c*c+d*d+a*a}function O(a,b){b=b||new w(3);const c=a[0],d=a[1];a=a[2];const e=Math.sqrt(c*c+d*d+a*a);1E-5<e?(b[0]=c/e,b[1]=d/e,b[2]=a/e):(b[0]=0,b[1]=0,b[2]=0);return b}function Sa(a,b){b=b|| | ||
new w(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b}function Ta(a,b,c){c=c||new w(3);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];return c}function Ua(a,b,c){c=c||new w(3);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];return c}function Va(a){const b=x;x=a;return b}function sa(a,b){b=b||new x(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b}function Wa(a){a=a||new x(16); | ||
a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}function Xa(a,b){b=b||new x(16);const c=a[0];var d=a[1];const e=a[2],f=a[3],g=a[4];var h=a[5];const l=a[6],k=a[7],m=a[8],n=a[9],q=a[10],r=a[11],v=a[12];var u=a[13];const p=a[14];a=a[15];const E=q*a,F=p*r,I=l*a,J=p*k,K=l*r,L=q*k,Q=e*a,R=p*f,S=e*r,T=q*f,U=e*k,V=l*f,W=m*u,X=v*n,Y=g*u,Z=v*h,da=g*n,ea=m*h,fa=c*u,ha=v*d,ia=c*n,ja=m*d,ka=c*h,la=g*d,Ya=E*h+J*n+K*u-(F*h+I*n+L*u),Za= | ||
F*d+Q*n+T*u-(E*d+R*n+S*u);u=I*d+R*h+U*u-(J*d+Q*h+V*u);d=L*d+S*h+V*n-(K*d+T*h+U*n);h=1/(c*Ya+g*Za+m*u+v*d);b[0]=h*Ya;b[1]=h*Za;b[2]=h*u;b[3]=h*d;b[4]=h*(F*g+I*m+L*v-(E*g+J*m+K*v));b[5]=h*(E*c+R*m+S*v-(F*c+Q*m+T*v));b[6]=h*(J*c+Q*g+V*v-(I*c+R*g+U*v));b[7]=h*(K*c+T*g+U*m-(L*c+S*g+V*m));b[8]=h*(W*k+Z*r+da*a-(X*k+Y*r+ea*a));b[9]=h*(X*f+fa*r+ja*a-(W*f+ha*r+ia*a));b[10]=h*(Y*f+ha*k+ka*a-(Z*f+fa*k+la*a));b[11]=h*(ea*f+ia*k+la*r-(da*f+ja*k+ka*r));b[12]=h*(Y*q+ea*p+X*l-(da*p+W*l+Z*q));b[13]=h*(ia*p+W*e+ha* | ||
q-(fa*q+ja*p+X*e));b[14]=h*(fa*l+la*p+Z*e-(ka*p+Y*e+ha*l));b[15]=h*(ka*q+da*e+ja*l-(ia*l+la*q+ea*e));return b}function $a(a,b,c){c=c||new x(16);const d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],l=a[5],k=a[6],m=a[7],n=a[8],q=a[9],r=a[10],v=a[11],u=a[12],p=a[13],E=a[14];a=a[15];const F=b[0],I=b[1],J=b[2],K=b[3],L=b[4],Q=b[5],R=b[6],S=b[7],T=b[8],U=b[9],V=b[10],W=b[11],X=b[12],Y=b[13],Z=b[14];b=b[15];c[0]=d*F+h*I+n*J+u*K;c[1]=e*F+l*I+q*J+p*K;c[2]=f*F+k*I+r*J+E*K;c[3]=g*F+m*I+v*J+a*K;c[4]=d*L+h*Q+n*R+u*S;c[5]= | ||
e*L+l*Q+q*R+p*S;c[6]=f*L+k*Q+r*R+E*S;c[7]=g*L+m*Q+v*R+a*S;c[8]=d*T+h*U+n*V+u*W;c[9]=e*T+l*U+q*V+p*W;c[10]=f*T+k*U+r*V+E*W;c[11]=g*T+m*U+v*V+a*W;c[12]=d*X+h*Y+n*Z+u*b;c[13]=e*X+l*Y+q*Z+p*b;c[14]=f*X+k*Y+r*Z+E*b;c[15]=g*X+m*Y+v*Z+a*b;return c}function ab(a,b,c){c=c||new x(16);let d=a[0],e=a[1];a=a[2];var f=Math.sqrt(d*d+e*e+a*a);d/=f;e/=f;a/=f;f=d*d;const g=e*e,h=a*a,l=Math.cos(b);b=Math.sin(b);const k=1-l;c[0]=f+(1-f)*l;c[1]=d*e*k+a*b;c[2]=d*a*k-e*b;c[3]=0;c[4]=d*e*k-a*b;c[5]=g+(1-g)*l;c[6]=e*a*k+ | ||
d*b;c[7]=0;c[8]=d*a*k+e*b;c[9]=e*a*k-d*b;c[10]=h+(1-h)*l;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return c}function bb(a,b,c,d){d=d||new x(16);var e=b[0],f=b[1],g=b[2];b=Math.sqrt(e*e+f*f+g*g);e/=b;f/=b;g/=b;b=e*e;var h=f*f,l=g*g,k=Math.cos(c),m=Math.sin(c),n=1-k;c=b+(1-b)*k;b=e*f*n+g*m;const q=e*g*n-f*m,r=e*f*n-g*m;h+=(1-h)*k;const v=f*g*n+e*m,u=e*g*n+f*m;e=f*g*n-e*m;f=l+(1-l)*k;g=a[0];l=a[1];k=a[2];m=a[3];n=a[4];const p=a[5],E=a[6],F=a[7],I=a[8],J=a[9],K=a[10],L=a[11];d[0]=c*g+b*n+q*I;d[1]=c*l+b* | ||
p+q*J;d[2]=c*k+b*E+q*K;d[3]=c*m+b*F+q*L;d[4]=r*g+h*n+v*I;d[5]=r*l+h*p+v*J;d[6]=r*k+h*E+v*K;d[7]=r*m+h*F+v*L;d[8]=u*g+e*n+f*I;d[9]=u*l+e*p+f*J;d[10]=u*k+e*E+f*K;d[11]=u*m+e*F+f*L;a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]);return d}function cb(a){const b=B;B=a;return b}function db(a,b,c,d){const e=new B(4);void 0!==a&&(e[0]=a,void 0!==b&&(e[1]=b,void 0!==c&&(e[2]=c,void 0!==d&&(e[3]=d))));return e}function eb(a,b,c){c=c||new B(4);b*=.5;const d=Math.sin(b);c[0]=d*a[0];c[1]=d*a[1];c[2]= | ||
d*a[2];c[3]=Math.cos(b);return c}function fb(a,b,c){c=c||new B(4);const d=a[0],e=a[1],f=a[2];a=a[3];const g=b[0],h=b[1],l=b[2];b=b[3];c[0]=d*b+a*g+e*l-f*h;c[1]=e*b+a*h+f*g-d*l;c[2]=f*b+a*l+d*h-e*g;c[3]=a*b-d*g-e*h-f*l;return c}function ma(a,b,c,d){d=d||new B(4);const e=a[0],f=a[1],g=a[2];a=a[3];let h=b[0],l=b[1],k=b[2];b=b[3];var m=e*h+f*l+g*k+a*b;0>m&&(m=-m,h=-h,l=-l,k=-k,b=-b);if(1-m>t){const n=Math.acos(m),q=Math.sin(n);m=Math.sin((1-c)*n)/q;c=Math.sin(c*n)/q}else m=1-c;d[0]=m*e+c*h;d[1]=m*f+c* | ||
l;d[2]=m*g+c*k;d[3]=m*a+c*b;return d}function gb(a,b){b=b||new B(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function hb(a,b,c){c=c||new B(4);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c}function ib(a,b,c){c=c||new B(4);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c}function jb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function kb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function lb(a){const b=a[0],c=a[1],d=a[2];a=a[3]; | ||
return b*b+c*c+d*d+a*a}function mb(a,b){b=b||new B(4);const c=a[0],d=a[1],e=a[2];a=a[3];const f=Math.sqrt(c*c+d*d+e*e+a*a);1E-5<f?(b[0]=c/f,b[1]=d/f,b[2]=e/f,b[3]=a/f):(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b}function nb(a){const b=C;C=a;return b}function ob(a,b,c,d){const e=new C(4);void 0!==a&&(e[0]=a,void 0!==b&&(e[1]=b,void 0!==c&&(e[2]=c,void 0!==d&&(e[3]=d))));return e}function pb(a,b,c){c=c||new C(4);c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c}function qb(a,b,c){c=c|| | ||
new C(4);c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c}function rb(a,b){b=b||new C(4);b[0]=1/a[0];b[1]=1/a[1];b[2]=1/a[2];b[3]=1/a[3];return b}function sb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}function tb(a){const b=a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a}function ub(a,b){const c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2];a=a[3]-b[3];return Math.sqrt(c*c+d*d+e*e+a*a)}function vb(a,b){const c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2];a=a[3]-b[3];return c*c+d*d+e* | ||
e+a*a}function wb(a,b){b=b||new C(4);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function xb(a,b,c){c=c||new C(4);c[0]=a[0]*b[0];c[1]=a[1]*b[1];c[2]=a[2]*b[2];c[3]=a[3]*b[3];return c}function yb(a,b,c){c=c||new C(4);c[0]=a[0]/b[0];c[1]=a[1]/b[1];c[2]=a[2]/b[2];c[3]=a[3]/b[3];return c}let t=1E-6;var zb=Object.freeze({__proto__:null,get EPSILON(){return t},setEpsilon:function(a){const b=t;t=a;return b},degToRad:function(a){return a*Math.PI/180},radToDeg:function(a){return 180*a/Math.PI},lerp:function(a, | ||
b,c){return a+(b-a)*c},inverseLerp:function(a,b,c){return Math.abs(b-a)<t?a:(c-a)/(b-a)},euclideanModulo:function(a,b){return(a%b+b)%b}});let z=Float32Array,w=Float32Array;var Ab=Object.freeze({__proto__:null,create:ba,setDefaultType:aa,fromValues:ba,set:function(a,b,c){c=c||new z(2);c[0]=a;c[1]=b;return c},ceil:function(a,b){b=b||new z(2);b[0]=Math.ceil(a[0]);b[1]=Math.ceil(a[1]);return b},floor:function(a,b){b=b||new z(2);b[0]=Math.floor(a[0]);b[1]=Math.floor(a[1]);return b},round:function(a,b){b= | ||
b||new z(2);b[0]=Math.round(a[0]);b[1]=Math.round(a[1]);return b},clamp:function(a,b=0,c=1,d){d=d||new z(2);d[0]=Math.min(c,Math.max(b,a[0]));d[1]=Math.min(c,Math.max(b,a[1]));return d},add:function(a,b,c){c=c||new z(2);c[0]=a[0]+b[0];c[1]=a[1]+b[1];return c},addScaled:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+b[0]*c;d[1]=a[1]+b[1]*c;return d},angle:function(a,b){var c=a[0];const d=a[1],e=a[0],f=a[1];a=(c=Math.sqrt(c*c+d*d)*Math.sqrt(e*e+f*f))&&za(a,b)/c;return Math.acos(a)},subtract:wa,sub:wa,equalsApproximately:function(a, | ||
b){return Math.abs(a[0]-b[0])<t&&Math.abs(a[1]-b[1])<t},equals:function(a,b){return a[0]===b[0]&&a[1]===b[1]},lerp:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);return d},lerpV:function(a,b,c,d){d=d||new z(2);d[0]=a[0]+c[0]*(b[0]-a[0]);d[1]=a[1]+c[1]*(b[1]-a[1]);return d},max:function(a,b,c){c=c||new z(2);c[0]=Math.max(a[0],b[0]);c[1]=Math.max(a[1],b[1]);return c},min:function(a,b,c){c=c||new z(2);c[0]=Math.min(a[0],b[0]);c[1]=Math.min(a[1],b[1]);return c},mulScalar:xa, | ||
scale:xa,divScalar:function(a,b,c){c=c||new z(2);c[0]=a[0]/b;c[1]=a[1]/b;return c},inverse:ya,invert:ya,cross:function(a,b,c){c=c||new w(3);a=a[0]*b[1]-a[1]*b[0];c[0]=0;c[1]=0;c[2]=a;return c},dot:za,length:Aa,len:Aa,lengthSq:Ba,lenSq:Ba,distance:Ca,dist:Ca,distanceSq:Da,distSq:Da,normalize:function(a,b){b=b||new z(2);const c=a[0];a=a[1];const d=Math.sqrt(c*c+a*a);1E-5<d?(b[0]=c/d,b[1]=a/d):(b[0]=0,b[1]=0);return b},negate:function(a,b){b=b||new z(2);b[0]=-a[0];b[1]=-a[1];return b},copy:Ea,clone:Ea, | ||
multiply:Fa,mul:Fa,divide:Ga,div:Ga,random:function(a=1,b){b=b||new z(2);const c=2*Math.random()*Math.PI;b[0]=Math.cos(c)*a;b[1]=Math.sin(c)*a;return b},zero:function(a){a=a||new z(2);a[0]=0;a[1]=0;return a},transformMat4:function(a,b,c){c=c||new z(2);const d=a[0];a=a[1];c[0]=d*b[0]+a*b[4]+b[12];c[1]=d*b[1]+a*b[5]+b[13];return c},transformMat3:function(a,b,c){c=c||new z(2);const d=a[0];a=a[1];c[0]=b[0]*d+b[4]*a+b[8];c[1]=b[1]*d+b[5]*a+b[9];return c}});let Ia=Float32Array;const Ja=new Map([[Float32Array, | ||
()=>new Float32Array(12)],[Float64Array,()=>new Float64Array(12)],[Array,()=>Array(12).fill(0)]]);let G=Ja.get(Float32Array);var Bb=Object.freeze({__proto__:null,setDefaultType:Ha,create:function(a,b,c,d,e,f,g,h,l){const k=G();k[3]=0;k[7]=0;k[11]=0;void 0!==a&&(k[0]=a,void 0!==b&&(k[1]=b,void 0!==c&&(k[2]=c,void 0!==d&&(k[4]=d,void 0!==e&&(k[5]=e,void 0!==f&&(k[6]=f,void 0!==g&&(k[8]=g,void 0!==h&&(k[9]=h,void 0!==l&&(k[10]=l)))))))));return k},set:function(a,b,c,d,e,f,g,h,l,k){k=k||G();k[0]=a;k[1]= | ||
b;k[2]=c;k[3]=0;k[4]=d;k[5]=e;k[6]=f;k[7]=0;k[8]=g;k[9]=h;k[10]=l;k[11]=0;return k},fromMat4:function(a,b){b=b||G();b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=0;b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=0;b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=0;return b},fromQuat:function(a,b){b=b||G();var c=a[0],d=a[1],e=a[2];a=a[3];var f=c+c,g=d+d;const h=e+e;c*=f;const l=d*f;d*=g;const k=e*f,m=e*g;e*=h;f*=a;g*=a;a*=h;b[0]=1-d-e;b[1]=l+a;b[2]=k-g;b[3]=0;b[4]=l-a;b[5]=1-c-e;b[6]=m+f;b[7]=0;b[8]=k+g;b[9]=m-f;b[10]=1-c-d;b[11]=0; | ||
return b},negate:function(a,b){b=b||G();b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[4]=-a[4];b[5]=-a[5];b[6]=-a[6];b[8]=-a[8];b[9]=-a[9];b[10]=-a[10];return b},copy:pa,clone:pa,equalsApproximately:function(a,b){return Math.abs(a[0]-b[0])<t&&Math.abs(a[1]-b[1])<t&&Math.abs(a[2]-b[2])<t&&Math.abs(a[4]-b[4])<t&&Math.abs(a[5]-b[5])<t&&Math.abs(a[6]-b[6])<t&&Math.abs(a[8]-b[8])<t&&Math.abs(a[9]-b[9])<t&&Math.abs(a[10]-b[10])<t},equals:function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[4]===b[4]&&a[5]=== | ||
b[5]&&a[6]===b[6]&&a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]},identity:Ka,transpose:function(a,b){b=b||G();if(b===a){var c=a[1];a[1]=a[4];a[4]=c;c=a[2];a[2]=a[8];a[8]=c;c=a[6];a[6]=a[9];a[9]=c;return b}c=a[1];const d=a[2],e=a[4],f=a[5],g=a[6],h=a[8],l=a[9],k=a[10];b[0]=a[0];b[1]=e;b[2]=h;b[4]=c;b[5]=f;b[6]=l;b[8]=d;b[9]=g;b[10]=k;return b},inverse:La,determinant:function(a){const b=a[1],c=a[2],d=a[5],e=a[6],f=a[9],g=a[10];return a[0]*(d*g-f*e)-a[4]*(b*g-f*c)+a[8]*(b*e-d*c)},invert:La,multiply:Ma,mul:Ma, | ||
setTranslation:function(a,b,c){c=c||Ka();a!==c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[4]=a[4],c[5]=a[5],c[6]=a[6]);c[8]=b[0];c[9]=b[1];c[10]=1;return c},getTranslation:function(a,b){b=b||ba();b[0]=a[8];b[1]=a[9];return b},getAxis:function(a,b,c){c=c||ba();b*=4;c[0]=a[b+0];c[1]=a[b+1];return c},setAxis:function(a,b,c,d){d!==a&&(d=pa(a,d));a=4*c;d[a+0]=b[0];d[a+1]=b[1];return d},getScaling:function(a,b){b=b||ba();const c=a[0],d=a[1],e=a[4];a=a[5];b[0]=Math.sqrt(c*c+d*d);b[1]=Math.sqrt(e*e+a*a);return b}, | ||
translation:function(a,b){b=b||G();b[0]=1;b[1]=0;b[2]=0;b[4]=0;b[5]=1;b[6]=0;b[8]=a[0];b[9]=a[1];b[10]=1;return b},translate:function(a,b,c){c=c||G();const d=b[0];b=b[1];const e=a[0],f=a[1],g=a[2],h=a[4],l=a[5],k=a[6],m=a[8],n=a[9],q=a[10];a!==c&&(c[0]=e,c[1]=f,c[2]=g,c[4]=h,c[5]=l,c[6]=k);c[8]=e*d+h*b+m;c[9]=f*d+l*b+n;c[10]=g*d+k*b+q;return c},rotation:function(a,b){b=b||G();const c=Math.cos(a);a=Math.sin(a);b[0]=c;b[1]=a;b[2]=0;b[4]=-a;b[5]=c;b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},rotate:function(a, | ||
b,c){c=c||G();const d=a[0],e=a[1],f=a[2],g=a[4],h=a[5],l=a[6],k=Math.cos(b);b=Math.sin(b);c[0]=k*d+b*g;c[1]=k*e+b*h;c[2]=k*f+b*l;c[4]=k*g-b*d;c[5]=k*h-b*e;c[6]=k*l-b*f;a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c},scaling:function(a,b){b=b||G();b[0]=a[0];b[1]=0;b[2]=0;b[4]=0;b[5]=a[1];b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},scale:function(a,b,c){c=c||G();const d=b[0];b=b[1];c[0]=d*a[0];c[1]=d*a[1];c[2]=d*a[2];c[4]=b*a[4];c[5]=b*a[5];c[6]=b*a[6];a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c}, | ||
uniformScaling:function(a,b){b=b||G();b[0]=a;b[1]=0;b[2]=0;b[4]=0;b[5]=a;b[6]=0;b[8]=0;b[9]=0;b[10]=1;return b},uniformScale:function(a,b,c){c=c||G();c[0]=b*a[0];c[1]=b*a[1];c[2]=b*a[2];c[4]=b*a[4];c[5]=b*a[5];c[6]=b*a[6];a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10]);return c}}),Cb=Object.freeze({__proto__:null,create:H,setDefaultType:va,fromValues:H,set:function(a,b,c,d){d=d||new w(3);d[0]=a;d[1]=b;d[2]=c;return d},ceil:function(a,b){b=b||new w(3);b[0]=Math.ceil(a[0]);b[1]=Math.ceil(a[1]);b[2]=Math.ceil(a[2]); | ||
return b},floor:function(a,b){b=b||new w(3);b[0]=Math.floor(a[0]);b[1]=Math.floor(a[1]);b[2]=Math.floor(a[2]);return b},round:function(a,b){b=b||new w(3);b[0]=Math.round(a[0]);b[1]=Math.round(a[1]);b[2]=Math.round(a[2]);return b},clamp:function(a,b=0,c=1,d){d=d||new w(3);d[0]=Math.min(c,Math.max(b,a[0]));d[1]=Math.min(c,Math.max(b,a[1]));d[2]=Math.min(c,Math.max(b,a[2]));return d},add:function(a,b,c){c=c||new w(3);c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c},addScaled:function(a,b,c,d){d= | ||
@@ -68,2 +68,2 @@ d||new w(3);d[0]=a[0]+b[0]*c;d[1]=a[1]+b[1]*c;d[2]=a[2]+b[2]*c;return d},angle:function(a,b){var c=a[0];const d=a[1],e=a[2],f=a[0],g=a[1],h=a[2];a=(c=Math.sqrt(c*c+d*d+e*e)*Math.sqrt(f*f+g*g+h*h))&&qa(a,b)/c;return Math.acos(a)},subtract:ca,sub:ca,equalsApproximately:function(a,b){return Math.abs(a[0]-b[0])<t&&Math.abs(a[1]-b[1])<t&&Math.abs(a[2]-b[2])<t},equals:function(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]},lerp:function(a,b,c,d){d=d||new w(3);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]- | ||
lenSq:tb,distance:ub,dist:ub,distanceSq:vb,distSq:vb,normalize:function(a,b){b=b||new C(4);const c=a[0],d=a[1],e=a[2];a=a[3];const f=Math.sqrt(c*c+d*d+e*e+a*a);1E-5<f?(b[0]=c/f,b[1]=d/f,b[2]=e/f,b[3]=a/f):(b[0]=0,b[1]=0,b[2]=0,b[3]=0);return b},negate:function(a,b){b=b||new C(4);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b},copy:wb,clone:wb,multiply:xb,mul:xb,divide:yb,div:yb,zero:function(a){a=a||new C(4);a[0]=0;a[1]=0;a[2]=0;a[3]=0;return a},transformMat4:function(a,b,c){c=c||new C(4);const d= | ||
a[0],e=a[1],f=a[2];a=a[3];c[0]=b[0]*d+b[4]*e+b[8]*f+b[12]*a;c[1]=b[1]*d+b[5]*e+b[9]*f+b[13]*a;c[2]=b[2]*d+b[6]*e+b[10]*f+b[14]*a;c[3]=b[3]*d+b[7]*e+b[11]*f+b[15]*a;return c}});M.mat3=Bb;M.mat4=Db;M.quat=Eb;M.setDefaultType=function(a){Ga(a);Va(a);cb(a);aa(a);Ma(a);nb(a)};M.utils=zb;M.vec2=Ab;M.vec3=Cb;M.vec4=Fb}); | ||
a[0],e=a[1],f=a[2];a=a[3];c[0]=b[0]*d+b[4]*e+b[8]*f+b[12]*a;c[1]=b[1]*d+b[5]*e+b[9]*f+b[13]*a;c[2]=b[2]*d+b[6]*e+b[10]*f+b[14]*a;c[3]=b[3]*d+b[7]*e+b[11]*f+b[15]*a;return c}});M.mat3=Bb;M.mat4=Db;M.quat=Eb;M.setDefaultType=function(a){Ha(a);Va(a);cb(a);aa(a);va(a);nb(a)};M.utils=zb;M.vec2=Ab;M.vec3=Cb;M.vec4=Fb}); |
{ | ||
"name": "wgpu-matrix", | ||
"version": "2.5.0", | ||
"version": "2.5.1", | ||
"description": "fast matrix math library for WebGPU", | ||
@@ -5,0 +5,0 @@ "main": "dist/2.x/wgpu-matrix.module.js", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
1138169
13691