typegpu
Version:
A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.
2 lines • 19.6 kB
JavaScript
import{Aa as g,Ca as se,D as V,Da as te,Ea as ce,H as ye,a as we,ba as a,ea as v,f as ue,ka as H,ma as b,na as I,oa as L,pa as _,qa as o,ra as d,sa as M,ta as U,ua as W,va as f,wa as z,xa as A,ya as C,z as m,za as q}from"./chunk-L7HIBZAX.js";var S=e=>Math.sqrt(e.x**2+e.y**2),D=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),E=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),re=(e,n)=>e.x*n.x+e.y*n.y,ae=(e,n)=>e.x*n.x+e.y*n.y+e.z*n.z,ve=(e,n)=>e.x*n.x+e.y*n.y+e.z*n.z+e.w*n.w,c=(e,n,s)=>Math.min(Math.max(n,e),s),x=e=>n=>b(e(n.x),e(n.y)),w=e=>n=>I(e(n.x),e(n.y)),N=e=>n=>L(e(n.x),e(n.y)),K=e=>n=>_(e(n.x),e(n.y)),y=e=>n=>d(e(n.x),e(n.y),e(n.z)),l=e=>n=>M(e(n.x),e(n.y),e(n.z)),R=e=>n=>U(e(n.x),e(n.y),e(n.z)),k=e=>n=>W(e(n.x),e(n.y),e(n.z)),u=e=>n=>z(e(n.x),e(n.y),e(n.z),e(n.w)),i=e=>n=>A(e(n.x),e(n.y),e(n.z),e(n.w)),$=e=>n=>C(e(n.x),e(n.y),e(n.z),e(n.w)),O=e=>n=>q(e(n.x),e(n.y),e(n.z),e(n.w)),le=e=>n=>{let s=n.columns;return se(x(e)(s[0]),x(e)(s[1]))},ie=e=>n=>{let s=n.columns;return te(y(e)(s[0]),y(e)(s[1]),y(e)(s[2]))},me=e=>n=>{let s=n.columns;return ce(u(e)(s[0]),u(e)(s[1]),u(e)(s[2]),u(e)(s[3]))},F=e=>(n,s)=>b(e(n.x,s.x),e(n.y,s.y)),j=e=>(n,s)=>I(e(n.x,s.x),e(n.y,s.y)),J=e=>(n,s)=>L(e(n.x,s.x),e(n.y,s.y)),Q=e=>(n,s)=>_(e(n.x,s.x),e(n.y,s.y)),B=e=>(n,s)=>d(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z)),P=e=>(n,s)=>M(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z)),X=e=>(n,s)=>U(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z)),Y=e=>(n,s)=>W(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z)),p=e=>(n,s)=>z(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),Z=e=>(n,s)=>A(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),ee=e=>(n,s)=>C(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),ne=e=>(n,s)=>q(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),ge=e=>(n,s)=>{let t=n.columns,T=s.columns;return se(F(e)(t[0],T[0]),F(e)(t[1],T[1]))},de=e=>(n,s)=>{let t=n.columns,T=s.columns;return te(B(e)(t[0],T[0]),B(e)(t[1],T[1]),B(e)(t[2],T[2]))},he=e=>(n,s)=>{let t=n.columns,T=s.columns;return ce(p(e)(t[0],T[0]),p(e)(t[1],T[1]),p(e)(t[2],T[2]),p(e)(t[3],T[3]))},h={divInteger:(e,n)=>n===0?e:Math.trunc(e/n)},r={eq:{vec2f:(e,n)=>o(e.x===n.x,e.y===n.y),vec2h:(e,n)=>o(e.x===n.x,e.y===n.y),vec2i:(e,n)=>o(e.x===n.x,e.y===n.y),vec2u:(e,n)=>o(e.x===n.x,e.y===n.y),"vec2<bool>":(e,n)=>o(e.x===n.x,e.y===n.y),vec3f:(e,n)=>f(e.x===n.x,e.y===n.y,e.z===n.z),vec3h:(e,n)=>f(e.x===n.x,e.y===n.y,e.z===n.z),vec3i:(e,n)=>f(e.x===n.x,e.y===n.y,e.z===n.z),vec3u:(e,n)=>f(e.x===n.x,e.y===n.y,e.z===n.z),"vec3<bool>":(e,n)=>f(e.x===n.x,e.y===n.y,e.z===n.z),vec4f:(e,n)=>g(e.x===n.x,e.y===n.y,e.z===n.z,e.w===n.w),vec4h:(e,n)=>g(e.x===n.x,e.y===n.y,e.z===n.z,e.w===n.w),vec4i:(e,n)=>g(e.x===n.x,e.y===n.y,e.z===n.z,e.w===n.w),vec4u:(e,n)=>g(e.x===n.x,e.y===n.y,e.z===n.z,e.w===n.w),"vec4<bool>":(e,n)=>g(e.x===n.x,e.y===n.y,e.z===n.z,e.w===n.w)},lt:{vec2f:(e,n)=>o(e.x<n.x,e.y<n.y),vec2h:(e,n)=>o(e.x<n.x,e.y<n.y),vec2i:(e,n)=>o(e.x<n.x,e.y<n.y),vec2u:(e,n)=>o(e.x<n.x,e.y<n.y),vec3f:(e,n)=>f(e.x<n.x,e.y<n.y,e.z<n.z),vec3h:(e,n)=>f(e.x<n.x,e.y<n.y,e.z<n.z),vec3i:(e,n)=>f(e.x<n.x,e.y<n.y,e.z<n.z),vec3u:(e,n)=>f(e.x<n.x,e.y<n.y,e.z<n.z),vec4f:(e,n)=>g(e.x<n.x,e.y<n.y,e.z<n.z,e.w<n.w),vec4h:(e,n)=>g(e.x<n.x,e.y<n.y,e.z<n.z,e.w<n.w),vec4i:(e,n)=>g(e.x<n.x,e.y<n.y,e.z<n.z,e.w<n.w),vec4u:(e,n)=>g(e.x<n.x,e.y<n.y,e.z<n.z,e.w<n.w)},or:{"vec2<bool>":(e,n)=>o(e.x||n.x,e.y||n.y),"vec3<bool>":(e,n)=>f(e.x||n.x,e.y||n.y,e.z||n.z),"vec4<bool>":(e,n)=>g(e.x||n.x,e.y||n.y,e.z||n.z,e.w||n.w)},all:{"vec2<bool>":e=>e.x&&e.y,"vec3<bool>":e=>e.x&&e.y&&e.z,"vec4<bool>":e=>e.x&&e.y&&e.z&&e.w},abs:{vec2f:x(Math.abs),vec2h:w(Math.abs),vec2i:N(Math.abs),vec2u:K(Math.abs),vec3f:y(Math.abs),vec3h:l(Math.abs),vec3i:R(Math.abs),vec3u:k(Math.abs),vec4f:u(Math.abs),vec4h:i(Math.abs),vec4i:$(Math.abs),vec4u:O(Math.abs)},atan2:{vec2f:F(Math.atan2),vec2h:j(Math.atan2),vec3f:B(Math.atan2),vec3h:P(Math.atan2),vec4f:p(Math.atan2),vec4h:Z(Math.atan2)},acos:{vec2f:x(Math.acos),vec2h:w(Math.acos),vec2i:N(Math.acos),vec2u:K(Math.acos),vec3f:y(Math.acos),vec3h:l(Math.acos),vec3i:R(Math.acos),vec3u:k(Math.acos),vec4f:u(Math.acos),vec4h:i(Math.acos),vec4i:$(Math.acos),vec4u:O(Math.acos)},asin:{vec2f:x(Math.asin),vec2h:w(Math.asin),vec2i:N(Math.asin),vec2u:K(Math.asin),vec3f:y(Math.asin),vec3h:l(Math.asin),vec3i:R(Math.asin),vec3u:k(Math.asin),vec4f:u(Math.asin),vec4h:i(Math.asin),vec4i:$(Math.asin),vec4u:O(Math.asin)},ceil:{vec2f:x(Math.ceil),vec2h:w(Math.ceil),vec3f:y(Math.ceil),vec3h:l(Math.ceil),vec4f:u(Math.ceil),vec4h:i(Math.ceil)},clamp:{vec2f:(e,n,s)=>b(c(e.x,n.x,s.x),c(e.y,n.y,s.y)),vec2h:(e,n,s)=>I(c(e.x,n.x,s.x),c(e.y,n.y,s.y)),vec2i:(e,n,s)=>L(c(e.x,n.x,s.x),c(e.y,n.y,s.y)),vec2u:(e,n,s)=>_(c(e.x,n.x,s.x),c(e.y,n.y,s.y)),vec3f:(e,n,s)=>d(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z)),vec3h:(e,n,s)=>M(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z)),vec3i:(e,n,s)=>U(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z)),vec3u:(e,n,s)=>W(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z)),vec4f:(e,n,s)=>z(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z),c(e.w,n.w,s.w)),vec4h:(e,n,s)=>A(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z),c(e.w,n.w,s.w)),vec4i:(e,n,s)=>C(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z),c(e.w,n.w,s.w)),vec4u:(e,n,s)=>q(c(e.x,n.x,s.x),c(e.y,n.y,s.y),c(e.z,n.z,s.z),c(e.w,n.w,s.w))},length:{vec2f:S,vec2h:S,vec3f:D,vec3h:D,vec4f:E,vec4h:E},add:{vec2f:F((e,n)=>e+n),vec2h:j((e,n)=>e+n),vec2i:J((e,n)=>e+n),vec2u:Q((e,n)=>e+n),vec3f:B((e,n)=>e+n),vec3h:P((e,n)=>e+n),vec3i:X((e,n)=>e+n),vec3u:Y((e,n)=>e+n),vec4f:p((e,n)=>e+n),vec4h:Z((e,n)=>e+n),vec4i:ee((e,n)=>e+n),vec4u:ne((e,n)=>e+n),mat2x2f:ge((e,n)=>e+n),mat3x3f:de((e,n)=>e+n),mat4x4f:he((e,n)=>e+n)},addMixed:{vec2f:(e,n)=>x(s=>s+n)(e),vec2h:(e,n)=>w(s=>s+n)(e),vec2i:(e,n)=>N(s=>s+n)(e),vec2u:(e,n)=>K(s=>s+n)(e),vec3f:(e,n)=>y(s=>s+n)(e),vec3h:(e,n)=>l(s=>s+n)(e),vec3i:(e,n)=>R(s=>s+n)(e),vec3u:(e,n)=>k(s=>s+n)(e),vec4f:(e,n)=>u(s=>s+n)(e),vec4h:(e,n)=>i(s=>s+n)(e),vec4i:(e,n)=>$(s=>s+n)(e),vec4u:(e,n)=>O(s=>s+n)(e),mat2x2f:(e,n)=>le(s=>s+n)(e),mat3x3f:(e,n)=>ie(s=>s+n)(e),mat4x4f:(e,n)=>me(s=>s+n)(e)},mulSxV:{vec2f:(e,n)=>x(s=>e*s)(n),vec2h:(e,n)=>w(s=>e*s)(n),vec2i:(e,n)=>N(s=>e*s)(n),vec2u:(e,n)=>K(s=>e*s)(n),vec3f:(e,n)=>y(s=>e*s)(n),vec3h:(e,n)=>l(s=>e*s)(n),vec3i:(e,n)=>R(s=>e*s)(n),vec3u:(e,n)=>k(s=>e*s)(n),vec4f:(e,n)=>u(s=>e*s)(n),vec4h:(e,n)=>i(s=>e*s)(n),vec4i:(e,n)=>$(s=>e*s)(n),vec4u:(e,n)=>O(s=>e*s)(n),mat2x2f:(e,n)=>le(s=>e*s)(n),mat3x3f:(e,n)=>ie(s=>e*s)(n),mat4x4f:(e,n)=>me(s=>e*s)(n)},mulVxV:{vec2f:F((e,n)=>e*n),vec2h:j((e,n)=>e*n),vec2i:J((e,n)=>e*n),vec2u:Q((e,n)=>e*n),vec3f:B((e,n)=>e*n),vec3h:P((e,n)=>e*n),vec3i:X((e,n)=>e*n),vec3u:Y((e,n)=>e*n),vec4f:p((e,n)=>e*n),vec4h:Z((e,n)=>e*n),vec4i:ee((e,n)=>e*n),vec4u:ne((e,n)=>e*n),mat2x2f:(e,n)=>{let s=e.columns,t=n.columns;return se(s[0].x*t[0].x+s[1].x*t[0].y,s[0].y*t[0].x+s[1].y*t[0].y,s[0].x*t[1].x+s[1].x*t[1].y,s[0].y*t[1].x+s[1].y*t[1].y)},mat3x3f:(e,n)=>{let s=e.columns,t=n.columns;return te(s[0].x*t[0].x+s[1].x*t[0].y+s[2].x*t[0].z,s[0].y*t[0].x+s[1].y*t[0].y+s[2].y*t[0].z,s[0].z*t[0].x+s[1].z*t[0].y+s[2].z*t[0].z,s[0].x*t[1].x+s[1].x*t[1].y+s[2].x*t[1].z,s[0].y*t[1].x+s[1].y*t[1].y+s[2].y*t[1].z,s[0].z*t[1].x+s[1].z*t[1].y+s[2].z*t[1].z,s[0].x*t[2].x+s[1].x*t[2].y+s[2].x*t[2].z,s[0].y*t[2].x+s[1].y*t[2].y+s[2].y*t[2].z,s[0].z*t[2].x+s[1].z*t[2].y+s[2].z*t[2].z)},mat4x4f:(e,n)=>{let s=e.columns,t=n.columns;return ce(s[0].x*t[0].x+s[1].x*t[0].y+s[2].x*t[0].z+s[3].x*t[0].w,s[0].y*t[0].x+s[1].y*t[0].y+s[2].y*t[0].z+s[3].y*t[0].w,s[0].z*t[0].x+s[1].z*t[0].y+s[2].z*t[0].z+s[3].z*t[0].w,s[0].w*t[0].x+s[1].w*t[0].y+s[2].w*t[0].z+s[3].w*t[0].w,s[0].x*t[1].x+s[1].x*t[1].y+s[2].x*t[1].z+s[3].x*t[1].w,s[0].y*t[1].x+s[1].y*t[1].y+s[2].y*t[1].z+s[3].y*t[1].w,s[0].z*t[1].x+s[1].z*t[1].y+s[2].z*t[1].z+s[3].z*t[1].w,s[0].w*t[1].x+s[1].w*t[1].y+s[2].w*t[1].z+s[3].w*t[1].w,s[0].x*t[2].x+s[1].x*t[2].y+s[2].x*t[2].z+s[3].x*t[2].w,s[0].y*t[2].x+s[1].y*t[2].y+s[2].y*t[2].z+s[3].y*t[2].w,s[0].z*t[2].x+s[1].z*t[2].y+s[2].z*t[2].z+s[3].z*t[2].w,s[0].w*t[2].x+s[1].w*t[2].y+s[2].w*t[2].z+s[3].w*t[2].w,s[0].x*t[3].x+s[1].x*t[3].y+s[2].x*t[3].z+s[3].x*t[3].w,s[0].y*t[3].x+s[1].y*t[3].y+s[2].y*t[3].z+s[3].y*t[3].w,s[0].z*t[3].x+s[1].z*t[3].y+s[2].z*t[3].z+s[3].z*t[3].w,s[0].w*t[3].x+s[1].w*t[3].y+s[2].w*t[3].z+s[3].w*t[3].w)}},mulMxV:{mat2x2f:(e,n)=>{let s=e.columns;return b(s[0].x*n.x+s[1].x*n.y,s[0].y*n.x+s[1].y*n.y)},mat3x3f:(e,n)=>{let s=e.columns;return d(s[0].x*n.x+s[1].x*n.y+s[2].x*n.z,s[0].y*n.x+s[1].y*n.y+s[2].y*n.z,s[0].z*n.x+s[1].z*n.y+s[2].z*n.z)},mat4x4f:(e,n)=>{let s=e.columns;return z(s[0].x*n.x+s[1].x*n.y+s[2].x*n.z+s[3].x*n.w,s[0].y*n.x+s[1].y*n.y+s[2].y*n.z+s[3].y*n.w,s[0].z*n.x+s[1].z*n.y+s[2].z*n.z+s[3].z*n.w,s[0].w*n.x+s[1].w*n.y+s[2].w*n.z+s[3].w*n.w)}},mulVxM:{mat2x2f:(e,n)=>{let s=n.columns;return b(e.x*s[0].x+e.y*s[0].y,e.x*s[1].x+e.y*s[1].y)},mat3x3f:(e,n)=>{let s=n.columns;return d(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z)},mat4x4f:(e,n)=>{let s=n.columns;return z(e.x*s[0].x+e.y*s[0].y+e.z*s[0].z+e.w*s[0].w,e.x*s[1].x+e.y*s[1].y+e.z*s[1].z+e.w*s[1].w,e.x*s[2].x+e.y*s[2].y+e.z*s[2].z+e.w*s[2].w,e.x*s[3].x+e.y*s[3].y+e.z*s[3].z+e.w*s[3].w)}},div:{vec2f:F((e,n)=>e/n),vec2h:j((e,n)=>e/n),vec2i:J(h.divInteger),vec2u:Q(h.divInteger),vec3f:B((e,n)=>e/n),vec3h:P((e,n)=>e/n),vec3i:X(h.divInteger),vec3u:Y(h.divInteger),vec4f:p((e,n)=>e/n),vec4h:Z((e,n)=>e/n),vec4i:ee(h.divInteger),vec4u:ne(h.divInteger)},divMixed:{vec2f:(e,n)=>x(s=>s/n)(e),vec2h:(e,n)=>w(s=>s/n)(e),vec2i:(e,n)=>N(s=>h.divInteger(s,n))(e),vec2u:(e,n)=>K(s=>h.divInteger(s,n))(e),vec3f:(e,n)=>y(s=>s/n)(e),vec3h:(e,n)=>l(s=>s/n)(e),vec3i:(e,n)=>R(s=>h.divInteger(s,n))(e),vec3u:(e,n)=>k(s=>h.divInteger(s,n))(e),vec4f:(e,n)=>u(s=>s/n)(e),vec4h:(e,n)=>i(s=>s/n)(e),vec4i:(e,n)=>$(s=>h.divInteger(s,n))(e),vec4u:(e,n)=>O(s=>h.divInteger(s,n))(e)},dot:{vec2f:re,vec2h:re,vec2i:re,vec2u:re,vec3f:ae,vec3h:ae,vec3i:ae,vec3u:ae,vec4f:ve,vec4h:ve,vec4i:ve,vec4u:ve},normalize:{vec2f:e=>{let n=S(e);return b(e.x/n,e.y/n)},vec2h:e=>{let n=S(e);return I(e.x/n,e.y/n)},vec2i:e=>{let n=S(e);return L(e.x/n,e.y/n)},vec2u:e=>{let n=S(e);return _(e.x/n,e.y/n)},vec3f:e=>{let n=D(e);return d(e.x/n,e.y/n,e.z/n)},vec3h:e=>{let n=D(e);return M(e.x/n,e.y/n,e.z/n)},vec3i:e=>{let n=D(e);return U(e.x/n,e.y/n,e.z/n)},vec3u:e=>{let n=D(e);return W(e.x/n,e.y/n,e.z/n)},vec4f:e=>{let n=E(e);return z(e.x/n,e.y/n,e.z/n,e.w/n)},vec4h:e=>{let n=E(e);return A(e.x/n,e.y/n,e.z/n,e.w/n)},vec4i:e=>{let n=E(e);return C(e.x/n,e.y/n,e.z/n,e.w/n)},vec4u:e=>{let n=E(e);return q(e.x/n,e.y/n,e.z/n,e.w/n)}},cross:{vec3f:(e,n)=>d(e.y*n.z-e.z*n.y,e.z*n.x-e.x*n.z,e.x*n.y-e.y*n.x),vec3h:(e,n)=>M(e.y*n.z-e.z*n.y,e.z*n.x-e.x*n.z,e.x*n.y-e.y*n.x)},floor:{vec2f:x(Math.floor),vec2h:w(Math.floor),vec3f:y(Math.floor),vec3h:l(Math.floor),vec4f:u(Math.floor),vec4h:i(Math.floor)},max:{vec2f:F(Math.max),vec2h:j(Math.max),vec2i:J(Math.max),vec2u:Q(Math.max),vec3f:B(Math.max),vec3h:P(Math.max),vec3i:X(Math.max),vec3u:Y(Math.max),vec4f:p(Math.max),vec4h:Z(Math.max),vec4i:ee(Math.max),vec4u:ne(Math.max)},min:{vec2f:F(Math.min),vec2h:j(Math.min),vec2i:J(Math.min),vec2u:Q(Math.min),vec3f:B(Math.min),vec3h:P(Math.min),vec3i:X(Math.min),vec3u:Y(Math.min),vec4f:p(Math.min),vec4h:Z(Math.min),vec4i:ee(Math.min),vec4u:ne(Math.min)},pow:{vec2f:(e,n)=>b(e.x**n.x,e.y**n.y),vec2h:(e,n)=>I(e.x**n.x,e.y**n.y),vec3f:(e,n)=>d(e.x**n.x,e.y**n.y,e.z**n.z),vec3h:(e,n)=>M(e.x**n.x,e.y**n.y,e.z**n.z),vec4f:(e,n)=>z(e.x**n.x,e.y**n.y,e.z**n.z,e.w**n.w),vec4h:(e,n)=>A(e.x**n.x,e.y**n.y,e.z**n.z,e.w**n.w)},sign:{vec2f:x(Math.sign),vec2h:w(Math.sign),vec2i:N(Math.sign),vec3f:y(Math.sign),vec3h:l(Math.sign),vec3i:R(Math.sign),vec4f:u(Math.sign),vec4h:i(Math.sign),vec4i:$(Math.sign)},sqrt:{vec2f:x(Math.sqrt),vec2h:w(Math.sqrt),vec3f:y(Math.sqrt),vec3h:l(Math.sqrt),vec4f:u(Math.sqrt),vec4h:i(Math.sqrt)},mix:{vec2f:(e,n,s)=>typeof s=="number"?b(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s):b(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y),vec2h:(e,n,s)=>typeof s=="number"?I(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s):I(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y),vec3f:(e,n,s)=>typeof s=="number"?d(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*s):d(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y,e.z*(1-s.z)+n.z*s.z),vec3h:(e,n,s)=>typeof s=="number"?M(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*s):M(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y,e.z*(1-s.z)+n.z*s.z),vec4f:(e,n,s)=>typeof s=="number"?z(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*s,e.w*(1-s)+n.w*s):z(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y,e.z*(1-s.z)+n.z*s.z,e.w*(1-s.w)+n.w*s.w),vec4h:(e,n,s)=>typeof s=="number"?A(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*s,e.w*(1-s)+n.w*s):A(e.x*(1-s.x)+n.x*s.x,e.y*(1-s.y)+n.y*s.y,e.z*(1-s.z)+n.z*s.z,e.w*(1-s.w)+n.w*s.w)},sin:{vec2f:x(Math.sin),vec2h:w(Math.sin),vec3f:y(Math.sin),vec3h:l(Math.sin),vec4f:u(Math.sin),vec4h:i(Math.sin)},cos:{vec2f:x(Math.cos),vec2h:w(Math.cos),vec3f:y(Math.cos),vec3h:l(Math.cos),vec4f:u(Math.cos),vec4h:i(Math.cos)},exp:{vec2f:x(Math.exp),vec2h:w(Math.exp),vec3f:y(Math.exp),vec3h:l(Math.exp),vec4f:u(Math.exp),vec4h:i(Math.exp)},fract:{vec2f:x(e=>e-Math.floor(e)),vec2h:w(e=>e-Math.floor(e)),vec3f:y(e=>e-Math.floor(e)),vec3h:l(e=>e-Math.floor(e)),vec4f:u(e=>e-Math.floor(e)),vec4h:i(e=>e-Math.floor(e))},isCloseToZero:{vec2f:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n,vec2h:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n,vec3f:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n&&Math.abs(e.z)<=n,vec3h:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n&&Math.abs(e.z)<=n,vec4f:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n&&Math.abs(e.z)<=n&&Math.abs(e.w)<=n,vec4h:(e,n)=>Math.abs(e.x)<=n&&Math.abs(e.y)<=n&&Math.abs(e.z)<=n&&Math.abs(e.w)<=n},neg:{vec2f:x(e=>-e),vec2h:w(e=>-e),vec2i:N(e=>-e),vec2u:K(e=>-e),"vec2<bool>":e=>o(!e.x,!e.y),vec3f:y(e=>-e),vec3h:l(e=>-e),vec3i:R(e=>-e),vec3u:k(e=>-e),"vec3<bool>":e=>f(!e.x,!e.y,!e.z),vec4f:u(e=>-e),vec4h:i(e=>-e),vec4i:$(e=>-e),vec4u:O(e=>-e),"vec4<bool>":e=>g(!e.x,!e.y,!e.z,!e.w)},select:{vec2f:(e,n,s)=>b(s.x?n.x:e.x,s.y?n.y:e.y),vec2h:(e,n,s)=>I(s.x?n.x:e.x,s.y?n.y:e.y),vec2i:(e,n,s)=>L(s.x?n.x:e.x,s.y?n.y:e.y),vec2u:(e,n,s)=>_(s.x?n.x:e.x,s.y?n.y:e.y),"vec2<bool>":(e,n,s)=>o(s.x?n.x:e.x,s.y?n.y:e.y),vec3f:(e,n,s)=>d(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),vec3h:(e,n,s)=>M(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),vec3i:(e,n,s)=>U(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),vec3u:(e,n,s)=>W(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),"vec3<bool>":(e,n,s)=>f(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),vec4f:(e,n,s)=>z(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z,s.w?n.w:e.w),vec4h:(e,n,s)=>A(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z,s.w?n.w:e.w),vec4i:(e,n,s)=>C(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z,s.w?n.w:e.w),vec4u:(e,n,s)=>q(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z,s.w?n.w:e.w),"vec4<bool>":(e,n,s)=>g(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z,s.w?n.w:e.w)}};function G(e){return Te(e.dataType)}function Te(e){let n=e?.type;return!!e?.[we]&&(n==="abstractInt"||n==="abstractFloat"||n==="f32"||n==="f16"||n==="i32"||n==="u32")}function oe(e,n){if(typeof e=="number"&&typeof n=="number")return e+n;if(typeof e=="number"&&m(n))return r.addMixed[n.kind](n,e);if(m(e)&&typeof n=="number")return r.addMixed[e.kind](e,n);if(m(e)&&m(n)||V(e)&&V(n))return r.add[e.kind](e,n);throw new Error("Add/Sub called with invalid arguments.")}var _e=v(oe,(e,n)=>a(`(${e.value} + ${n.value})`,G(e)?n.dataType:e.dataType),"coerce");function be(e,n){return oe(e,xe(-1,n))}var fe=v(be,(e,n)=>a(`(${e.value} - ${n.value})`,G(e)?n.dataType:e.dataType),"coerce");function ze(e,n){if(typeof e=="number"&&typeof n=="number")return e*n;if(typeof e=="number"&&(m(n)||V(n)))return r.mulSxV[n.kind](e,n);if((m(e)||V(e))&&typeof n=="number")return r.mulSxV[e.kind](n,e);if(m(e)&&m(n))return r.mulVxV[e.kind](e,n);if(ye(e)&&V(n))return r.mulVxM[n.kind](e,n);if(V(e)&&ye(n))return r.mulMxV[e.kind](e,n);if(V(e)&&V(n))return r.mulVxV[e.kind](e,n);throw new Error("Mul called with invalid arguments.")}var xe=v(ze,(e,n)=>{let s=G(e)?n.dataType:G(n)||e.dataType.type.startsWith("vec")?e.dataType:n.dataType.type.startsWith("vec")?n.dataType:e.dataType;return a(`(${e.value} * ${n.value})`,s)});function Me(e,n){if(typeof e=="number"&&typeof n=="number")return e/n;if(typeof e=="number"&&m(n))return r.divMixed[n.kind](n,e);if(m(e)&&typeof n=="number")return r.divMixed[e.kind](e,n);if(m(e)&&m(n))return r.div[e.kind](e,n);throw new Error("Div called with invalid arguments.")}var Ue=v(Me,(e,n)=>G(e)&&G(n)?a(`(f32(${e.value}) / ${n.value})`,H):a(`(${e.value} / ${n.value})`,e.dataType));ue(xe,"mul");var We=v(e=>typeof e=="number"?Math.abs(e):r.abs[e.kind](e),e=>a(`abs(${e.value})`,e.dataType)),Ce=v((e,n)=>typeof e=="number"&&typeof n=="number"?Math.atan2(e,n):r.atan2[e.kind](e,n),(e,n)=>a(`atan2(${e.value}, ${n.value})`,e.dataType)),qe=v(e=>typeof e=="number"?Math.acos(e):r.acos[e.kind](e),e=>a(`acos(${e.value})`,e.dataType)),Se=v(e=>typeof e=="number"?Math.asin(e):r.asin[e.kind](e),e=>a(`asin(${e.value})`,e.dataType)),De=v(e=>typeof e=="number"?Math.ceil(e):r.ceil[e.kind](e),e=>a(`ceil(${e.value})`,e.dataType)),Ee=v((e,n,s)=>typeof e=="number"?Math.min(Math.max(n,e),s):r.clamp[e.kind](e,n,s),(e,n,s)=>a(`clamp(${e.value}, ${n.value}, ${s.value})`,e.dataType)),je=v(e=>typeof e=="number"?Math.cos(e):r.cos[e.kind](e),e=>a(`cos(${e.value})`,e.dataType)),Pe=v((e,n)=>r.cross[e.kind](e,n),(e,n)=>a(`cross(${e.value}, ${n.value})`,e.dataType)),pe=v((e,n)=>r.dot[e.kind](e,n),(e,n)=>a(`dot(${e.value}, ${n.value})`,H)),Ze=v(e=>r.normalize[e.kind](e),e=>a(`normalize(${e.value})`,e.dataType)),Ge=v(e=>typeof e=="number"?Math.floor(e):r.floor[e.kind](e),e=>a(`floor(${e.value})`,e.dataType)),He=v(e=>typeof e=="number"?e-Math.floor(e):r.fract[e.kind](e),e=>a(`fract(${e.value})`,e.dataType)),Ve=v(e=>typeof e=="number"?Math.abs(e):r.length[e.kind](e),e=>a(`length(${e.value})`,H)),Je=v((e,n)=>typeof e=="number"?Math.max(e,n):r.max[e.kind](e,n),(e,n)=>a(`max(${e.value}, ${n.value})`,e.dataType),"coerce"),Qe=v((e,n)=>typeof e=="number"?Math.min(e,n):r.min[e.kind](e,n),(e,n)=>a(`min(${e.value}, ${n.value})`,e.dataType),"coerce"),Xe=v(e=>typeof e=="number"?Math.sign(e):r.sign[e.kind](e),e=>a(`sign(${e.value})`,e.dataType)),Ye=v(e=>typeof e=="number"?Math.sin(e):r.sin[e.kind](e),e=>a(`sin(${e.value})`,e.dataType)),en=v(e=>typeof e=="number"?Math.exp(e):r.exp[e.kind](e),e=>a(`exp(${e.value})`,e.dataType)),Ie=v((e,n)=>{if(typeof e=="number"&&typeof n=="number")return e**n;if(typeof e=="object"&&typeof n=="object"&&"kind"in e&&"kind"in n)return r.pow[e.kind](e,n);throw new Error("Invalid arguments to pow()")},(e,n)=>a(`pow(${e.value}, ${n.value})`,e.dataType));ue(Ie,"pow");var nn=v((e,n,s)=>{if(typeof e=="number"){if(typeof s!="number"||typeof n!="number")throw new Error("When e1 and e2 are numbers, the blend factor must be a number.");return e*(1-s)+n*s}if(typeof e=="number"||typeof n=="number")throw new Error("e1 and e2 need to both be vectors of the same kind.");return r.mix[e.kind](e,n,s)},(e,n,s)=>a(`mix(${e.value}, ${n.value}, ${s.value})`,e.dataType)),sn=v((e,n)=>fe(e,xe(2*pe(n,e),n)),(e,n)=>a(`reflect(${e.value}, ${n.value})`,e.dataType)),tn=v((e,n)=>typeof e=="number"&&typeof n=="number"?Math.abs(e-n):Ve(fe(e,n)),(e,n)=>a(`distance(${e.value}, ${n.value})`,H)),cn=v(e=>typeof e=="number"?-e:r.neg[e.kind](e),e=>a(`-(${e.value})`,e.dataType)),rn=v(e=>typeof e=="number"?Math.sqrt(e):r.sqrt[e.kind](e),e=>a(`sqrt(${e.value})`,e.dataType));export{r as a,G as b,Te as c,_e as d,fe as e,xe as f,Ue as g,We as h,Ce as i,qe as j,Se as k,De as l,Ee as m,je as n,Pe as o,pe as p,Ze as q,Ge as r,He as s,Ve as t,Je as u,Qe as v,Xe as w,Ye as x,en as y,Ie as z,nn as A,sn as B,tn as C,cn as D,rn as E};
//# sourceMappingURL=chunk-SLWTVY6K.js.map