typegpu
Version:
A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.
2 lines • 21.1 kB
JavaScript
import{Aa as q,B as i,Ba as C,Ca as g,F as V,J as xe,Ma as se,Na as te,Oa as ce,a as ye,da as a,ga as v,ma as H,oa as b,pa as I,qa as L,ra as _,sa as m,ta as h,ua as z,va as U,wa as W,xa as f,ya as M,za as B}from"./chunk-SWJVYRFM.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),ae=(e,n)=>e.x*n.x+e.y*n.y,re=(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,r=(e,n,s)=>Math.min(Math.max(n,e),s),u=e=>n=>b(e(n.x),e(n.y)),w=e=>n=>I(e(n.x),e(n.y)),R=e=>n=>L(e(n.x),e(n.y)),K=e=>n=>_(e(n.x),e(n.y)),y=e=>n=>h(e(n.x),e(n.y),e(n.z)),l=e=>n=>z(e(n.x),e(n.y),e(n.z)),$=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)),x=e=>n=>M(e(n.x),e(n.y),e(n.z),e(n.w)),o=e=>n=>B(e(n.x),e(n.y),e(n.z),e(n.w)),N=e=>n=>q(e(n.x),e(n.y),e(n.z),e(n.w)),O=e=>n=>C(e(n.x),e(n.y),e(n.z),e(n.w)),ue=e=>n=>{let s=n.columns;return se(u(e)(s[0]),u(e)(s[1]))},we=e=>n=>{let s=n.columns;return te(y(e)(s[0]),y(e)(s[1]),y(e)(s[2]))},le=e=>n=>{let s=n.columns;return ce(x(e)(s[0]),x(e)(s[1]),x(e)(s[2]),x(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)),A=e=>(n,s)=>h(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)),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)=>M(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),Z=e=>(n,s)=>B(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),ee=e=>(n,s)=>q(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),ne=e=>(n,s)=>C(e(n.x,s.x),e(n.y,s.y),e(n.z,s.z),e(n.w,s.w)),fe=e=>(n,s)=>{let t=n.columns,T=s.columns;return se(F(e)(t[0],T[0]),F(e)(t[1],T[1]))},ge=e=>(n,s)=>{let t=n.columns,T=s.columns;return te(A(e)(t[0],T[0]),A(e)(t[1],T[1]),A(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]))},d={divInteger:(e,n)=>n===0?e:Math.trunc(e/n)},c={eq:{vec2f:(e,n)=>m(e.x===n.x,e.y===n.y),vec2h:(e,n)=>m(e.x===n.x,e.y===n.y),vec2i:(e,n)=>m(e.x===n.x,e.y===n.y),vec2u:(e,n)=>m(e.x===n.x,e.y===n.y),"vec2<bool>":(e,n)=>m(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)=>m(e.x<n.x,e.y<n.y),vec2h:(e,n)=>m(e.x<n.x,e.y<n.y),vec2i:(e,n)=>m(e.x<n.x,e.y<n.y),vec2u:(e,n)=>m(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)=>m(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:u(Math.abs),vec2h:w(Math.abs),vec2i:R(Math.abs),vec2u:K(Math.abs),vec3f:y(Math.abs),vec3h:l(Math.abs),vec3i:$(Math.abs),vec3u:k(Math.abs),vec4f:x(Math.abs),vec4h:o(Math.abs),vec4i:N(Math.abs),vec4u:O(Math.abs)},atan2:{vec2f:F(Math.atan2),vec2h:j(Math.atan2),vec3f:A(Math.atan2),vec3h:P(Math.atan2),vec4f:p(Math.atan2),vec4h:Z(Math.atan2)},acos:{vec2f:u(Math.acos),vec2h:w(Math.acos),vec2i:R(Math.acos),vec2u:K(Math.acos),vec3f:y(Math.acos),vec3h:l(Math.acos),vec3i:$(Math.acos),vec3u:k(Math.acos),vec4f:x(Math.acos),vec4h:o(Math.acos),vec4i:N(Math.acos),vec4u:O(Math.acos)},acosh:{vec2f:u(Math.acosh),vec2h:w(Math.acosh),vec3f:y(Math.acosh),vec3h:l(Math.acosh),vec4f:x(Math.acosh),vec4h:o(Math.acosh)},asin:{vec2f:u(Math.asin),vec2h:w(Math.asin),vec2i:R(Math.asin),vec2u:K(Math.asin),vec3f:y(Math.asin),vec3h:l(Math.asin),vec3i:$(Math.asin),vec3u:k(Math.asin),vec4f:x(Math.asin),vec4h:o(Math.asin),vec4i:N(Math.asin),vec4u:O(Math.asin)},ceil:{vec2f:u(Math.ceil),vec2h:w(Math.ceil),vec3f:y(Math.ceil),vec3h:l(Math.ceil),vec4f:x(Math.ceil),vec4h:o(Math.ceil)},clamp:{vec2f:(e,n,s)=>b(r(e.x,n.x,s.x),r(e.y,n.y,s.y)),vec2h:(e,n,s)=>I(r(e.x,n.x,s.x),r(e.y,n.y,s.y)),vec2i:(e,n,s)=>L(r(e.x,n.x,s.x),r(e.y,n.y,s.y)),vec2u:(e,n,s)=>_(r(e.x,n.x,s.x),r(e.y,n.y,s.y)),vec3f:(e,n,s)=>h(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z)),vec3h:(e,n,s)=>z(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z)),vec3i:(e,n,s)=>U(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z)),vec3u:(e,n,s)=>W(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z)),vec4f:(e,n,s)=>M(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z),r(e.w,n.w,s.w)),vec4h:(e,n,s)=>B(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z),r(e.w,n.w,s.w)),vec4i:(e,n,s)=>q(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z),r(e.w,n.w,s.w)),vec4u:(e,n,s)=>C(r(e.x,n.x,s.x),r(e.y,n.y,s.y),r(e.z,n.z,s.z),r(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:A((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:fe((e,n)=>e+n),mat3x3f:ge((e,n)=>e+n),mat4x4f:he((e,n)=>e+n)},addMixed:{vec2f:(e,n)=>u(s=>s+n)(e),vec2h:(e,n)=>w(s=>s+n)(e),vec2i:(e,n)=>R(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)=>$(s=>s+n)(e),vec3u:(e,n)=>k(s=>s+n)(e),vec4f:(e,n)=>x(s=>s+n)(e),vec4h:(e,n)=>o(s=>s+n)(e),vec4i:(e,n)=>N(s=>s+n)(e),vec4u:(e,n)=>O(s=>s+n)(e),mat2x2f:(e,n)=>ue(s=>s+n)(e),mat3x3f:(e,n)=>we(s=>s+n)(e),mat4x4f:(e,n)=>le(s=>s+n)(e)},mulSxV:{vec2f:(e,n)=>u(s=>e*s)(n),vec2h:(e,n)=>w(s=>e*s)(n),vec2i:(e,n)=>R(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)=>$(s=>e*s)(n),vec3u:(e,n)=>k(s=>e*s)(n),vec4f:(e,n)=>x(s=>e*s)(n),vec4h:(e,n)=>o(s=>e*s)(n),vec4i:(e,n)=>N(s=>e*s)(n),vec4u:(e,n)=>O(s=>e*s)(n),mat2x2f:(e,n)=>ue(s=>e*s)(n),mat3x3f:(e,n)=>we(s=>e*s)(n),mat4x4f:(e,n)=>le(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:A((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 h(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 M(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 h(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 M(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(d.divInteger),vec2u:Q(d.divInteger),vec3f:A((e,n)=>e/n),vec3h:P((e,n)=>e/n),vec3i:X(d.divInteger),vec3u:Y(d.divInteger),vec4f:p((e,n)=>e/n),vec4h:Z((e,n)=>e/n),vec4i:ee(d.divInteger),vec4u:ne(d.divInteger)},divMixed:{vec2f:(e,n)=>u(s=>s/n)(e),vec2h:(e,n)=>w(s=>s/n)(e),vec2i:(e,n)=>R(s=>d.divInteger(s,n))(e),vec2u:(e,n)=>K(s=>d.divInteger(s,n))(e),vec3f:(e,n)=>y(s=>s/n)(e),vec3h:(e,n)=>l(s=>s/n)(e),vec3i:(e,n)=>$(s=>d.divInteger(s,n))(e),vec3u:(e,n)=>k(s=>d.divInteger(s,n))(e),vec4f:(e,n)=>x(s=>s/n)(e),vec4h:(e,n)=>o(s=>s/n)(e),vec4i:(e,n)=>N(s=>d.divInteger(s,n))(e),vec4u:(e,n)=>O(s=>d.divInteger(s,n))(e)},dot:{vec2f:ae,vec2h:ae,vec2i:ae,vec2u:ae,vec3f:re,vec3h:re,vec3i:re,vec3u:re,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 h(e.x/n,e.y/n,e.z/n)},vec3h:e=>{let n=D(e);return z(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 M(e.x/n,e.y/n,e.z/n,e.w/n)},vec4h:e=>{let n=E(e);return B(e.x/n,e.y/n,e.z/n,e.w/n)},vec4i:e=>{let n=E(e);return q(e.x/n,e.y/n,e.z/n,e.w/n)},vec4u:e=>{let n=E(e);return C(e.x/n,e.y/n,e.z/n,e.w/n)}},cross:{vec3f:(e,n)=>h(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)=>z(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:u(Math.floor),vec2h:w(Math.floor),vec3f:y(Math.floor),vec3h:l(Math.floor),vec4f:x(Math.floor),vec4h:o(Math.floor)},max:{vec2f:F(Math.max),vec2h:j(Math.max),vec2i:J(Math.max),vec2u:Q(Math.max),vec3f:A(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:A(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)=>h(e.x**n.x,e.y**n.y,e.z**n.z),vec3h:(e,n)=>z(e.x**n.x,e.y**n.y,e.z**n.z),vec4f:(e,n)=>M(e.x**n.x,e.y**n.y,e.z**n.z,e.w**n.w),vec4h:(e,n)=>B(e.x**n.x,e.y**n.y,e.z**n.z,e.w**n.w)},sign:{vec2f:u(Math.sign),vec2h:w(Math.sign),vec2i:R(Math.sign),vec3f:y(Math.sign),vec3h:l(Math.sign),vec3i:$(Math.sign),vec4f:x(Math.sign),vec4h:o(Math.sign),vec4i:N(Math.sign)},sqrt:{vec2f:u(Math.sqrt),vec2h:w(Math.sqrt),vec3f:y(Math.sqrt),vec3h:l(Math.sqrt),vec4f:x(Math.sqrt),vec4h:o(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"?h(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*s):h(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"?z(e.x*(1-s)+n.x*s,e.y*(1-s)+n.y*s,e.z*(1-s)+n.z*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),vec4f:(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,e.w*(1-s)+n.w*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,e.w*(1-s.w)+n.w*s.w),vec4h:(e,n,s)=>typeof s=="number"?B(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):B(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:u(Math.sin),vec2h:w(Math.sin),vec3f:y(Math.sin),vec3h:l(Math.sin),vec4f:x(Math.sin),vec4h:o(Math.sin)},cos:{vec2f:u(Math.cos),vec2h:w(Math.cos),vec3f:y(Math.cos),vec3h:l(Math.cos),vec4f:x(Math.cos),vec4h:o(Math.cos)},cosh:{vec2f:u(Math.cosh),vec2h:w(Math.cosh),vec3f:y(Math.cosh),vec3h:l(Math.cosh),vec4f:x(Math.cosh),vec4h:o(Math.cosh)},exp:{vec2f:u(Math.exp),vec2h:w(Math.exp),vec3f:y(Math.exp),vec3h:l(Math.exp),vec4f:x(Math.exp),vec4h:o(Math.exp)},exp2:{vec2f:u(e=>2**e),vec2h:w(e=>2**e),vec3f:y(e=>2**e),vec3h:l(e=>2**e),vec4f:x(e=>2**e),vec4h:o(e=>2**e)},log:{vec2f:u(Math.log),vec2h:w(Math.log),vec3f:y(Math.log),vec3h:l(Math.log),vec4f:x(Math.log),vec4h:o(Math.log)},log2:{vec2f:u(Math.log2),vec2h:w(Math.log2),vec3f:y(Math.log2),vec3h:l(Math.log2),vec4f:x(Math.log2),vec4h:o(Math.log2)},fract:{vec2f:u(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:x(e=>e-Math.floor(e)),vec4h:o(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:u(e=>-e),vec2h:w(e=>-e),vec2i:R(e=>-e),vec2u:K(e=>-e),"vec2<bool>":e=>m(!e.x,!e.y),vec3f:y(e=>-e),vec3h:l(e=>-e),vec3i:$(e=>-e),vec3u:k(e=>-e),"vec3<bool>":e=>f(!e.x,!e.y,!e.z),vec4f:x(e=>-e),vec4h:o(e=>-e),vec4i:N(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)=>m(s.x?n.x:e.x,s.y?n.y:e.y),vec3f:(e,n,s)=>h(s.x?n.x:e.x,s.y?n.y:e.y,s.z?n.z:e.z),vec3h:(e,n,s)=>z(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)=>M(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)=>B(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)=>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),vec4u:(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),"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)},tanh:{vec2f:u(Math.tanh),vec2h:w(Math.tanh),vec3f:y(Math.tanh),vec3h:l(Math.tanh),vec4f:x(Math.tanh),vec4h:o(Math.tanh)}};function G(e){return de(e.dataType)}function de(e){let n=e?.type;return!!e?.[ye]&&(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"&&i(n))return c.addMixed[n.kind](n,e);if(i(e)&&typeof n=="number")return c.addMixed[e.kind](e,n);if(i(e)&&i(n)||V(e)&&V(n))return c.add[e.kind](e,n);throw new Error("Add/Sub called with invalid arguments.")}var ke=v(oe,(e,n)=>a(`(${e.value} + ${n.value})`,G(e)?n.dataType:e.dataType),"coerce");function Te(e,n){return oe(e,me(-1,n))}var ie=v(Te,(e,n)=>a(`(${e.value} - ${n.value})`,G(e)?n.dataType:e.dataType),"sub","coerce");function be(e,n){if(typeof e=="number"&&typeof n=="number")return e*n;if(typeof e=="number"&&(i(n)||V(n)))return c.mulSxV[n.kind](e,n);if((i(e)||V(e))&&typeof n=="number")return c.mulSxV[e.kind](n,e);if(i(e)&&i(n))return c.mulVxV[e.kind](e,n);if(xe(e)&&V(n))return c.mulVxM[n.kind](e,n);if(V(e)&&xe(n))return c.mulMxV[e.kind](e,n);if(V(e)&&V(n))return c.mulVxV[e.kind](e,n);throw new Error("Mul called with invalid arguments.")}var me=v(be,(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)},"mul");function Me(e,n){if(typeof e=="number"&&typeof n=="number")return e/n;if(typeof e=="number"&&i(n))return c.divMixed[n.kind](n,e);if(i(e)&&typeof n=="number")return c.divMixed[e.kind](e,n);if(i(e)&&i(n))return c.div[e.kind](e,n);throw new Error("Div called with invalid arguments.")}var Oe=v(Me,(e,n)=>G(e)&&G(n)?a(`(f32(${e.value}) / ${n.value})`,H):a(`(${e.value} / ${n.value})`,e.dataType),"div"),Le=v(e=>typeof e=="number"?Math.abs(e):c.abs[e.kind](e),e=>a(`abs(${e.value})`,e.dataType),"abs"),_e=v((e,n)=>typeof e=="number"&&typeof n=="number"?Math.atan2(e,n):c.atan2[e.kind](e,n),(e,n)=>a(`atan2(${e.value}, ${n.value})`,e.dataType),"atan2"),Ue=v(e=>typeof e=="number"?Math.acos(e):c.acos[e.kind](e),e=>a(`acos(${e.value})`,e.dataType),"acos"),We=v(e=>typeof e=="number"?Math.acosh(e):c.acosh[e.kind](e),e=>a(`acosh(${e.value})`,e.dataType),"acosh"),qe=v(e=>typeof e=="number"?Math.asin(e):c.asin[e.kind](e),e=>a(`asin(${e.value})`,e.dataType),"asin"),Ce=v(e=>typeof e=="number"?Math.ceil(e):c.ceil[e.kind](e),e=>a(`ceil(${e.value})`,e.dataType),"ceil"),Se=v((e,n,s)=>typeof e=="number"?Math.min(Math.max(n,e),s):c.clamp[e.kind](e,n,s),(e,n,s)=>a(`clamp(${e.value}, ${n.value}, ${s.value})`,e.dataType),"clamp"),De=v(e=>typeof e=="number"?Math.cos(e):c.cos[e.kind](e),e=>a(`cos(${e.value})`,e.dataType),"cos"),Ee=v(e=>typeof e=="number"?Math.cosh(e):c.cosh[e.kind](e),e=>a(`cosh(${e.value})`,e.dataType),"cosh"),je=v((e,n)=>c.cross[e.kind](e,n),(e,n)=>a(`cross(${e.value}, ${n.value})`,e.dataType),"cross"),ze=v((e,n)=>c.dot[e.kind](e,n),(e,n)=>a(`dot(${e.value}, ${n.value})`,H),"dot"),Pe=v(e=>c.normalize[e.kind](e),e=>a(`normalize(${e.value})`,e.dataType),"normalize"),Ze=v(e=>typeof e=="number"?Math.floor(e):c.floor[e.kind](e),e=>a(`floor(${e.value})`,e.dataType),"floor"),Ge=v(e=>typeof e=="number"?e-Math.floor(e):c.fract[e.kind](e),e=>a(`fract(${e.value})`,e.dataType),"fract"),pe=v(e=>typeof e=="number"?Math.abs(e):c.length[e.kind](e),e=>a(`length(${e.value})`,H),"length"),He=v(e=>typeof e=="number"?Math.log(e):c.log[e.kind](e),e=>a(`log(${e.value})`,e.dataType),"log"),Je=v(e=>typeof e=="number"?Math.log2(e):c.log2[e.kind](e),e=>a(`log2(${e.value})`,e.dataType),"log2"),Qe=v((e,n)=>typeof e=="number"?Math.max(e,n):c.max[e.kind](e,n),(e,n)=>a(`max(${e.value}, ${n.value})`,e.dataType),"max","coerce"),Xe=v((e,n)=>typeof e=="number"?Math.min(e,n):c.min[e.kind](e,n),(e,n)=>a(`min(${e.value}, ${n.value})`,e.dataType),"min","coerce"),Ye=v(e=>typeof e=="number"?Math.sign(e):c.sign[e.kind](e),e=>a(`sign(${e.value})`,e.dataType),"sign"),en=v(e=>typeof e=="number"?Math.sin(e):c.sin[e.kind](e),e=>a(`sin(${e.value})`,e.dataType),"sin"),nn=v(e=>typeof e=="number"?Math.exp(e):c.exp[e.kind](e),e=>a(`exp(${e.value})`,e.dataType),"exp"),sn=v(e=>typeof e=="number"?2**e:c.exp2[e.kind](e),e=>a(`exp2(${e.value})`,e.dataType),"exp2"),tn=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 c.pow[e.kind](e,n);throw new Error("Invalid arguments to pow()")},(e,n)=>a(`pow(${e.value}, ${n.value})`,e.dataType),"pow"),cn=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 c.mix[e.kind](e,n,s)},(e,n,s)=>a(`mix(${e.value}, ${n.value}, ${s.value})`,e.dataType),"mix"),an=v((e,n)=>ie(e,me(2*ze(n,e),n)),(e,n)=>a(`reflect(${e.value}, ${n.value})`,e.dataType),"reflect"),rn=v((e,n)=>typeof e=="number"&&typeof n=="number"?Math.abs(e-n):pe(ie(e,n)),(e,n)=>a(`distance(${e.value}, ${n.value})`,H),"distance"),vn=v(e=>typeof e=="number"?-e:c.neg[e.kind](e),e=>a(`-(${e.value})`,e.dataType),"neg"),xn=v(e=>typeof e=="number"?Math.sqrt(e):c.sqrt[e.kind](e),e=>a(`sqrt(${e.value})`,e.dataType),"sqrt"),yn=v(e=>typeof e=="number"?Math.tanh(e):c.tanh[e.kind](e),e=>a(`tanh(${e.value})`,e.dataType),"tanh");export{c as a,G as b,de as c,ke as d,ie as e,me as f,Oe as g,Le as h,_e as i,Ue as j,We as k,qe as l,Ce as m,Se as n,De as o,Ee as p,je as q,ze as r,Pe as s,Ze as t,Ge as u,pe as v,He as w,Je as x,Qe as y,Xe as z,Ye as A,en as B,nn as C,sn as D,tn as E,cn as F,an as G,rn as H,vn as I,xn as J,yn as K};
//# sourceMappingURL=chunk-CGVYLGBG.js.map