typegpu
Version:
A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.
41 lines • 47.5 kB
JavaScript
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7;var l="0.6.0";var r=Symbol(`typegpu:${l}:$internal`),se= exports.b =Symbol(`typegpu:${l}:$wgslDataType`),_t= exports.c =Symbol(`typegpu:${l}:$gpuValueOf`),G= exports.d =Symbol(`typegpu:${l}:$getNameForward`),At= exports.e =Symbol(`typegpu:${l}:$providing`),ie= exports.f =Symbol(`typegpu:${l}:$repr`),It= exports.g =Symbol(`typegpu:${l}:$gpuRepr`),$t=Symbol(`typegpu:${l}:$reprPartial`),St=Symbol(`typegpu:${l}:$memIdent`);var W=globalThis.process.env.NODE_ENV==="development",ae=globalThis.process.env.NODE_ENV==="test";Object.assign(globalThis,{__TYPEGPU_AUTONAME__:(e,t)=>Ie(e)&&_optionalChain([e, 'optionalAccess', _2 => _2[r]])&&!f(e)?e.$name(t):e});var U=globalThis,Ft= exports.h =(W||ae)&&{get enabled(){return!!U.__TYPEGPU_MEASURE_PERF__},record(e,t){let n=U.__TYPEGPU_PERF_RECORDS__??=new Map,s=n.get(e);s||(s=[],n.set(e,s)),s.push(t)}}||void 0;function Ae(e){return!!_optionalChain([e, 'optionalAccess', _3 => _3[G]])}function f(e){return Ae(e)?f(e[G]):_optionalChain([$e, 'call', _4 => _4(e), 'optionalAccess', _5 => _5.name])}function oe(e,t){Se(e,{name:t})}function Ie(e){return!!_optionalChain([e, 'optionalAccess', _6 => _6.$name])}function $e(e){return U.__TYPEGPU_META__.get(e)}function Se(e,t){U.__TYPEGPU_META__??=new WeakMap;let n=U.__TYPEGPU_META__;n.set(e,{...n.get(e),...t})}var Y="Invariant failed";function K(e,t){if(e)return;if(!W)throw new Error(Y);let n=typeof t=="function"?t():t,s=n?`${Y}: ${n}`:Y;throw new Error(s)}var he=class e extends Error{constructor(n,s){let i=s.map(a=>`- ${a}`);i.length>20&&(i=[...i.slice(0,11),"...",...i.slice(-10)]);super(`Resolution of the following tree failed:
${i.join(`
`)}: ${n&&typeof n=="object"&&"message"in n?n.message:n}`);this.cause=n;this.trace=s;Object.setPrototypeOf(this,e.prototype)}appendToTrace(n){let s=[n,...this.trace];return new e(this.cause,s)}},ue= exports.o =class e extends Error{constructor(n){super(`Missing value for '${n}'`);this.slot=n;Object.setPrototypeOf(this,e.prototype)}},ye= exports.p =class e extends Error{constructor(t){super(`Buffer '${_nullishCoalesce(f(t), () => ("<unnamed>"))}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,e.prototype)}},ce= exports.q =class e extends Error{constructor(t,n){super(`The function '${_nullishCoalesce(t, () => ("<unnamed>"))}' is missing links to the following external values: ${n}.`),Object.setPrototypeOf(this,e.prototype)}},le= exports.r =class e extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(n=>_nullishCoalesce(f(n), () => ("<unnamed>"))).join(", ")}'. Please provide it using pipeline.with(layout, bindGroup).(...)`),Object.setPrototypeOf(this,e.prototype)}},xe= exports.s =class e extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(n=>_nullishCoalesce(f(n), () => ("<unnamed>"))).join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,e.prototype)}};function Rt(e){return!!_optionalChain([e, 'optionalAccess', _7 => _7[se]])}var Wt={[r]:!0,type:"void"},ke=["bool","f32","f16","i32","u32","u16","vec2f","vec2h","vec2i","vec2u","vec2<bool>","vec3f","vec3h","vec3i","vec3u","vec3<bool>","vec4f","vec4h","vec4i","vec4u","vec4<bool>","mat2x2f","mat3x3f","mat4x4f","struct","array","ptr","atomic","decorated","abstractInt","abstractFloat","void"];function De(e){let t=e;return!!_optionalChain([t, 'optionalAccess', _8 => _8[r]])&&typeof _optionalChain([t, 'access', _9 => _9.kind, 'optionalAccess', _10 => _10.startsWith])=="function"&&t.kind.startsWith("vec")}function Pe(e){let t=e;return!!_optionalChain([t, 'optionalAccess', _11 => _11[r]])&&typeof _optionalChain([t, 'access', _12 => _12.type, 'optionalAccess', _13 => _13.startsWith])=="function"&&_optionalChain([t, 'access', _14 => _14.type, 'access', _15 => _15.startsWith, 'optionalCall', _16 => _16("vec2")])}function Ce(e){let t=e;return!!_optionalChain([t, 'optionalAccess', _17 => _17[r]])&&typeof _optionalChain([t, 'access', _18 => _18.type, 'optionalAccess', _19 => _19.startsWith])=="function"&&t.type.startsWith("vec3")}function Fe(e){let t=e;return!!_optionalChain([t, 'optionalAccess', _20 => _20[r]])&&typeof _optionalChain([t, 'access', _21 => _21.type, 'optionalAccess', _22 => _22.startsWith])=="function"&&t.type.startsWith("vec4")}function de(e){return Pe(e)||Ce(e)||Fe(e)}function Lt(e){let t=e;return!!_optionalChain([t, 'optionalAccess', _23 => _23[r]])&&typeof _optionalChain([t, 'access', _24 => _24.kind, 'optionalAccess', _25 => _25.startsWith])=="function"&&t.kind.startsWith("mat")}function Ee(e){return _optionalChain([e, 'optionalAccess', _26 => _26[r]])&&_optionalChain([e, 'optionalAccess', _27 => _27.type])==="mat2x2f"}function Me(e){return _optionalChain([e, 'optionalAccess', _28 => _28[r]])&&_optionalChain([e, 'optionalAccess', _29 => _29.type])==="mat3x3f"}function Ne(e){return _optionalChain([e, 'optionalAccess', _30 => _30[r]])&&_optionalChain([e, 'optionalAccess', _31 => _31.type])==="mat4x4f"}function jt(e){return Ee(e)||Me(e)||Ne(e)}function Ot(e){return De(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function we(e){return _optionalChain([e, 'optionalAccess', _32 => _32[r]])&&ke.includes(_optionalChain([e, 'optionalAccess', _33 => _33.type]))}function Gt(e){return _optionalChain([e, 'optionalAccess', _34 => _34[r]])&&_optionalChain([e, 'optionalAccess', _35 => _35.type])==="array"}function Yt(e){return _optionalChain([e, 'optionalAccess', _36 => _36[r]])&&_optionalChain([e, 'optionalAccess', _37 => _37.type])==="struct"}function Kt(e){return _optionalChain([e, 'optionalAccess', _38 => _38[r]])&&_optionalChain([e, 'optionalAccess', _39 => _39.type])==="ptr"}function Ht(e){return _optionalChain([e, 'optionalAccess', _40 => _40[r]])&&_optionalChain([e, 'optionalAccess', _41 => _41.type])==="atomic"}function pe(e){return _optionalChain([e, 'optionalAccess', _42 => _42[r]])&&_optionalChain([e, 'optionalAccess', _43 => _43.type])==="@align"}function me(e){return _optionalChain([e, 'optionalAccess', _44 => _44[r]])&&_optionalChain([e, 'optionalAccess', _45 => _45.type])==="@size"}function ge(e){return _optionalChain([e, 'optionalAccess', _46 => _46[r]])&&_optionalChain([e, 'optionalAccess', _47 => _47.type])==="@location"}function Xt(e){return _optionalChain([e, 'optionalAccess', _48 => _48[r]])&&_optionalChain([e, 'optionalAccess', _49 => _49.type])==="@interpolate"}function Zt(e){return _optionalChain([e, 'optionalAccess', _50 => _50[r]])&&_optionalChain([e, 'optionalAccess', _51 => _51.type])==="@builtin"}function Te(e){return _optionalChain([e, 'optionalAccess', _52 => _52[r]])&&_optionalChain([e, 'optionalAccess', _53 => _53.type])==="decorated"}function Jt(e){return _optionalChain([e, 'optionalAccess', _54 => _54[r]])&&e.type==="void"}var be=["uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],qt= exports.A ={f32:"float32",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",f16:"float16",vec2h:"float16x2",vec4h:"float16x4",u32:"uint32",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",i32:"sint32",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4"};var Be=["unstruct","disarray","loose-decorated",...be];function Re(e){return _optionalChain([e, 'optionalAccess', _55 => _55[r]])&&Be.includes(_optionalChain([e, 'optionalAccess', _56 => _56.type]))}function nn(e){return _optionalChain([e, 'optionalAccess', _57 => _57[r]])&&_optionalChain([e, 'optionalAccess', _58 => _58.type])==="disarray"}function rn(e){return _optionalChain([e, 'optionalAccess', _59 => _59[r]])&&_optionalChain([e, 'optionalAccess', _60 => _60.type])==="unstruct"}function sn(e){return _optionalChain([e, 'optionalAccess', _61 => _61[r]])&&_optionalChain([e, 'optionalAccess', _62 => _62.type])==="loose-decorated"}function an(e){return _optionalChain([e, 'access', _63 => _63.attribs, 'optionalAccess', _64 => _64.find, 'call', _65 => _65(pe), 'optionalAccess', _66 => _66.value])}function on(e){return _optionalChain([e, 'access', _67 => _67.attribs, 'optionalAccess', _68 => _68.find, 'call', _69 => _69(me), 'optionalAccess', _70 => _70.value])}function hn(e){return _optionalChain([e, 'access', _71 => _71.attribs, 'optionalAccess', _72 => _72.find, 'call', _73 => _73(ge), 'optionalAccess', _74 => _74.value])}function un(e){return we(e)||Re(e)}var yn={type:"unknown",toString(){return"unknown"}},L=class{constructor(t,n){this.value=t;this.dataType=n}};function u(e,t){return new L(e,t.type==="decorated"||t.type==="loose-decorated"?t.inner:t)}function cn(e){return e instanceof L}var j=null,We=Symbol("CPU"),Le=Symbol("GPU"),je= exports.t ={CPU:We,GPU:Le},B=[];function dn(e,t){K(j===null,"Cannot nest context providers"),j=e;try{return t()}finally{j=null}}function wn(){return j}function pn(e){B.push(e)}function mn(e){let t=B.pop();e!==void 0&&K(t===e,"Unexpected mode")}var fe=()=>B.length>0&&B[B.length-1]===je.GPU;function*zn(e){let t=0;for(;;)e.has(t)||(yield t),t++}function o(e,t,n,s){let i=(...a)=>fe()?t(...a):e(...a);return i[r]={implementation:e,argTypes:s},oe(i,n),i}var In={[r]:!0,type:"abstractInt"},$n= exports.ka ={[r]:!0,type:"abstractFloat"},Oe=o(e=>e===void 0?!1:typeof e=="boolean"?e:!!e,e=>u(`bool(${_nullishCoalesce(_optionalChain([e, 'optionalAccess', _75 => _75.value]), () => (""))})`,x),"boolCast"),x= exports.la =Object.assign(Oe,{type:"bool"}),Ge=o(e=>e===void 0?0:typeof e=="boolean"?e?1:0:(e&4294967295)>>>0,e=>u(`u32(${_nullishCoalesce(_optionalChain([e, 'optionalAccess', _76 => _76.value]), () => (""))})`,d),"u32Cast"),d= exports.ma =Object.assign(Ge,{type:"u32"}),Ye=o(e=>e===void 0?0:typeof e=="boolean"?e?1:0:e|0,e=>u(`i32(${_nullishCoalesce(_optionalChain([e, 'optionalAccess', _77 => _77.value]), () => (""))})`,w),"i32Cast"),Sn= exports.na ={[r]:!0,type:"u16"},w= exports.oa =Object.assign(Ye,{type:"i32"}),Ke=o(e=>e===void 0?0:typeof e=="boolean"?e?1:0:Math.fround(e),e=>u(`f32(${_nullishCoalesce(_optionalChain([e, 'optionalAccess', _78 => _78.value]), () => (""))})`,p),"f32Cast"),p= exports.pa =Object.assign(Ke,{type:"f32"}),ze=new ArrayBuffer(4),He=new Float32Array(ze),Xe=new Uint32Array(ze);function Ze(e){He[0]=e;let t=Xe[0],n=t>>>31&1,s=t>>>23&255,i=t&8388607;return s===255?n<<15|31744|(i?512:0):(s=s-127+15,s<=0?s<-10?n<<15:(i=(i|8388608)>>1-s,i=i+4096>>13,n<<15|i):s>=31||(i=i+4096,i&8388608&&(i=0,++s,s>=31))?n<<15|31744:n<<15|s<<10|i>>13)}function Je(e){let t=e&32768?-1:1,n=e>>10&31,s=e&1023;return n===0?s?t*s*2**-24:t*0:n===31?s?Number.NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+s/1024)*2**(n-15)}function qe(e){return Je(Ze(e))}var Qe=o(e=>e===void 0?0:typeof e=="boolean"?e?1:0:qe(e),e=>u(`f16(${_nullishCoalesce(_optionalChain([e, 'optionalAccess', _79 => _79.value]), () => (""))})`,m),"f16Cast"),m= exports.qa =Object.assign(Qe,{type:"f16"});var R= (_class =class extends Array{constructor(...args) { super(...args); _class.prototype.__init.call(this); }__init() {this[r]=!0}"~resolve"(){return`${this.kind}(${this.join(", ")})`}toString(){return this["~resolve"]()}get xx(){return new this._Vec2(this[0],this[0])}get xy(){return new this._Vec2(this[0],this[1])}get xz(){return new this._Vec2(this[0],this[2])}get xw(){return new this._Vec2(this[0],this[3])}get yx(){return new this._Vec2(this[1],this[0])}get yy(){return new this._Vec2(this[1],this[1])}get yz(){return new this._Vec2(this[1],this[2])}get yw(){return new this._Vec2(this[1],this[3])}get zx(){return new this._Vec2(this[2],this[0])}get zy(){return new this._Vec2(this[2],this[1])}get zz(){return new this._Vec2(this[2],this[2])}get zw(){return new this._Vec2(this[2],this[3])}get wx(){return new this._Vec2(this[3],this[0])}get wy(){return new this._Vec2(this[3],this[1])}get wz(){return new this._Vec2(this[3],this[2])}get ww(){return new this._Vec2(this[3],this[3])}get xxx(){return new this._Vec3(this[0],this[0],this[0])}get xxy(){return new this._Vec3(this[0],this[0],this[1])}get xxz(){return new this._Vec3(this[0],this[0],this[2])}get xxw(){return new this._Vec3(this[0],this[0],this[3])}get xyx(){return new this._Vec3(this[0],this[1],this[0])}get xyy(){return new this._Vec3(this[0],this[1],this[1])}get xyz(){return new this._Vec3(this[0],this[1],this[2])}get xyw(){return new this._Vec3(this[0],this[1],this[3])}get xzx(){return new this._Vec3(this[0],this[2],this[0])}get xzy(){return new this._Vec3(this[0],this[2],this[1])}get xzz(){return new this._Vec3(this[0],this[2],this[2])}get xzw(){return new this._Vec3(this[0],this[2],this[3])}get xwx(){return new this._Vec3(this[0],this[3],this[0])}get xwy(){return new this._Vec3(this[0],this[3],this[1])}get xwz(){return new this._Vec3(this[0],this[3],this[2])}get xww(){return new this._Vec3(this[0],this[3],this[3])}get yxx(){return new this._Vec3(this[1],this[0],this[0])}get yxy(){return new this._Vec3(this[1],this[0],this[1])}get yxz(){return new this._Vec3(this[1],this[0],this[2])}get yxw(){return new this._Vec3(this[1],this[0],this[3])}get yyx(){return new this._Vec3(this[1],this[1],this[0])}get yyy(){return new this._Vec3(this[1],this[1],this[1])}get yyz(){return new this._Vec3(this[1],this[1],this[2])}get yyw(){return new this._Vec3(this[1],this[1],this[3])}get yzx(){return new this._Vec3(this[1],this[2],this[0])}get yzy(){return new this._Vec3(this[1],this[2],this[1])}get yzz(){return new this._Vec3(this[1],this[2],this[2])}get yzw(){return new this._Vec3(this[1],this[2],this[3])}get ywx(){return new this._Vec3(this[1],this[3],this[0])}get ywy(){return new this._Vec3(this[1],this[3],this[1])}get ywz(){return new this._Vec3(this[1],this[3],this[2])}get yww(){return new this._Vec3(this[1],this[3],this[3])}get zxx(){return new this._Vec3(this[2],this[0],this[0])}get zxy(){return new this._Vec3(this[2],this[0],this[1])}get zxz(){return new this._Vec3(this[2],this[0],this[2])}get zxw(){return new this._Vec3(this[2],this[0],this[3])}get zyx(){return new this._Vec3(this[2],this[1],this[0])}get zyy(){return new this._Vec3(this[2],this[1],this[1])}get zyz(){return new this._Vec3(this[2],this[1],this[2])}get zyw(){return new this._Vec3(this[2],this[1],this[3])}get zzx(){return new this._Vec3(this[2],this[2],this[0])}get zzy(){return new this._Vec3(this[2],this[2],this[1])}get zzz(){return new this._Vec3(this[2],this[2],this[2])}get zzw(){return new this._Vec3(this[2],this[2],this[3])}get zwx(){return new this._Vec3(this[2],this[3],this[0])}get zwy(){return new this._Vec3(this[2],this[3],this[1])}get zwz(){return new this._Vec3(this[2],this[3],this[2])}get zww(){return new this._Vec3(this[2],this[3],this[3])}get wxx(){return new this._Vec3(this[3],this[0],this[0])}get wxy(){return new this._Vec3(this[3],this[0],this[1])}get wxz(){return new this._Vec3(this[3],this[0],this[2])}get wxw(){return new this._Vec3(this[3],this[0],this[3])}get wyx(){return new this._Vec3(this[3],this[1],this[0])}get wyy(){return new this._Vec3(this[3],this[1],this[1])}get wyz(){return new this._Vec3(this[3],this[1],this[2])}get wyw(){return new this._Vec3(this[3],this[1],this[3])}get wzx(){return new this._Vec3(this[3],this[2],this[0])}get wzy(){return new this._Vec3(this[3],this[2],this[1])}get wzz(){return new this._Vec3(this[3],this[2],this[2])}get wzw(){return new this._Vec3(this[3],this[2],this[3])}get wwx(){return new this._Vec3(this[3],this[3],this[0])}get wwy(){return new this._Vec3(this[3],this[3],this[1])}get wwz(){return new this._Vec3(this[3],this[3],this[2])}get www(){return new this._Vec3(this[3],this[3],this[3])}get xxxx(){return new this._Vec4(this[0],this[0],this[0],this[0])}get xxxy(){return new this._Vec4(this[0],this[0],this[0],this[1])}get xxxz(){return new this._Vec4(this[0],this[0],this[0],this[2])}get xxxw(){return new this._Vec4(this[0],this[0],this[0],this[3])}get xxyx(){return new this._Vec4(this[0],this[0],this[1],this[0])}get xxyy(){return new this._Vec4(this[0],this[0],this[1],this[1])}get xxyz(){return new this._Vec4(this[0],this[0],this[1],this[2])}get xxyw(){return new this._Vec4(this[0],this[0],this[1],this[3])}get xxzx(){return new this._Vec4(this[0],this[0],this[2],this[0])}get xxzy(){return new this._Vec4(this[0],this[0],this[2],this[1])}get xxzz(){return new this._Vec4(this[0],this[0],this[2],this[2])}get xxzw(){return new this._Vec4(this[0],this[0],this[2],this[3])}get xxwx(){return new this._Vec4(this[0],this[0],this[3],this[0])}get xxwy(){return new this._Vec4(this[0],this[0],this[3],this[1])}get xxwz(){return new this._Vec4(this[0],this[0],this[3],this[2])}get xxww(){return new this._Vec4(this[0],this[0],this[3],this[3])}get xyxx(){return new this._Vec4(this[0],this[1],this[0],this[0])}get xyxy(){return new this._Vec4(this[0],this[1],this[0],this[1])}get xyxz(){return new this._Vec4(this[0],this[1],this[0],this[2])}get xyxw(){return new this._Vec4(this[0],this[1],this[0],this[3])}get xyyx(){return new this._Vec4(this[0],this[1],this[1],this[0])}get xyyy(){return new this._Vec4(this[0],this[1],this[1],this[1])}get xyyz(){return new this._Vec4(this[0],this[1],this[1],this[2])}get xyyw(){return new this._Vec4(this[0],this[1],this[1],this[3])}get xyzx(){return new this._Vec4(this[0],this[1],this[2],this[0])}get xyzy(){return new this._Vec4(this[0],this[1],this[2],this[1])}get xyzz(){return new this._Vec4(this[0],this[1],this[2],this[2])}get xyzw(){return new this._Vec4(this[0],this[1],this[2],this[3])}get xywx(){return new this._Vec4(this[0],this[1],this[3],this[0])}get xywy(){return new this._Vec4(this[0],this[1],this[3],this[1])}get xywz(){return new this._Vec4(this[0],this[1],this[3],this[2])}get xyww(){return new this._Vec4(this[0],this[1],this[3],this[3])}get xzxx(){return new this._Vec4(this[0],this[2],this[0],this[0])}get xzxy(){return new this._Vec4(this[0],this[2],this[0],this[1])}get xzxz(){return new this._Vec4(this[0],this[2],this[0],this[2])}get xzxw(){return new this._Vec4(this[0],this[2],this[0],this[3])}get xzyx(){return new this._Vec4(this[0],this[2],this[1],this[0])}get xzyy(){return new this._Vec4(this[0],this[2],this[1],this[1])}get xzyz(){return new this._Vec4(this[0],this[2],this[1],this[2])}get xzyw(){return new this._Vec4(this[0],this[2],this[1],this[3])}get xzzx(){return new this._Vec4(this[0],this[2],this[2],this[0])}get xzzy(){return new this._Vec4(this[0],this[2],this[2],this[1])}get xzzz(){return new this._Vec4(this[0],this[2],this[2],this[2])}get xzzw(){return new this._Vec4(this[0],this[2],this[2],this[3])}get xzwx(){return new this._Vec4(this[0],this[2],this[3],this[0])}get xzwy(){return new this._Vec4(this[0],this[2],this[3],this[1])}get xzwz(){return new this._Vec4(this[0],this[2],this[3],this[2])}get xzww(){return new this._Vec4(this[0],this[2],this[3],this[3])}get xwxx(){return new this._Vec4(this[0],this[3],this[0],this[0])}get xwxy(){return new this._Vec4(this[0],this[3],this[0],this[1])}get xwxz(){return new this._Vec4(this[0],this[3],this[0],this[2])}get xwxw(){return new this._Vec4(this[0],this[3],this[0],this[3])}get xwyx(){return new this._Vec4(this[0],this[3],this[1],this[0])}get xwyy(){return new this._Vec4(this[0],this[3],this[1],this[1])}get xwyz(){return new this._Vec4(this[0],this[3],this[1],this[2])}get xwyw(){return new this._Vec4(this[0],this[3],this[1],this[3])}get xwzx(){return new this._Vec4(this[0],this[3],this[2],this[0])}get xwzy(){return new this._Vec4(this[0],this[3],this[2],this[1])}get xwzz(){return new this._Vec4(this[0],this[3],this[2],this[2])}get xwzw(){return new this._Vec4(this[0],this[3],this[2],this[3])}get xwwx(){return new this._Vec4(this[0],this[3],this[3],this[0])}get xwwy(){return new this._Vec4(this[0],this[3],this[3],this[1])}get xwwz(){return new this._Vec4(this[0],this[3],this[3],this[2])}get xwww(){return new this._Vec4(this[0],this[3],this[3],this[3])}get yxxx(){return new this._Vec4(this[1],this[0],this[0],this[0])}get yxxy(){return new this._Vec4(this[1],this[0],this[0],this[1])}get yxxz(){return new this._Vec4(this[1],this[0],this[0],this[2])}get yxxw(){return new this._Vec4(this[1],this[0],this[0],this[3])}get yxyx(){return new this._Vec4(this[1],this[0],this[1],this[0])}get yxyy(){return new this._Vec4(this[1],this[0],this[1],this[1])}get yxyz(){return new this._Vec4(this[1],this[0],this[1],this[2])}get yxyw(){return new this._Vec4(this[1],this[0],this[1],this[3])}get yxzx(){return new this._Vec4(this[1],this[0],this[2],this[0])}get yxzy(){return new this._Vec4(this[1],this[0],this[2],this[1])}get yxzz(){return new this._Vec4(this[1],this[0],this[2],this[2])}get yxzw(){return new this._Vec4(this[1],this[0],this[2],this[3])}get yxwx(){return new this._Vec4(this[1],this[0],this[3],this[0])}get yxwy(){return new this._Vec4(this[1],this[0],this[3],this[1])}get yxwz(){return new this._Vec4(this[1],this[0],this[3],this[2])}get yxww(){return new this._Vec4(this[1],this[0],this[3],this[3])}get yyxx(){return new this._Vec4(this[1],this[1],this[0],this[0])}get yyxy(){return new this._Vec4(this[1],this[1],this[0],this[1])}get yyxz(){return new this._Vec4(this[1],this[1],this[0],this[2])}get yyxw(){return new this._Vec4(this[1],this[1],this[0],this[3])}get yyyx(){return new this._Vec4(this[1],this[1],this[1],this[0])}get yyyy(){return new this._Vec4(this[1],this[1],this[1],this[1])}get yyyz(){return new this._Vec4(this[1],this[1],this[1],this[2])}get yyyw(){return new this._Vec4(this[1],this[1],this[1],this[3])}get yyzx(){return new this._Vec4(this[1],this[1],this[2],this[0])}get yyzy(){return new this._Vec4(this[1],this[1],this[2],this[1])}get yyzz(){return new this._Vec4(this[1],this[1],this[2],this[2])}get yyzw(){return new this._Vec4(this[1],this[1],this[2],this[3])}get yywx(){return new this._Vec4(this[1],this[1],this[3],this[0])}get yywy(){return new this._Vec4(this[1],this[1],this[3],this[1])}get yywz(){return new this._Vec4(this[1],this[1],this[3],this[2])}get yyww(){return new this._Vec4(this[1],this[1],this[3],this[3])}get yzxx(){return new this._Vec4(this[1],this[2],this[0],this[0])}get yzxy(){return new this._Vec4(this[1],this[2],this[0],this[1])}get yzxz(){return new this._Vec4(this[1],this[2],this[0],this[2])}get yzxw(){return new this._Vec4(this[1],this[2],this[0],this[3])}get yzyx(){return new this._Vec4(this[1],this[2],this[1],this[0])}get yzyy(){return new this._Vec4(this[1],this[2],this[1],this[1])}get yzyz(){return new this._Vec4(this[1],this[2],this[1],this[2])}get yzyw(){return new this._Vec4(this[1],this[2],this[1],this[3])}get yzzx(){return new this._Vec4(this[1],this[2],this[2],this[0])}get yzzy(){return new this._Vec4(this[1],this[2],this[2],this[1])}get yzzz(){return new this._Vec4(this[1],this[2],this[2],this[2])}get yzzw(){return new this._Vec4(this[1],this[2],this[2],this[3])}get yzwx(){return new this._Vec4(this[1],this[2],this[3],this[0])}get yzwy(){return new this._Vec4(this[1],this[2],this[3],this[1])}get yzwz(){return new this._Vec4(this[1],this[2],this[3],this[2])}get yzww(){return new this._Vec4(this[1],this[2],this[3],this[3])}get ywxx(){return new this._Vec4(this[1],this[3],this[0],this[0])}get ywxy(){return new this._Vec4(this[1],this[3],this[0],this[1])}get ywxz(){return new this._Vec4(this[1],this[3],this[0],this[2])}get ywxw(){return new this._Vec4(this[1],this[3],this[0],this[3])}get ywyx(){return new this._Vec4(this[1],this[3],this[1],this[0])}get ywyy(){return new this._Vec4(this[1],this[3],this[1],this[1])}get ywyz(){return new this._Vec4(this[1],this[3],this[1],this[2])}get ywyw(){return new this._Vec4(this[1],this[3],this[1],this[3])}get ywzx(){return new this._Vec4(this[1],this[3],this[2],this[0])}get ywzy(){return new this._Vec4(this[1],this[3],this[2],this[1])}get ywzz(){return new this._Vec4(this[1],this[3],this[2],this[2])}get ywzw(){return new this._Vec4(this[1],this[3],this[2],this[3])}get ywwx(){return new this._Vec4(this[1],this[3],this[3],this[0])}get ywwy(){return new this._Vec4(this[1],this[3],this[3],this[1])}get ywwz(){return new this._Vec4(this[1],this[3],this[3],this[2])}get ywww(){return new this._Vec4(this[1],this[3],this[3],this[3])}get zxxx(){return new this._Vec4(this[2],this[0],this[0],this[0])}get zxxy(){return new this._Vec4(this[2],this[0],this[0],this[1])}get zxxz(){return new this._Vec4(this[2],this[0],this[0],this[2])}get zxxw(){return new this._Vec4(this[2],this[0],this[0],this[3])}get zxyx(){return new this._Vec4(this[2],this[0],this[1],this[0])}get zxyy(){return new this._Vec4(this[2],this[0],this[1],this[1])}get zxyz(){return new this._Vec4(this[2],this[0],this[1],this[2])}get zxyw(){return new this._Vec4(this[2],this[0],this[1],this[3])}get zxzx(){return new this._Vec4(this[2],this[0],this[2],this[0])}get zxzy(){return new this._Vec4(this[2],this[0],this[2],this[1])}get zxzz(){return new this._Vec4(this[2],this[0],this[2],this[2])}get zxzw(){return new this._Vec4(this[2],this[0],this[2],this[3])}get zxwx(){return new this._Vec4(this[2],this[0],this[3],this[0])}get zxwy(){return new this._Vec4(this[2],this[0],this[3],this[1])}get zxwz(){return new this._Vec4(this[2],this[0],this[3],this[2])}get zxww(){return new this._Vec4(this[2],this[0],this[3],this[3])}get zyxx(){return new this._Vec4(this[2],this[1],this[0],this[0])}get zyxy(){return new this._Vec4(this[2],this[1],this[0],this[1])}get zyxz(){return new this._Vec4(this[2],this[1],this[0],this[2])}get zyxw(){return new this._Vec4(this[2],this[1],this[0],this[3])}get zyyx(){return new this._Vec4(this[2],this[1],this[1],this[0])}get zyyy(){return new this._Vec4(this[2],this[1],this[1],this[1])}get zyyz(){return new this._Vec4(this[2],this[1],this[1],this[2])}get zyyw(){return new this._Vec4(this[2],this[1],this[1],this[3])}get zyzx(){return new this._Vec4(this[2],this[1],this[2],this[0])}get zyzy(){return new this._Vec4(this[2],this[1],this[2],this[1])}get zyzz(){return new this._Vec4(this[2],this[1],this[2],this[2])}get zyzw(){return new this._Vec4(this[2],this[1],this[2],this[3])}get zywx(){return new this._Vec4(this[2],this[1],this[3],this[0])}get zywy(){return new this._Vec4(this[2],this[1],this[3],this[1])}get zywz(){return new this._Vec4(this[2],this[1],this[3],this[2])}get zyww(){return new this._Vec4(this[2],this[1],this[3],this[3])}get zzxx(){return new this._Vec4(this[2],this[2],this[0],this[0])}get zzxy(){return new this._Vec4(this[2],this[2],this[0],this[1])}get zzxz(){return new this._Vec4(this[2],this[2],this[0],this[2])}get zzxw(){return new this._Vec4(this[2],this[2],this[0],this[3])}get zzyx(){return new this._Vec4(this[2],this[2],this[1],this[0])}get zzyy(){return new this._Vec4(this[2],this[2],this[1],this[1])}get zzyz(){return new this._Vec4(this[2],this[2],this[1],this[2])}get zzyw(){return new this._Vec4(this[2],this[2],this[1],this[3])}get zzzx(){return new this._Vec4(this[2],this[2],this[2],this[0])}get zzzy(){return new this._Vec4(this[2],this[2],this[2],this[1])}get zzzz(){return new this._Vec4(this[2],this[2],this[2],this[2])}get zzzw(){return new this._Vec4(this[2],this[2],this[2],this[3])}get zzwx(){return new this._Vec4(this[2],this[2],this[3],this[0])}get zzwy(){return new this._Vec4(this[2],this[2],this[3],this[1])}get zzwz(){return new this._Vec4(this[2],this[2],this[3],this[2])}get zzww(){return new this._Vec4(this[2],this[2],this[3],this[3])}get zwxx(){return new this._Vec4(this[2],this[3],this[0],this[0])}get zwxy(){return new this._Vec4(this[2],this[3],this[0],this[1])}get zwxz(){return new this._Vec4(this[2],this[3],this[0],this[2])}get zwxw(){return new this._Vec4(this[2],this[3],this[0],this[3])}get zwyx(){return new this._Vec4(this[2],this[3],this[1],this[0])}get zwyy(){return new this._Vec4(this[2],this[3],this[1],this[1])}get zwyz(){return new this._Vec4(this[2],this[3],this[1],this[2])}get zwyw(){return new this._Vec4(this[2],this[3],this[1],this[3])}get zwzx(){return new this._Vec4(this[2],this[3],this[2],this[0])}get zwzy(){return new this._Vec4(this[2],this[3],this[2],this[1])}get zwzz(){return new this._Vec4(this[2],this[3],this[2],this[2])}get zwzw(){return new this._Vec4(this[2],this[3],this[2],this[3])}get zwwx(){return new this._Vec4(this[2],this[3],this[3],this[0])}get zwwy(){return new this._Vec4(this[2],this[3],this[3],this[1])}get zwwz(){return new this._Vec4(this[2],this[3],this[3],this[2])}get zwww(){return new this._Vec4(this[2],this[3],this[3],this[3])}get wxxx(){return new this._Vec4(this[3],this[0],this[0],this[0])}get wxxy(){return new this._Vec4(this[3],this[0],this[0],this[1])}get wxxz(){return new this._Vec4(this[3],this[0],this[0],this[2])}get wxxw(){return new this._Vec4(this[3],this[0],this[0],this[3])}get wxyx(){return new this._Vec4(this[3],this[0],this[1],this[0])}get wxyy(){return new this._Vec4(this[3],this[0],this[1],this[1])}get wxyz(){return new this._Vec4(this[3],this[0],this[1],this[2])}get wxyw(){return new this._Vec4(this[3],this[0],this[1],this[3])}get wxzx(){return new this._Vec4(this[3],this[0],this[2],this[0])}get wxzy(){return new this._Vec4(this[3],this[0],this[2],this[1])}get wxzz(){return new this._Vec4(this[3],this[0],this[2],this[2])}get wxzw(){return new this._Vec4(this[3],this[0],this[2],this[3])}get wxwx(){return new this._Vec4(this[3],this[0],this[3],this[0])}get wxwy(){return new this._Vec4(this[3],this[0],this[3],this[1])}get wxwz(){return new this._Vec4(this[3],this[0],this[3],this[2])}get wxww(){return new this._Vec4(this[3],this[0],this[3],this[3])}get wyxx(){return new this._Vec4(this[3],this[1],this[0],this[0])}get wyxy(){return new this._Vec4(this[3],this[1],this[0],this[1])}get wyxz(){return new this._Vec4(this[3],this[1],this[0],this[2])}get wyxw(){return new this._Vec4(this[3],this[1],this[0],this[3])}get wyyx(){return new this._Vec4(this[3],this[1],this[1],this[0])}get wyyy(){return new this._Vec4(this[3],this[1],this[1],this[1])}get wyyz(){return new this._Vec4(this[3],this[1],this[1],this[2])}get wyyw(){return new this._Vec4(this[3],this[1],this[1],this[3])}get wyzx(){return new this._Vec4(this[3],this[1],this[2],this[0])}get wyzy(){return new this._Vec4(this[3],this[1],this[2],this[1])}get wyzz(){return new this._Vec4(this[3],this[1],this[2],this[2])}get wyzw(){return new this._Vec4(this[3],this[1],this[2],this[3])}get wywx(){return new this._Vec4(this[3],this[1],this[3],this[0])}get wywy(){return new this._Vec4(this[3],this[1],this[3],this[1])}get wywz(){return new this._Vec4(this[3],this[1],this[3],this[2])}get wyww(){return new this._Vec4(this[3],this[1],this[3],this[3])}get wzxx(){return new this._Vec4(this[3],this[2],this[0],this[0])}get wzxy(){return new this._Vec4(this[3],this[2],this[0],this[1])}get wzxz(){return new this._Vec4(this[3],this[2],this[0],this[2])}get wzxw(){return new this._Vec4(this[3],this[2],this[0],this[3])}get wzyx(){return new this._Vec4(this[3],this[2],this[1],this[0])}get wzyy(){return new this._Vec4(this[3],this[2],this[1],this[1])}get wzyz(){return new this._Vec4(this[3],this[2],this[1],this[2])}get wzyw(){return new this._Vec4(this[3],this[2],this[1],this[3])}get wzzx(){return new this._Vec4(this[3],this[2],this[2],this[0])}get wzzy(){return new this._Vec4(this[3],this[2],this[2],this[1])}get wzzz(){return new this._Vec4(this[3],this[2],this[2],this[2])}get wzzw(){return new this._Vec4(this[3],this[2],this[2],this[3])}get wzwx(){return new this._Vec4(this[3],this[2],this[3],this[0])}get wzwy(){return new this._Vec4(this[3],this[2],this[3],this[1])}get wzwz(){return new this._Vec4(this[3],this[2],this[3],this[2])}get wzww(){return new this._Vec4(this[3],this[2],this[3],this[3])}get wwxx(){return new this._Vec4(this[3],this[3],this[0],this[0])}get wwxy(){return new this._Vec4(this[3],this[3],this[0],this[1])}get wwxz(){return new this._Vec4(this[3],this[3],this[0],this[2])}get wwxw(){return new this._Vec4(this[3],this[3],this[0],this[3])}get wwyx(){return new this._Vec4(this[3],this[3],this[1],this[0])}get wwyy(){return new this._Vec4(this[3],this[3],this[1],this[1])}get wwyz(){return new this._Vec4(this[3],this[3],this[1],this[2])}get wwyw(){return new this._Vec4(this[3],this[3],this[1],this[3])}get wwzx(){return new this._Vec4(this[3],this[3],this[2],this[0])}get wwzy(){return new this._Vec4(this[3],this[3],this[2],this[1])}get wwzz(){return new this._Vec4(this[3],this[3],this[2],this[2])}get wwzw(){return new this._Vec4(this[3],this[3],this[2],this[3])}get wwwx(){return new this._Vec4(this[3],this[3],this[3],this[0])}get wwwy(){return new this._Vec4(this[3],this[3],this[3],this[1])}get wwwz(){return new this._Vec4(this[3],this[3],this[3],this[2])}get wwww(){return new this._Vec4(this[3],this[3],this[3],this[3])}}, _class),g=class extends R{constructor(t,n){super(2),this.e0=this.getElementSchema()(t),this.e1=this.getElementSchema()(_nullishCoalesce(n, () => (t)))}get 0(){return this.e0}get 1(){return this.e1}set 0(t){this.e0=this.getElementSchema()(t)}set 1(t){this.e1=this.getElementSchema()(t)}get x(){return this[0]}get y(){return this[1]}set x(t){this[0]=this.getElementSchema()(t)}set y(t){this[1]=this.getElementSchema()(t)}},T=class extends R{constructor(t,n,s){super(3),this.e0=this.getElementSchema()(t),this.e1=this.getElementSchema()(_nullishCoalesce(n, () => (t))),this.e2=this.getElementSchema()(_nullishCoalesce(s, () => (t)))}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(t){this.e0=this.getElementSchema()(t)}set 1(t){this.e1=this.getElementSchema()(t)}set 2(t){this.e2=this.getElementSchema()(t)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=this.getElementSchema()(t)}set y(t){this[1]=this.getElementSchema()(t)}set z(t){this[2]=this.getElementSchema()(t)}},b=class extends R{constructor(t,n,s,i){super(4),this.e0=this.getElementSchema()(t),this.e1=this.getElementSchema()(_nullishCoalesce(n, () => (t))),this.e2=this.getElementSchema()(_nullishCoalesce(s, () => (t))),this.e3=this.getElementSchema()(_nullishCoalesce(i, () => (t)))}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}get 3(){return this.e3}set 0(t){this.e0=this.getElementSchema()(t)}set 1(t){this.e1=this.getElementSchema()(t)}set 2(t){this.e2=this.getElementSchema()(t)}set 3(t){this.e3=this.getElementSchema()(t)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set w(t){this[3]=t}},z=class e extends g{getElementSchema(){return p}get kind(){return"vec2f"}get _Vec2(){return e}get _Vec3(){return I}get _Vec4(){return P}},V=class e extends g{getElementSchema(){return m}get kind(){return"vec2h"}get _Vec2(){return e}get _Vec3(){return $}get _Vec4(){return C}},v=class e extends g{getElementSchema(){return w}get kind(){return"vec2i"}get _Vec2(){return e}get _Vec3(){return S}get _Vec4(){return F}},_=class e extends g{getElementSchema(){return d}get kind(){return"vec2u"}get _Vec2(){return e}get _Vec3(){return k}get _Vec4(){return E}},A=class e extends g{getElementSchema(){return x}get kind(){return"vec2<bool>"}get _Vec2(){return e}get _Vec3(){return D}get _Vec4(){return M}},I=class e extends T{getElementSchema(){return p}get kind(){return"vec3f"}get _Vec2(){return z}get _Vec3(){return e}get _Vec4(){return P}},$=class e extends T{getElementSchema(){return m}get kind(){return"vec3h"}get _Vec2(){return V}get _Vec3(){return e}get _Vec4(){return C}},S=class e extends T{getElementSchema(){return w}get kind(){return"vec3i"}get _Vec2(){return v}get _Vec3(){return e}get _Vec4(){return F}},k=class e extends T{getElementSchema(){return d}get kind(){return"vec3u"}get _Vec2(){return _}get _Vec3(){return e}get _Vec4(){return E}},D=class e extends T{getElementSchema(){return x}get kind(){return"vec3<bool>"}get _Vec2(){return A}get _Vec3(){return e}get _Vec4(){return M}},P=class e extends b{getElementSchema(){return p}get kind(){return"vec4f"}get _Vec2(){return z}get _Vec3(){return I}get _Vec4(){return e}},C=class e extends b{getElementSchema(){return m}get kind(){return"vec4h"}get _Vec2(){return V}get _Vec3(){return $}get _Vec4(){return e}},F=class e extends b{getElementSchema(){return w}get kind(){return"vec4i"}get _Vec2(){return v}get _Vec3(){return S}get _Vec4(){return e}},E=class e extends b{getElementSchema(){return d}get kind(){return"vec4u"}get _Vec2(){return _}get _Vec3(){return k}get _Vec4(){return e}},M=class e extends b{getElementSchema(){return x}get kind(){return"vec4<bool>"}get _Vec2(){return A}get _Vec3(){return D}get _Vec4(){return e}};var H=h(z),et= exports.sa =h(V),tt= exports.ta =h(v),nt= exports.ua =h(_),rt= exports.va =h(A),X= exports.wa =h(I),st= exports.xa =h($),it= exports.ya =h(S),at= exports.za =h(k),ot= exports.Aa =h(D),Z= exports.Ba =h(P),ht= exports.Ca =h(C),ut= exports.Da =h(F),yt= exports.Ea =h(E),ct= exports.Fa =h(M),lt={vec2f:H,vec2h:et,vec2i:tt,vec2u:nt,"vec2<bool>":rt,vec3f:X,vec3h:st,vec3i:it,vec3u:at,"vec3<bool>":ot,vec4f:Z,vec4h:ht,vec4i:ut,vec4u:yt,"vec4<bool>":ct},xt= exports.Ga ={vec2f:p,vec2h:m,vec2i:w,vec2u:d,"vec2<bool>":x,vec3f:p,vec3h:m,vec3i:w,vec3u:d,"vec3<bool>":x,vec4f:p,vec4h:m,vec4i:w,vec4u:d,"vec4<bool>":x};function h(e){let{kind:t,length:n}=new e,s=o((...i)=>{let a=new Array(i.length),y=0;for(let N of i)if(typeof N=="number"||typeof N=="boolean")a[y++]=N;else for(let O=0;O<N.length;++O)a[y++]=N[O];if(a.length<=1||a.length===n)return new e(...a);throw new Error(`'${t}' constructor called with invalid number of arguments.`)},(...i)=>u(`${t}(${i.map(a=>a.value).join(", ")})`,lt[t]),t,(...i)=>i.map(a=>{let y=a.dataType;return Te(y)&&(y=y.inner),de(y)?y:xt[t]}));return Object.assign(s,{type:t,[ie]:void 0})}function re(e){let t={[r]:!0,type:e.type,identity:mt[e.columns],translation:e.columns===4?gt:void 0,scaling:e.columns===4?Tt:void 0,rotationX:e.columns===4?bt:void 0,rotationY:e.columns===4?ft:void 0,rotationZ:e.columns===4?zt:void 0},n=o((...s)=>{let i=[];for(let a of s)if(typeof a=="number")i.push(a);else for(let y=0;y<a.length;++y)i.push(a[y]);if(i.length!==0&&i.length!==e.columns*e.rows)throw new Error(`'${e.type}' constructor called with invalid number of arguments.`);for(let a=i.length;a<e.columns*e.rows;++a)i.push(0);return e.makeFromElements(...i)},(...s)=>u(`${t.type}(${s.map(i=>i.value).join(", ")})`,t),t.type);return Object.assign(n,t)}var J= (_class2 =class{__init2() {this[r]=!0}__init3() {this.length=4}constructor(...t){;_class2.prototype.__init2.call(this);_class2.prototype.__init3.call(this);this.columns=[this.makeColumn(t[0],t[1]),this.makeColumn(t[2],t[3])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[1].x}get 3(){return this.columns[1].y}set 0(t){this.columns[0].x=t}set 1(t){this.columns[0].y=t}set 2(t){this.columns[1].x=t}set 3(t){this.columns[1].y=t}*[Symbol.iterator](){yield this[0],yield this[1],yield this[2],yield this[3]}"~resolve"(){return`${this.kind}(${Array.from({length:this.length}).map((t,n)=>this[n]).join(", ")})`}}, _class2),q= (_class3 =class extends J{constructor(...args2) { super(...args2); _class3.prototype.__init4.call(this); }__init4() {this.kind="mat2x2f"}makeColumn(t,n){return H(t,n)}}, _class3),Q= (_class4 =class{__init5() {this[r]=!0}__init6() {this.length=12}constructor(...t){;_class4.prototype.__init5.call(this);_class4.prototype.__init6.call(this);this.columns=[this.makeColumn(t[0],t[1],t[2]),this.makeColumn(t[3],t[4],t[5]),this.makeColumn(t[6],t[7],t[8])]}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return 0}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return 0}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return 0}set 0(t){this.columns[0].x=t}set 1(t){this.columns[0].y=t}set 2(t){this.columns[0].z=t}set 3(t){}set 4(t){this.columns[1].x=t}set 5(t){this.columns[1].y=t}set 6(t){this.columns[1].z=t}set 7(t){}set 8(t){this.columns[2].x=t}set 9(t){this.columns[2].y=t}set 10(t){this.columns[2].z=t}set 11(t){}*[Symbol.iterator](){for(let t=0;t<12;t++)yield this[t]}"~resolve"(){return`${this.kind}(${this[0]}, ${this[1]}, ${this[2]}, ${this[4]}, ${this[5]}, ${this[6]}, ${this[8]}, ${this[9]}, ${this[10]})`}}, _class4),ee= (_class5 =class extends Q{constructor(...args3) { super(...args3); _class5.prototype.__init7.call(this); }__init7() {this.kind="mat3x3f"}makeColumn(t,n,s){return X(t,n,s)}}, _class5),te= (_class6 =class{__init8() {this[r]=!0}constructor(...t){;_class6.prototype.__init8.call(this);_class6.prototype.__init9.call(this);this.columns=[this.makeColumn(t[0],t[1],t[2],t[3]),this.makeColumn(t[4],t[5],t[6],t[7]),this.makeColumn(t[8],t[9],t[10],t[11]),this.makeColumn(t[12],t[13],t[14],t[15])]}__init9() {this.length=16}get 0(){return this.columns[0].x}get 1(){return this.columns[0].y}get 2(){return this.columns[0].z}get 3(){return this.columns[0].w}get 4(){return this.columns[1].x}get 5(){return this.columns[1].y}get 6(){return this.columns[1].z}get 7(){return this.columns[1].w}get 8(){return this.columns[2].x}get 9(){return this.columns[2].y}get 10(){return this.columns[2].z}get 11(){return this.columns[2].w}get 12(){return this.columns[3].x}get 13(){return this.columns[3].y}get 14(){return this.columns[3].z}get 15(){return this.columns[3].w}set 0(t){this.columns[0].x=t}set 1(t){this.columns[0].y=t}set 2(t){this.columns[0].z=t}set 3(t){this.columns[0].w=t}set 4(t){this.columns[1].x=t}set 5(t){this.columns[1].y=t}set 6(t){this.columns[1].z=t}set 7(t){this.columns[1].w=t}set 8(t){this.columns[2].x=t}set 9(t){this.columns[2].y=t}set 10(t){this.columns[2].z=t}set 11(t){this.columns[2].w=t}set 12(t){this.columns[3].x=t}set 13(t){this.columns[3].y=t}set 14(t){this.columns[3].z=t}set 15(t){this.columns[3].w=t}*[Symbol.iterator](){for(let t=0;t<16;t++)yield this[t]}"~resolve"(){return`${this.kind}(${Array.from({length:this.length}).map((t,n)=>this[n]).join(", ")})`}}, _class6),ne= (_class7 =class extends te{constructor(...args4) { super(...args4); _class7.prototype.__init10.call(this); }__init10() {this.kind="mat4x4f"}makeColumn(t,n,s,i){return Z(t,n,s,i)}}, _class7),dt= exports.Ha =o(()=>Ve(1,0,0,1),()=>({value:`mat4x4f(
1.0, 0.0,
0.0, 1.0
)`,dataType:Ve}),"identity2"),wt= exports.Ia =o(()=>ve(1,0,0,0,1,0,0,0,1),()=>({value:`mat4x4f(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0,
)`,dataType:ve}),"identity3"),pt= exports.Ja =o(()=>c(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),()=>({value:`mat4x4f(
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
)`,dataType:c}),"identity4"),mt={2:dt,3:wt,4:pt},gt= exports.Ka =o(e=>c(1,0,0,0,0,1,0,0,0,0,1,0,e.x,e.y,e.z,1),e=>({value:`mat4x4f(
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
${e.value}.x, ${e.value}.y, ${e.value}.z, 1
)`,dataType:c}),"translation4"),Tt= exports.La =o(e=>c(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1),e=>({value:`mat4x4f(
${e.value}.x, 0, 0, 0,
0, ${e.value}.y, 0, 0,
0, 0, ${e.value}.z, 0,
0, 0, 0, 1
)`,dataType:c}),"scaling4"),bt= exports.Ma =o(e=>c(1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1),e=>u(`mat4x4f(
1, 0, 0, 0,
0, cos(${e.value}), sin(${e.value}), 0,
0, -sin(${e.value}), cos(${e.value}), 0,
0, 0, 0, 1
)`,c),"rotationX4"),ft= exports.Na =o(e=>c(Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1),e=>u(`mat4x4f(
cos(${e.value}), 0, -sin(${e.value}), 0,
0, 1, 0, 0,
sin(${e.value}), 0, cos(${e.value}), 0,
0, 0, 0, 1
)`,c),"rotationY4"),zt= exports.Oa =o(e=>c(Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1,0,0,0,0,1),e=>u(`mat4x4f(
cos(${e.value}), sin(${e.value}), 0, 0,
-sin(${e.value}), cos(${e.value}), 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
)`,c),"rotationZ4"),Ve= exports.Pa =re({type:"mat2x2f",rows:2,columns:2,makeFromElements:(...e)=>new q(...e)}),ve= exports.Qa =re({type:"mat3x3f",rows:3,columns:3,makeFromElements:(...e)=>new ee(...e)}),c= exports.Ra =re({type:"mat4x4f",rows:4,columns:4,makeFromElements:(...e)=>new ne(...e)});function Gn(e){return e.kind==="mat3x3f"?[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]]:Array.from({length:e.length}).map((t,n)=>e[n])}function Hn(e){return{[r]:!0,type:"ptr",inner:e,addressSpace:"function",access:"read-write"}}function Xn(e){return{[r]:!0,type:"ptr",inner:e,addressSpace:"private",access:"read-write"}}function Zn(e){return{[r]:!0,type:"ptr",inner:e,addressSpace:"workgroup",access:"read-write"}}function Jn(e,t="read"){return{[r]:!0,type:"ptr",inner:e,addressSpace:"storage",access:t}}function qn(e){return{[r]:!0,type:"ptr",inner:e,addressSpace:"uniform",access:"read"}}function Qn(e){return{[r]:!0,type:"ptr",inner:e,addressSpace:"handle",access:"read"}}exports.a = r; exports.b = se; exports.c = _t; exports.d = G; exports.e = At; exports.f = ie; exports.g = It; exports.h = Ft; exports.i = f; exports.j = oe; exports.k = Ie; exports.l = $e; exports.m = K; exports.n = he; exports.o = ue; exports.p = ye; exports.q = ce; exports.r = le; exports.s = xe; exports.t = je; exports.u = dn; exports.v = wn; exports.w = pn; exports.x = mn; exports.y = fe; exports.z = be; exports.A = qt; exports.B = Rt; exports.C = Wt; exports.D = De; exports.E = Pe; exports.F = Ce; exports.G = de; exports.H = Lt; exports.I = Ee; exports.J = Me; exports.K = jt; exports.L = Ot; exports.M = we; exports.N = Gt; exports.O = Yt; exports.P = Kt; exports.Q = Ht; exports.R = pe; exports.S = me; exports.T = ge; exports.U = Xt; exports.V = Zt; exports.W = Te; exports.X = Jt; exports.Y = Re; exports.Z = nn; exports._ = rn; exports.$ = sn; exports.aa = an; exports.ba = on; exports.ca = hn; exports.da = un; exports.ea = yn; exports.fa = u; exports.ga = cn; exports.ha = zn; exports.ia = o; exports.ja = In; exports.ka = $n; exports.la = x; exports.ma = d; exports.na = Sn; exports.oa = w; exports.pa = p; exports.qa = m; exports.ra = H; exports.sa = et; exports.ta = tt; exports.ua = nt; exports.va = rt; exports.wa = X; exports.xa = st; exports.ya = it; exports.za = at; exports.Aa = ot; exports.Ba = Z; exports.Ca = ht; exports.Da = ut; exports.Ea = yt; exports.Fa = ct; exports.Ga = xt; exports.Ha = dt; exports.Ia = wt; exports.Ja = pt; exports.Ka = gt; exports.La = Tt; exports.Ma = bt; exports.Na = ft; exports.Oa = zt; exports.Pa = Ve; exports.Qa = ve; exports.Ra = c; exports.Sa = Gn; exports.Ta = Hn; exports.Ua = Xn; exports.Va = Zn; exports.Wa = Jn; exports.Xa = qn; exports.Ya = Qn;
//# sourceMappingURL=chunk-UMHCZDPA.cjs.map