typegpu 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/chunk-2UXPGML5.js +7 -0
  2. package/chunk-2UXPGML5.js.map +1 -0
  3. package/chunk-3246CM7C.cjs +2 -0
  4. package/chunk-3246CM7C.cjs.map +1 -0
  5. package/{chunk-XEUNEHAZ.js → chunk-4W5Z7BO4.js} +6 -6
  6. package/chunk-4W5Z7BO4.js.map +1 -0
  7. package/{chunk-TRAG63HY.cjs → chunk-5Y6GTBWR.cjs} +3 -3
  8. package/{chunk-TRAG63HY.cjs.map → chunk-5Y6GTBWR.cjs.map} +1 -1
  9. package/{chunk-6WF2EZIT.js → chunk-7S3IK3D4.js} +2 -2
  10. package/{chunk-B254XDWG.js → chunk-7XFSK632.js} +2 -2
  11. package/{chunk-M2P3FJT7.cjs → chunk-PRMFGUQT.cjs} +2 -2
  12. package/{chunk-M2P3FJT7.cjs.map → chunk-PRMFGUQT.cjs.map} +1 -1
  13. package/{chunk-A5APHF7K.cjs → chunk-TRE7NUKE.cjs} +6 -6
  14. package/chunk-TRE7NUKE.cjs.map +1 -0
  15. package/chunk-VOVQAOVG.js +2 -0
  16. package/chunk-VOVQAOVG.js.map +1 -0
  17. package/chunk-ZYGTVBDH.cjs +7 -0
  18. package/chunk-ZYGTVBDH.cjs.map +1 -0
  19. package/common/index.cjs +1 -1
  20. package/common/index.d.cts +1 -1
  21. package/common/index.d.ts +1 -1
  22. package/common/index.js +1 -1
  23. package/data/index.cjs +1 -1
  24. package/data/index.d.cts +3 -3
  25. package/data/index.d.ts +3 -3
  26. package/data/index.js +1 -1
  27. package/index.cjs +51 -51
  28. package/index.cjs.map +1 -1
  29. package/index.d.cts +2 -2
  30. package/index.d.ts +2 -2
  31. package/index.js +40 -40
  32. package/index.js.map +1 -1
  33. package/{matrix-Cn2jQILV.d.cts → matrix-DHFT4O8f.d.cts} +1 -1
  34. package/{matrix-C6mMH7pB.d.ts → matrix-DLipCOZF.d.ts} +1 -1
  35. package/package.json +1 -1
  36. package/std/index.cjs +1 -1
  37. package/std/index.cjs.map +1 -1
  38. package/std/index.d.cts +2 -2
  39. package/std/index.d.ts +2 -2
  40. package/std/index.js +1 -1
  41. package/std/index.js.map +1 -1
  42. package/{tgpuConstant-DzGgwe0I.d.cts → tgpuConstant-BU72w5qs.d.cts} +4 -8
  43. package/{tgpuConstant-DzGgwe0I.d.ts → tgpuConstant-BU72w5qs.d.ts} +4 -8
  44. package/chunk-A5APHF7K.cjs.map +0 -1
  45. package/chunk-LL6NPRFE.cjs +0 -7
  46. package/chunk-LL6NPRFE.cjs.map +0 -1
  47. package/chunk-PO6SIMTQ.js +0 -2
  48. package/chunk-PO6SIMTQ.js.map +0 -1
  49. package/chunk-T2GBOTUH.js +0 -7
  50. package/chunk-T2GBOTUH.js.map +0 -1
  51. package/chunk-U3CXOCRG.cjs +0 -2
  52. package/chunk-U3CXOCRG.cjs.map +0 -1
  53. package/chunk-XEUNEHAZ.js.map +0 -1
  54. /package/{chunk-6WF2EZIT.js.map → chunk-7S3IK3D4.js.map} +0 -0
  55. /package/{chunk-B254XDWG.js.map → chunk-7XFSK632.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkZYGTVBDHcjs = require('./chunk-ZYGTVBDH.cjs');var _chunkTRE7NUKEcjs = require('./chunk-TRE7NUKE.cjs');var ae=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"bitcastU32toF32",normalImpl:(e=>typeof e=="number"?_chunkZYGTVBDHcjs.U.call(void 0, e):_chunkZYGTVBDHcjs.W.bitcastU32toF32[e.kind](e)),codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`bitcast<f32>(${e})`,signature:(...e)=>{let t=_nullishCoalesce(_chunkTRE7NUKEcjs.Ha.call(void 0, e,[_chunkTRE7NUKEcjs.Ra]), () => (e));return{argTypes:t,returnType:_chunkTRE7NUKEcjs.v.call(void 0, t[0])?t[0].type==="vec2u"?_chunkTRE7NUKEcjs.Xa:t[0].type==="vec3u"?_chunkTRE7NUKEcjs.ab:_chunkTRE7NUKEcjs.fb:_chunkTRE7NUKEcjs.Ua}}}),ne= exports.d =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"bitcastU32toI32",normalImpl:(e=>typeof e=="number"?_chunkZYGTVBDHcjs.V.call(void 0, e):_chunkZYGTVBDHcjs.W.bitcastU32toI32[e.kind](e)),codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`bitcast<i32>(${e})`,signature:(...e)=>{let t=_nullishCoalesce(_chunkTRE7NUKEcjs.Ha.call(void 0, e,[_chunkTRE7NUKEcjs.Ra]), () => (e));return{argTypes:t,returnType:_chunkTRE7NUKEcjs.v.call(void 0, t[0])?t[0].type==="vec2u"?_chunkTRE7NUKEcjs.Za:t[0].type==="vec3u"?_chunkTRE7NUKEcjs.cb:_chunkTRE7NUKEcjs.hb:_chunkTRE7NUKEcjs.Ta}}});var _typedbinary = require('typed-binary'); var m = _interopRequireWildcard(_typedbinary);var ie=_chunkTRE7NUKEcjs.La.call(void 0, e=>{let t=new ArrayBuffer(4);new m.BufferWriter(t).writeUint32(e);let l=new m.BufferReader(t);return _chunkTRE7NUKEcjs.Xa.call(void 0, l.readFloat16(),l.readFloat16())},e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`unpack2x16float(${e})`,_chunkTRE7NUKEcjs.Xa),"unpack2x16float"),pe= exports.f =_chunkTRE7NUKEcjs.La.call(void 0, e=>{let t=new ArrayBuffer(4),s=new m.BufferWriter(t);s.writeFloat16(e.x),s.writeFloat16(e.y);let l=new m.BufferReader(t);return _chunkTRE7NUKEcjs.Ra.call(void 0, l.readUint32())},e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`pack2x16float(${e})`,_chunkTRE7NUKEcjs.Ra),"pack2x16float"),fe= exports.g =_chunkTRE7NUKEcjs.La.call(void 0, e=>{let t=new ArrayBuffer(4);new m.BufferWriter(t).writeUint32(e);let l=new m.BufferReader(t);return _chunkTRE7NUKEcjs.fb.call(void 0, l.readUint8()/255,l.readUint8()/255,l.readUint8()/255,l.readUint8()/255)},e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`unpack4x8unorm(${e})`,_chunkTRE7NUKEcjs.fb),"unpack4x8unorm"),ue= exports.h =_chunkTRE7NUKEcjs.La.call(void 0, e=>{let t=new ArrayBuffer(4),s=new m.BufferWriter(t);s.writeUint8(e.x*255),s.writeUint8(e.y*255),s.writeUint8(e.z*255),s.writeUint8(e.w*255);let l=new m.BufferReader(t);return _chunkTRE7NUKEcjs.Ra.call(void 0, l.readUint32())},e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`pack4x8unorm(${e})`,_chunkTRE7NUKEcjs.Ra),"pack4x8unorm");function T(e){return e.type.includes("2")?_chunkTRE7NUKEcjs.$a:e.type.includes("3")?_chunkTRE7NUKEcjs.eb:_chunkTRE7NUKEcjs.jb}var Ae=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"allEq",signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.Qa}),normalImpl:(e,t)=>$(A(e,t)),codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`all(${e} == ${t})`}),A=(e,t)=>_chunkZYGTVBDHcjs.W.eq[e.kind](e,t),Se= exports.l =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"eq",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:A,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} == ${t})`}),Me= exports.m =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"ne",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:(e,t)=>d(A(e,t)),codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} != ${t})`}),M=(e,t)=>_chunkZYGTVBDHcjs.W.lt[e.kind](e,t),ze= exports.n =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"lt",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:M,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} < ${t})`}),we= exports.o =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"le",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:(e,t)=>I(M(e,t),A(e,t)),codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} <= ${t})`}),Ie= exports.p =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"gt",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:(e,t)=>O(d(M(e,t)),d(A(e,t))),codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} > ${t})`}),$e= exports.q =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"ge",signature:(...e)=>({argTypes:e,returnType:T(e[0])}),normalImpl:(e,t)=>d(M(e,t)),codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} >= ${t})`}),d=e=>_chunkZYGTVBDHcjs.W.neg[e.kind](e),Ve= exports.r =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"not",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:d,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`!(${e})`}),I=(e,t)=>_chunkZYGTVBDHcjs.W.or[e.kind](e,t),Fe= exports.s =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"or",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:I,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} | ${t})`}),O=(e,t)=>d(I(d(e),d(t))),Ue= exports.t =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"and",signature:(...e)=>({argTypes:e,returnType:e[0]}),normalImpl:O,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`(${e} & ${t})`}),$=e=>_chunkZYGTVBDHcjs.W.all[e.kind](e),ke= exports.u =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"all",signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.Qa}),normalImpl:$,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`all(${e})`}),Ne= exports.v =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"any",signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.Qa}),normalImpl:e=>!$(d(e)),codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`any(${e})`}),De= exports.w =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"isCloseTo",signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.Qa}),normalImpl:(e,t,s=.01)=>typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<s:_chunkTRE7NUKEcjs.r.call(void 0, e)&&_chunkTRE7NUKEcjs.r.call(void 0, t)?_chunkZYGTVBDHcjs.W.isCloseToZero[e.kind](_chunkZYGTVBDHcjs.Y[_chunkTRE7NUKEcjs.a].jsImpl(e,t),s):!1,codegenImpl:(e,t,s=_chunkTRE7NUKEcjs.aa.call(void 0, .01,_chunkTRE7NUKEcjs.Ua))=>_chunkTRE7NUKEcjs.$.call(void 0, e)&&_chunkTRE7NUKEcjs.$.call(void 0, t)?_chunkTRE7NUKEcjs.Ea`(abs(f32(${e}) - f32(${t})) <= ${s})`:!_chunkTRE7NUKEcjs.$.call(void 0, e)&&!_chunkTRE7NUKEcjs.$.call(void 0, t)?_chunkTRE7NUKEcjs.Ea`all(abs(${e} - ${t}) <= (${e} - ${e}) + ${s})`:"false"});function j(e,t,s){return typeof s=="boolean"?s?t:e:_chunkZYGTVBDHcjs.W.select[e.kind](e,t,s)}var Ee=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"select",signature:(e,t,s)=>{let[l,b]=_nullishCoalesce(_chunkTRE7NUKEcjs.Ha.call(void 0, [e,t]), () => ([e,t]));return{argTypes:[l,b,s],returnType:l}},normalImpl:j,codegenImpl:(e,t,s)=>_chunkTRE7NUKEcjs.Ea`select(${e}, ${t}, ${s})`});var L={r8unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:1,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only","read-write"]},r8snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:1,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only"]},r8uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:1,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},r8sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:1,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rg8unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only"]},rg8snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only"]},rg8uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:2,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rg8sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:2,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rgba8unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only","read-write"]},"rgba8unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:null},rgba8snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rgba8uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:4,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba8sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:4,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},bgra8unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only"]},"bgra8unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:null},r16unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},r16snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},r16uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:2,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},r16sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:2,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},r16float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only","read-write"]},rg16unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rg16snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rg16uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:4,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rg16sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:4,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rg16float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only"]},rgba16unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rgba16snorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rgba16uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:8,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba16sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:8,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba16float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only","read-write"]},r32uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:4,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},r32sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:4,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},r32float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rg32uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:8,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only"]},rg32sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:8,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only"]},rg32float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba32uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:16,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba32sint:{channelType:_chunkTRE7NUKEcjs.Ta,vectorType:_chunkTRE7NUKEcjs.hb,texelSize:16,sampleTypes:["sint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgba32float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!1,canResolve:!1,storageBindings:["write-only","read-only","read-write"]},rgb10a2uint:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:4,sampleTypes:["uint"],aspects:["color"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:["write-only","read-only"]},rgb10a2unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only"]},rg11b10ufloat:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!0,canBlend:!0,canMultisample:!0,canResolve:!0,storageBindings:["write-only","read-only"]},rgb9e5ufloat:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},stencil8:{channelType:_chunkTRE7NUKEcjs.Ra,vectorType:_chunkTRE7NUKEcjs.ib,texelSize:1,sampleTypes:["uint"],aspects:["stencil"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},depth16unorm:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:2,sampleTypes:["depth","unfilterable-float"],aspects:["depth"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},depth24plus:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["depth","unfilterable-float"],aspects:["depth"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},"depth24plus-stencil8":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["depth","unfilterable-float"],aspects:["depth","stencil"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},depth32float:{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["depth","unfilterable-float"],aspects:["depth"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},"depth32float-stencil8":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:4,sampleTypes:["depth","unfilterable-float"],aspects:["depth","stencil"],canRenderAttachment:!0,canBlend:!1,canMultisample:!0,canResolve:!1,storageBindings:null},"bc1-rgba-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc1-rgba-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc2-rgba-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc2-rgba-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc3-rgba-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc3-rgba-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc4-r-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc4-r-snorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc5-rg-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc5-rg-snorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc6h-rgb-ufloat":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc6h-rgb-float":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc7-rgba-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"bc7-rgba-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgb8unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgb8unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgb8a1unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgb8a1unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgba8unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"etc2-rgba8unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"eac-r11unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"eac-r11snorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:8,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"eac-rg11unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"eac-rg11snorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-4x4-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-4x4-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-5x4-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-5x4-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-5x5-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-5x5-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-6x5-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-6x5-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-6x6-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-6x6-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x5-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x5-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x6-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x6-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x8-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-8x8-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x5-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x5-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x6-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x6-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x8-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x8-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x10-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-10x10-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-12x10-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-12x10-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-12x12-unorm":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null},"astc-12x12-unorm-srgb":{channelType:_chunkTRE7NUKEcjs.Ua,vectorType:_chunkTRE7NUKEcjs.fb,texelSize:16,sampleTypes:["float","unfilterable-float"],aspects:["color"],canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1,storageBindings:null}};function Oe(e,t){let s=L[e];if(!s)throw new Error(`Unknown texture format: ${e}`);let l={...s};switch(e){case"r32float":case"rg32float":case"rgba32float":t.features.has("float32-filterable")||(l={...l,sampleTypes:s.sampleTypes.filter(b=>b!=="float")}),t.features.has("float32-blendable")||(l={...l,canBlend:!1});break;case"bgra8unorm":t.features.has("bgra8unorm-storage")||(l={...l,storageBindings:null});break;case"rg11b10ufloat":t.features.has("rg11b10ufloat-renderable")||(l={...l,canRenderAttachment:!1,canBlend:!1,canMultisample:!1,canResolve:!1});break}if(l.storageBindings){let b=t.features.has("texture-formats-tier1"),G=t.features.has("texture-formats-tier2"),g=[...l.storageBindings],P=["r8unorm","r8uint","r8sint","r16uint","r16sint","r16float","rgba8unorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rgba32uint","rgba32sint","rgba32float"],C=["r8snorm","rg8unorm","rg8snorm","rg8uint","rg8sint","rgba8snorm","r16unorm","r16snorm","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba16unorm","rgba16snorm","rgb10a2uint","rgb10a2unorm","rg11b10ufloat"];P.includes(e)&&!G&&(g=g.filter(S=>S!=="read-write")),C.includes(e)&&!b&&(g=g.filter(S=>S!=="write-only"&&S!=="read-only")),l={...l,storageBindings:g.length>0?g:null}}return l}var Pe=["f16","clip_distances","dual_source_blending","subgroups","primitive_index"],Ce= exports.j ={f16:"shader-f16",clip_distances:"clip-distances",dual_source_blending:"dual-source-blending",subgroups:"subgroups",primitive_index:"primitive-index"};exports.a = L; exports.b = Oe; exports.c = ae; exports.d = ne; exports.e = ie; exports.f = pe; exports.g = fe; exports.h = ue; exports.i = Pe; exports.j = Ce; exports.k = Ae; exports.l = Se; exports.m = Me; exports.n = ze; exports.o = we; exports.p = Ie; exports.q = $e; exports.r = Ve; exports.s = Fe; exports.t = Ue; exports.u = ke; exports.v = Ne; exports.w = De; exports.x = Ee;
2
+ //# sourceMappingURL=chunk-3246CM7C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/iwo/Projects/wigsill/packages/typegpu/dist/chunk-3246CM7C.cjs","../src/std/bitcast.ts","../src/std/packing.ts","../src/std/boolean.ts","../src/core/texture/textureFormats.ts"],"names":["bitcastU32toF32","dualImpl","value","bitcastU32toF32Impl","VectorOps","n","stitch","arg","uargs","unify","u32","isVec","vec2f","vec3f","vec4f","f32","bitcastU32toI32","bitcastU32toI32Impl","vec2i","vec3i","vec4i","i32","unpack2x16float","createDualImpl","buffer","reader","snip","pack2x16float","writer","unpack4x8unorm","pack4x8unorm","correspondingBooleanVectorSchema","dataType","vec2b","vec3b","vec4b","allEq","argTypes","bool","lhs","rhs","cpuAll","cpuEq","eq","ne","cpuNot","cpuLt","lt","le","cpuOr","gt","cpuAnd","ge","not","or","and","all","any","isCloseTo","args","precision","isVecInstance","sub","$internal","isSnippetNumeric","cpuSelect","f","cond","select","uf","ut","textureFormats","vec4u","getDeviceTextureFormatInfo","format","device","baseInfo"],"mappings":"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","file":"/Users/iwo/Projects/wigsill/packages/typegpu/dist/chunk-3246CM7C.cjs","sourcesContent":[null,"import { dualImpl } from '../core/function/dualImpl.ts';\nimport { stitch } from '../core/resolve/stitch.ts';\nimport { bitcastU32toF32Impl, bitcastU32toI32Impl } from '../data/numberOps.ts';\nimport { f32, i32, u32 } from '../data/numeric.ts';\nimport { isVec } from '../data/wgslTypes.ts';\nimport { vec2f, vec2i, vec3f, vec3i, vec4f, vec4i } from '../data/vector.ts';\nimport { VectorOps } from '../data/vectorOps.ts';\nimport type {\n v2f,\n v2i,\n v2u,\n v3f,\n v3i,\n v3u,\n v4f,\n v4i,\n v4u,\n} from '../data/wgslTypes.ts';\nimport { unify } from '../tgsl/conversion.ts';\n\nexport type BitcastU32toF32Overload =\n & ((value: number) => number)\n & ((value: v2u) => v2f)\n & ((value: v3u) => v3f)\n & ((value: v4u) => v4f);\n\nexport const bitcastU32toF32 = dualImpl({\n name: 'bitcastU32toF32',\n normalImpl: ((value) => {\n if (typeof value === 'number') {\n return bitcastU32toF32Impl(value);\n }\n return VectorOps.bitcastU32toF32[value.kind](value);\n }) as BitcastU32toF32Overload,\n codegenImpl: (n) => stitch`bitcast<f32>(${n})`,\n signature: (...arg) => {\n const uargs = unify(arg, [u32]) ?? arg;\n return {\n argTypes: uargs,\n returnType: isVec(uargs[0])\n ? uargs[0].type === 'vec2u'\n ? vec2f\n : uargs[0].type === 'vec3u'\n ? vec3f\n : vec4f\n : f32,\n };\n },\n});\n\nexport type BitcastU32toI32Overload =\n & ((value: number) => number)\n & ((value: v2u) => v2i)\n & ((value: v3u) => v3i)\n & ((value: v4u) => v4i);\n\nexport const bitcastU32toI32 = dualImpl({\n name: 'bitcastU32toI32',\n normalImpl: ((value) => {\n if (typeof value === 'number') {\n return bitcastU32toI32Impl(value);\n }\n return VectorOps.bitcastU32toI32[value.kind](value);\n }) as BitcastU32toI32Overload,\n codegenImpl: (n) => stitch`bitcast<i32>(${n})`,\n signature: (...arg) => {\n const uargs = unify(arg, [u32]) ?? arg;\n return {\n argTypes: uargs,\n returnType: isVec(uargs[0])\n ? uargs[0].type === 'vec2u'\n ? vec2i\n : uargs[0].type === 'vec3u'\n ? vec3i\n : vec4i\n : i32,\n };\n },\n});\n","import * as TB from 'typed-binary';\nimport { u32 } from '../data/numeric.ts';\nimport { vec2f, vec4f } from '../data/vector.ts';\nimport type { v2f, v4f } from '../data/wgslTypes.ts';\nimport { createDualImpl } from '../core/function/dualImpl.ts';\nimport { stitch } from '../core/resolve/stitch.ts';\nimport { snip } from '../data/snippet.ts';\n\n/**\n * @privateRemarks\n * https://gpuweb.github.io/gpuweb/wgsl/#unpack2x16float-builtin\n */\nexport const unpack2x16float = createDualImpl(\n // CPU implementation\n (e: number): v2f => {\n const buffer = new ArrayBuffer(4);\n const writer = new TB.BufferWriter(buffer);\n writer.writeUint32(e);\n const reader = new TB.BufferReader(buffer);\n return vec2f(reader.readFloat16(), reader.readFloat16());\n },\n // GPU implementation\n (e) => snip(stitch`unpack2x16float(${e})`, vec2f),\n 'unpack2x16float',\n);\n\n/**\n * @privateRemarks\n * https://gpuweb.github.io/gpuweb/wgsl/#pack2x16float-builtin\n */\nexport const pack2x16float = createDualImpl(\n // CPU implementation\n (e: v2f): number => {\n const buffer = new ArrayBuffer(4);\n const writer = new TB.BufferWriter(buffer);\n writer.writeFloat16(e.x);\n writer.writeFloat16(e.y);\n const reader = new TB.BufferReader(buffer);\n return u32(reader.readUint32());\n },\n // GPU implementation\n (e) => snip(stitch`pack2x16float(${e})`, u32),\n 'pack2x16float',\n);\n\n/**\n * @privateRemarks\n * https://gpuweb.github.io/gpuweb/wgsl/#unpack4x8unorm-builtin\n */\nexport const unpack4x8unorm = createDualImpl(\n // CPU implementation\n (e: number): v4f => {\n const buffer = new ArrayBuffer(4);\n const writer = new TB.BufferWriter(buffer);\n writer.writeUint32(e);\n const reader = new TB.BufferReader(buffer);\n return vec4f(\n reader.readUint8() / 255,\n reader.readUint8() / 255,\n reader.readUint8() / 255,\n reader.readUint8() / 255,\n );\n },\n // GPU implementation\n (e) => snip(stitch`unpack4x8unorm(${e})`, vec4f),\n 'unpack4x8unorm',\n);\n\n/**\n * @privateRemarks\n * https://gpuweb.github.io/gpuweb/wgsl/#pack4x8unorm-builtin\n */\nexport const pack4x8unorm = createDualImpl(\n // CPU implementation\n (e: v4f): number => {\n const buffer = new ArrayBuffer(4);\n const writer = new TB.BufferWriter(buffer);\n writer.writeUint8(e.x * 255);\n writer.writeUint8(e.y * 255);\n writer.writeUint8(e.z * 255);\n writer.writeUint8(e.w * 255);\n const reader = new TB.BufferReader(buffer);\n return u32(reader.readUint32());\n },\n // GPU implementation\n (e) => snip(stitch`pack4x8unorm(${e})`, u32),\n 'pack4x8unorm',\n);\n","import { dualImpl } from '../core/function/dualImpl.ts';\nimport { stitch } from '../core/resolve/stitch.ts';\nimport type { AnyData } from '../data/dataTypes.ts';\nimport { bool, f32 } from '../data/numeric.ts';\nimport { isSnippetNumeric, snip } from '../data/snippet.ts';\nimport { vec2b, vec3b, vec4b } from '../data/vector.ts';\nimport { VectorOps } from '../data/vectorOps.ts';\nimport {\n type AnyBooleanVecInstance,\n type AnyFloatVecInstance,\n type AnyNumericVecInstance,\n type AnyVec2Instance,\n type AnyVec3Instance,\n type AnyVecInstance,\n type AnyWgslData,\n isVecInstance,\n type v2b,\n type v3b,\n type v4b,\n} from '../data/wgslTypes.ts';\nimport { $internal } from '../shared/symbols.ts';\nimport { unify } from '../tgsl/conversion.ts';\nimport { sub } from './operators.ts';\n\nfunction correspondingBooleanVectorSchema(dataType: AnyData) {\n if (dataType.type.includes('2')) {\n return vec2b;\n }\n if (dataType.type.includes('3')) {\n return vec3b;\n }\n return vec4b;\n}\n\n// comparison\n\n/**\n * Checks whether `lhs == rhs` on all components.\n * Equivalent to `all(eq(lhs, rhs))`.\n * @example\n * allEq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns false\n * allEq(vec3u(0, 1, 2), vec3u(0, 1, 2)) // returns true\n */\nexport const allEq = dualImpl({\n name: 'allEq',\n signature: (...argTypes) => ({ argTypes, returnType: bool }),\n normalImpl: <T extends AnyVecInstance>(lhs: T, rhs: T) =>\n cpuAll(cpuEq(lhs, rhs)),\n codegenImpl: (lhs, rhs) => stitch`all(${lhs} == ${rhs})`,\n});\n\nconst cpuEq = <T extends AnyVecInstance>(lhs: T, rhs: T) =>\n VectorOps.eq[lhs.kind](lhs, rhs);\n\n/**\n * Checks **component-wise** whether `lhs == rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `all`, or use `allEq`.\n * @example\n * eq(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(true, false)\n * eq(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, false)\n * all(eq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1))) // returns true\n * allEq(vec4i(4, 3, 2, 1), vec4i(4, 3, 2, 1)) // returns true\n */\nexport const eq = dualImpl({\n name: 'eq',\n signature: (...argTypes) => ({\n argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: cpuEq,\n codegenImpl: (lhs, rhs) => stitch`(${lhs} == ${rhs})`,\n});\n\n/**\n * Checks **component-wise** whether `lhs != rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `any`.\n * @example\n * ne(vec2f(0.0, 1.0), vec2f(0.0, 2.0)) // returns vec2b(false, true)\n * ne(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, true)\n * any(ne(vec4i(4, 3, 2, 1), vec4i(4, 2, 2, 1))) // returns true\n */\nexport const ne = dualImpl({\n name: 'ne',\n signature: (...argTypes) => ({\n argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: <T extends AnyVecInstance>(lhs: T, rhs: T) =>\n cpuNot(cpuEq(lhs, rhs)),\n codegenImpl: (lhs, rhs) => stitch`(${lhs} != ${rhs})`,\n});\n\nconst cpuLt = <T extends AnyNumericVecInstance>(lhs: T, rhs: T) =>\n VectorOps.lt[lhs.kind](lhs, rhs);\n\n/**\n * Checks **component-wise** whether `lhs < rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `all`.\n * @example\n * lt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, true)\n * lt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, false, false)\n * all(lt(vec4i(1, 2, 3, 4), vec4i(2, 3, 4, 5))) // returns true\n */\nexport const lt = dualImpl({\n name: 'lt',\n signature: (...argTypes) => ({\n argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: cpuLt,\n codegenImpl: (lhs, rhs) => stitch`(${lhs} < ${rhs})`,\n});\n\n/**\n * Checks **component-wise** whether `lhs <= rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `all`.\n * @example\n * le(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, true)\n * le(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(true, true, false)\n * all(le(vec4i(1, 2, 3, 4), vec4i(2, 3, 3, 5))) // returns true\n */\nexport const le = dualImpl({\n name: 'le',\n signature: (...argTypes) => ({\n argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) =>\n cpuOr(cpuLt(lhs, rhs), cpuEq(lhs, rhs)),\n codegenImpl: (lhs, rhs) => stitch`(${lhs} <= ${rhs})`,\n});\n\n/**\n * Checks **component-wise** whether `lhs > rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `all`.\n * @example\n * gt(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(false, false)\n * gt(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, false, true)\n * all(gt(vec4i(2, 3, 4, 5), vec4i(1, 2, 3, 4))) // returns true\n */\nexport const gt = dualImpl({\n name: 'gt',\n signature: (...argTypes) => ({\n argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) =>\n cpuAnd(cpuNot(cpuLt(lhs, rhs)), cpuNot(cpuEq(lhs, rhs))),\n codegenImpl: (lhs, rhs) => stitch`(${lhs} > ${rhs})`,\n});\n\n/**\n * Checks **component-wise** whether `lhs >= rhs`.\n * This function does **not** return `bool`, for that use-case, wrap the result in `all`.\n * @example\n * ge(vec2f(0.0, 0.0), vec2f(0.0, 1.0)) // returns vec2b(true, false)\n * ge(vec3u(0, 1, 2), vec3u(2, 1, 0)) // returns vec3b(false, true, true)\n * all(ge(vec4i(2, 2, 4, 5), vec4i(1, 2, 3, 4))) // returns true\n */\nexport const ge = dualImpl({\n name: 'ge',\n signature: (...argTypes) => ({\n argTypes: argTypes,\n returnType: correspondingBooleanVectorSchema(argTypes[0]),\n }),\n normalImpl: <T extends AnyNumericVecInstance>(lhs: T, rhs: T) =>\n cpuNot(cpuLt(lhs, rhs)),\n codegenImpl: (lhs, rhs) => stitch`(${lhs} >= ${rhs})`,\n});\n\n// logical ops\n\nconst cpuNot = <T extends AnyBooleanVecInstance>(value: T): T =>\n VectorOps.neg[value.kind](value);\n\n/**\n * Returns **component-wise** `!value`.\n * @example\n * not(vec2b(false, true)) // returns vec2b(true, false)\n * not(vec3b(true, true, false)) // returns vec3b(false, false, true)\n */\nexport const not = dualImpl({\n name: 'not',\n signature: (...argTypes) => ({ argTypes, returnType: argTypes[0] }),\n normalImpl: cpuNot,\n codegenImpl: (arg) => stitch`!(${arg})`,\n});\n\nconst cpuOr = <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) =>\n VectorOps.or[lhs.kind](lhs, rhs);\n\n/**\n * Returns **component-wise** logical `or` result.\n * @example\n * or(vec2b(false, true), vec2b(false, false)) // returns vec2b(false, true)\n * or(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(true, true, false)\n */\nexport const or = dualImpl({\n name: 'or',\n signature: (...argTypes) => ({ argTypes, returnType: argTypes[0] }),\n normalImpl: cpuOr,\n codegenImpl: (lhs, rhs) => stitch`(${lhs} | ${rhs})`,\n});\n\nconst cpuAnd = <T extends AnyBooleanVecInstance>(lhs: T, rhs: T) =>\n cpuNot(cpuOr(cpuNot(lhs), cpuNot(rhs)));\n\n/**\n * Returns **component-wise** logical `and` result.\n * @example\n * and(vec2b(false, true), vec2b(true, true)) // returns vec2b(false, true)\n * and(vec3b(true, true, false), vec3b(false, true, false)) // returns vec3b(false, true, false)\n */\nexport const and = dualImpl({\n name: 'and',\n signature: (...argTypes) => ({ argTypes, returnType: argTypes[0] }),\n normalImpl: cpuAnd,\n codegenImpl: (lhs, rhs) => stitch`(${lhs} & ${rhs})`,\n});\n\n// logical aggregation\n\nconst cpuAll = (value: AnyBooleanVecInstance) =>\n VectorOps.all[value.kind](value);\n\n/**\n * Returns `true` if each component of `value` is true.\n * @example\n * all(vec2b(false, true)) // returns false\n * all(vec3b(true, true, true)) // returns true\n */\nexport const all = dualImpl({\n name: 'all',\n signature: (...argTypes) => ({ argTypes, returnType: bool }),\n normalImpl: cpuAll,\n codegenImpl: (value) => stitch`all(${value})`,\n});\n\n/**\n * Returns `true` if any component of `value` is true.\n * @example\n * any(vec2b(false, true)) // returns true\n * any(vec3b(false, false, false)) // returns false\n */\nexport const any = dualImpl({\n name: 'any',\n signature: (...argTypes) => ({ argTypes, returnType: bool }),\n normalImpl: (value: AnyBooleanVecInstance) => !cpuAll(cpuNot(value)),\n codegenImpl: (arg) => stitch`any(${arg})`,\n});\n\n// other\n\n/**\n * Checks whether the given elements differ by at most the `precision` value.\n * Checks all elements of `lhs` and `rhs` if arguments are vectors.\n * @example\n * isCloseTo(0, 0.1) // returns false\n * isCloseTo(vec3f(0, 0, 0), vec3f(0.002, -0.009, 0)) // returns true\n *\n * @param {number} precision argument that specifies the maximum allowed difference, 0.01 by default.\n */\nexport const isCloseTo = dualImpl({\n name: 'isCloseTo',\n signature: (...args) => ({\n argTypes: args as AnyWgslData[],\n returnType: bool,\n }),\n // CPU implementation\n normalImpl: <T extends AnyFloatVecInstance | number>(\n lhs: T,\n rhs: T,\n precision = 0.01,\n ): boolean => {\n if (typeof lhs === 'number' && typeof rhs === 'number') {\n return Math.abs(lhs - rhs) < precision;\n }\n if (isVecInstance(lhs) && isVecInstance(rhs)) {\n return VectorOps.isCloseToZero[lhs.kind](\n sub[$internal].jsImpl(lhs, rhs),\n precision,\n );\n }\n return false;\n },\n // GPU implementation\n codegenImpl: (lhs, rhs, precision = snip(0.01, f32)) => {\n if (isSnippetNumeric(lhs) && isSnippetNumeric(rhs)) {\n return stitch`(abs(f32(${lhs}) - f32(${rhs})) <= ${precision})`;\n }\n if (!isSnippetNumeric(lhs) && !isSnippetNumeric(rhs)) {\n // https://www.w3.org/TR/WGSL/#vector-multi-component:~:text=Binary%20arithmetic%20expressions%20with%20mixed%20scalar%20and%20vector%20operands\n // (a-a)+prec creates a vector of a.length elements, all equal to prec\n return stitch`all(abs(${lhs} - ${rhs}) <= (${lhs} - ${lhs}) + ${precision})`;\n }\n return 'false';\n },\n});\n\nfunction cpuSelect(f: boolean, t: boolean, cond: boolean): boolean;\nfunction cpuSelect(f: number, t: number, cond: boolean): number;\nfunction cpuSelect<T extends AnyVecInstance>(\n f: T,\n t: T,\n cond:\n | boolean\n | (T extends AnyVec2Instance ? v2b\n : T extends AnyVec3Instance ? v3b\n : v4b),\n): T;\nfunction cpuSelect<T extends number | boolean | AnyVecInstance>(\n f: T,\n t: T,\n cond: AnyBooleanVecInstance | boolean,\n) {\n if (typeof cond === 'boolean') {\n return cond ? t : f;\n }\n return VectorOps.select[(f as AnyVecInstance).kind](\n f as AnyVecInstance,\n t as AnyVecInstance,\n cond,\n );\n}\n\n/**\n * Returns `t` if `cond` is `true`, and `f` otherwise.\n * Component-wise if `cond` is a vector.\n * @example\n * select(1, 2, false) // returns 1\n * select(1, 2, true) // returns 2\n * select(vec2i(1, 2), vec2i(3, 4), true) // returns vec2i(3, 4)\n * select(vec2i(1, 2), vec2i(3, 4), vec2b(false, true)) // returns vec2i(1, 4)\n */\nexport const select = dualImpl({\n name: 'select',\n signature: (f, t, cond) => {\n const [uf, ut] = unify([f, t]) ?? [f, t] as const;\n return ({ argTypes: [uf, ut, cond], returnType: uf });\n },\n normalImpl: cpuSelect,\n codegenImpl: (f, t, cond) => stitch`select(${f}, ${t}, ${cond})`,\n});\n","import { f32, i32, u32 } from '../../data/numeric.ts';\nimport { vec4f, vec4i, vec4u } from '../../data/vector.ts';\nimport type { F32, I32, U32 } from '../../data/wgslTypes.ts';\n\nexport type ViewDimensionToDimension = {\n '1d': '1d';\n '2d': '2d';\n '2d-array': '2d';\n '3d': '3d';\n cube: '2d';\n 'cube-array': '2d';\n};\n\n/**\n * https://www.w3.org/TR/WGSL/#storage-texel-formats\n */\nexport type StorageTextureFormats =\n | 'rgba8unorm'\n | 'rgba8snorm'\n | 'rgba8uint'\n | 'rgba8sint'\n | 'rgba16unorm'\n | 'rgba16snorm'\n | 'rgba16uint'\n | 'rgba16sint'\n | 'rgba16float'\n | 'rg8unorm'\n | 'rg8snorm'\n | 'rg8uint'\n | 'rg8sint'\n | 'rg16unorm'\n | 'rg16snorm'\n | 'rg16uint'\n | 'rg16sint'\n | 'rg16float'\n | 'r32uint'\n | 'r32sint'\n | 'r32float'\n | 'rg32uint'\n | 'rg32sint'\n | 'rg32float'\n | 'rgba32uint'\n | 'rgba32sint'\n | 'rgba32float'\n | 'bgra8unorm'\n | 'r8unorm'\n | 'r8snorm'\n | 'r8uint'\n | 'r8sint'\n | 'r16unorm'\n | 'r16snorm'\n | 'r16uint'\n | 'r16sint'\n | 'r16float'\n | 'rgb10a2unorm'\n | 'rgb10a2uint'\n | 'rg11b10ufloat';\n\n// TODO: use this for texture view validation\n// deno-fmt-ignore - this is not really meant to be read\nexport const textureFormats = {\n // 8-bit formats\n 'r8unorm': { channelType: f32, vectorType: vec4f, texelSize: 1, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r8snorm': { channelType: f32, vectorType: vec4f, texelSize: 1, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'r8uint': { channelType: u32, vectorType: vec4u, texelSize: 1, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r8sint': { channelType: i32, vectorType: vec4i, texelSize: 1, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n 'rg8unorm': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only'] },\n 'rg8snorm': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg8uint': { channelType: u32, vectorType: vec4u, texelSize: 2, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg8sint': { channelType: i32, vectorType: vec4i, texelSize: 2, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n\n 'rgba8unorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba8unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: null },\n 'rgba8snorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rgba8uint': { channelType: u32, vectorType: vec4u, texelSize: 4, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba8sint': { channelType: i32, vectorType: vec4i, texelSize: 4, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n 'bgra8unorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only'] },\n 'bgra8unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: null },\n\n // 16-bit formats\n 'r16unorm': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'r16snorm': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'r16uint': { channelType: u32, vectorType: vec4u, texelSize: 2, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r16sint': { channelType: i32, vectorType: vec4i, texelSize: 2, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r16float': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n 'rg16unorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg16snorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg16uint': { channelType: u32, vectorType: vec4u, texelSize: 4, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg16sint': { channelType: i32, vectorType: vec4i, texelSize: 4, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg16float': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only'] },\n\n 'rgba16unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rgba16snorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rgba16uint': { channelType: u32, vectorType: vec4u, texelSize: 8, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba16sint': { channelType: i32, vectorType: vec4i, texelSize: 8, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba16float': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n // 32-bit formats\n 'r32uint': { channelType: u32, vectorType: vec4u, texelSize: 4, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r32sint': { channelType: i32, vectorType: vec4i, texelSize: 4, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'r32float': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n 'rg32uint': { channelType: u32, vectorType: vec4u, texelSize: 8, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg32sint': { channelType: i32, vectorType: vec4i, texelSize: 8, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rg32float': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n 'rgba32uint': { channelType: u32, vectorType: vec4u, texelSize: 16, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba32sint': { channelType: i32, vectorType: vec4i, texelSize: 16, sampleTypes: ['sint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n 'rgba32float': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: false, canResolve: false, storageBindings: ['write-only', 'read-only', 'read-write'] },\n\n // Mixed component formats\n 'rgb10a2uint': { channelType: u32, vectorType: vec4u, texelSize: 4, sampleTypes: ['uint'], aspects: ['color'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: ['write-only', 'read-only'] },\n 'rgb10a2unorm': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only'] },\n 'rg11b10ufloat': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: true, canBlend: true, canMultisample: true, canResolve: true, storageBindings: ['write-only', 'read-only'] },\n\n // Special formats\n 'rgb9e5ufloat': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n\n // Depth/Stencil formats\n 'stencil8': { channelType: u32, vectorType: vec4u, texelSize: 1, sampleTypes: ['uint'], aspects: ['stencil'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n 'depth16unorm': { channelType: f32, vectorType: vec4f, texelSize: 2, sampleTypes: ['depth', 'unfilterable-float'], aspects: ['depth'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n 'depth24plus': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['depth', 'unfilterable-float'], aspects: ['depth'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n 'depth24plus-stencil8': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['depth', 'unfilterable-float'], aspects: ['depth', 'stencil'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n 'depth32float': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['depth', 'unfilterable-float'], aspects: ['depth'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n 'depth32float-stencil8': { channelType: f32, vectorType: vec4f, texelSize: 4, sampleTypes: ['depth', 'unfilterable-float'], aspects: ['depth', 'stencil'], canRenderAttachment: true, canBlend: false, canMultisample: true, canResolve: false, storageBindings: null },\n\n // BC compressed formats\n 'bc1-rgba-unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc1-rgba-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc2-rgba-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc2-rgba-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc3-rgba-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc3-rgba-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc4-r-unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc4-r-snorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc5-rg-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc5-rg-snorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc6h-rgb-ufloat': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc6h-rgb-float': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc7-rgba-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'bc7-rgba-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n\n // ETC2/EAC compressed formats\n 'etc2-rgb8unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'etc2-rgb8unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'etc2-rgb8a1unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'etc2-rgb8a1unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'etc2-rgba8unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'etc2-rgba8unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'eac-r11unorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'eac-r11snorm': { channelType: f32, vectorType: vec4f, texelSize: 8, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'eac-rg11unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'eac-rg11snorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n\n // ASTC compressed formats\n 'astc-4x4-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-4x4-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-5x4-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-5x4-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-5x5-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-5x5-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-6x5-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-6x5-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-6x6-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-6x6-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x5-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x5-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x6-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x6-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x8-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-8x8-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x5-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x5-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x6-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x6-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x8-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x8-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x10-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-10x10-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-12x10-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-12x10-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-12x12-unorm': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n 'astc-12x12-unorm-srgb': { channelType: f32, vectorType: vec4f, texelSize: 16, sampleTypes: ['float', 'unfilterable-float'], aspects: ['color'], canRenderAttachment: false, canBlend: false, canMultisample: false, canResolve: false, storageBindings: null },\n} as const satisfies Record<GPUTextureFormat, TextureFormatInfo>;\n\nexport type TextureFormatInfo = {\n readonly channelType: F32 | I32 | U32;\n readonly vectorType: typeof vec4f | typeof vec4i | typeof vec4u;\n readonly texelSize: number;\n readonly sampleTypes: readonly string[];\n readonly aspects: readonly string[];\n readonly canRenderAttachment: boolean;\n readonly canBlend: boolean;\n readonly canMultisample: boolean;\n readonly canResolve: boolean;\n readonly storageBindings: readonly string[] | null;\n};\n\nexport type TextureFormats = typeof textureFormats;\n\nexport function getDeviceTextureFormatInfo<T extends GPUTextureFormat>(\n format: T,\n device: GPUDevice,\n): typeof textureFormats[T] {\n const baseInfo = textureFormats[format];\n\n if (!baseInfo) {\n throw new Error(`Unknown texture format: ${format}`);\n }\n\n let filteredInfo = { ...baseInfo } as TextureFormatInfo;\n switch (format) {\n case 'r32float':\n case 'rg32float':\n case 'rgba32float':\n if (!device.features.has('float32-filterable')) {\n filteredInfo = {\n ...filteredInfo,\n sampleTypes: baseInfo.sampleTypes.filter((type) => type !== 'float'),\n } as TextureFormatInfo;\n }\n if (!device.features.has('float32-blendable')) {\n filteredInfo = {\n ...filteredInfo,\n canBlend: false,\n };\n }\n break;\n\n case 'bgra8unorm':\n if (!device.features.has('bgra8unorm-storage')) {\n filteredInfo = {\n ...filteredInfo,\n storageBindings: null,\n };\n }\n break;\n\n case 'rg11b10ufloat':\n if (!device.features.has('rg11b10ufloat-renderable')) {\n filteredInfo = {\n ...filteredInfo,\n canRenderAttachment: false,\n canBlend: false,\n canMultisample: false,\n canResolve: false,\n };\n }\n break;\n }\n\n if (filteredInfo.storageBindings) {\n const hasTexture1 = device.features.has('texture-formats-tier1');\n const hasTexture2 = device.features.has('texture-formats-tier2');\n\n let availableBindings = [...filteredInfo.storageBindings];\n\n // deno-fmt-ignore\n const tier2RequiredFormats = [\n 'r8unorm', 'r8uint', 'r8sint',\n 'r16uint', 'r16sint', 'r16float',\n 'rgba8unorm', 'rgba8uint', 'rgba8sint',\n 'rgba16uint', 'rgba16sint', 'rgba16float',\n 'r32uint', 'r32sint', 'r32float',\n 'rgba32uint', 'rgba32sint', 'rgba32float',\n ];\n\n // deno-fmt-ignore\n const tier1RequiredFormats = [\n 'r8snorm',\n 'rg8unorm', 'rg8snorm', 'rg8uint', 'rg8sint',\n 'rgba8snorm',\n 'r16unorm', 'r16snorm',\n 'rg16unorm', 'rg16snorm', 'rg16uint', 'rg16sint', 'rg16float',\n 'rgba16unorm', 'rgba16snorm',\n 'rgb10a2uint', 'rgb10a2unorm', 'rg11b10ufloat',\n ];\n\n if (tier2RequiredFormats.includes(format) && !hasTexture2) {\n availableBindings = availableBindings.filter((binding) =>\n binding !== 'read-write'\n );\n }\n\n if (tier1RequiredFormats.includes(format) && !hasTexture1) {\n availableBindings = availableBindings.filter(\n (binding) => binding !== 'write-only' && binding !== 'read-only',\n );\n }\n\n filteredInfo = {\n ...filteredInfo,\n storageBindings: availableBindings.length > 0 ? availableBindings : null,\n };\n }\n\n return filteredInfo as typeof textureFormats[T];\n}\n"]}
@@ -1,10 +1,10 @@
1
- var m="0.8.0";var s=Symbol(`typegpu:${m}:$internal`),Fn=Symbol(`typegpu:${m}:$gpuValueOf`),me=Symbol(`typegpu:${m}:$getNameForward`),He=Symbol(`typegpu:${m}:$providing`),qe=Symbol(`typegpu:${m}:$ownSnippet`),oe=Symbol(`typegpu:${m}:$resolve`),Je=Symbol(`typegpu:${m}:$repr`),Pn=Symbol(`typegpu:${m}:$gpuRepr`),Bn=Symbol(`typegpu:${m}:$reprPartial`),En=Symbol(`typegpu:${m}:$memIdent`),Un=Symbol(`typegpu:${m}:$invalidStorageSchema`),Nn=Symbol(`typegpu:${m}:$validUniformSchema`),Rn=Symbol(`typegpu:${m}:$validVertexSchema`),Wn=Symbol(`typegpu:${m}:$invalidSchemaReason`);function u(e){return!!e?.[s]}var Ln={[s]:!0,type:"void",toString(){return"void"}},Ct=["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","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function Ee(e){let t=e;return u(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function Ot(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function Mt(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function Lt(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function ae(e){return Ot(e)||Mt(e)||Lt(e)}function Xe(e){let t=e;return u(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function jt(e){return u(e)&&e?.type==="mat2x2f"}function Gt(e){return u(e)&&e?.type==="mat3x3f"}function Kt(e){return u(e)&&e?.type==="mat4x4f"}function Ue(e){return jt(e)||Gt(e)||Kt(e)}function jn(e){return Ee(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function C(e){return u(e)&&Ct.includes(e?.type)}function fe(e){return u(e)&&e?.type==="array"}function we(e){return u(e)&&e?.type==="struct"}function Gn(e){return u(e)&&e?.type==="ptr"}function Kn(e){return u(e)&&e?.type==="atomic"}function Te(e){return u(e)&&e?.type==="@align"}function ge(e){return u(e)&&e?.type==="@size"}function Ze(e){return u(e)&&e?.type==="@location"}function Yn(e){return u(e)&&e?.type==="@interpolate"}function Ne(e){return u(e)&&e?.type==="@builtin"}function _(e){return u(e)&&e?.type==="decorated"}function Hn(e){return u(e)&&e.type==="void"}function Qe(e){let t=e?.type;return u(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function qn(e){let t=e?.type;return u(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var A=process.env.NODE_ENV==="development",ve=process.env.NODE_ENV==="test";Object.assign(globalThis,{__TYPEGPU_AUTONAME__:(e,t)=>(Ht(e)&&u(e)&&!D(e)&&e.$name(t),e)});var ue=globalThis,Qn=(A||ve)&&{get enabled(){return!!ue.__TYPEGPU_MEASURE_PERF__},record(e,t){let n=ue.__TYPEGPU_PERF_RECORDS__??=new Map,r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}}||void 0;function et(e){return!!e?.[me]}function D(e){return et(e)?D(e[me]):nt(e)?.name}function k(e,t){et(e)&&k(e[me],t),qt(e,{name:t})}function Ht(e){return!!e?.$name}function tt(e){return!!nt(e)?.ast}function nt(e){return ue.__TYPEGPU_META__.get(e)}function qt(e,t){ue.__TYPEGPU_META__??=new WeakMap;let n=ue.__TYPEGPU_META__;n.set(e,{...n.get(e),...t})}var rt=["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"],tr={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"};function S(e){return e.type==="decorated"||e.type==="loose-decorated"?e.inner:e}var Jt=["unstruct","disarray","loose-decorated",...rt];function Re(e){return u(e)&&Jt.includes(e?.type)}function ce(e){return u(e)&&e?.type==="disarray"}function ye(e){return u(e)&&e?.type==="unstruct"}function I(e){return u(e)&&e?.type==="loose-decorated"}function O(e){return e.attribs?.find(Te)?.params[0]}function at(e){return e.attribs?.find(ge)?.params[0]}function ar(e){return e.attribs?.find(Ze)?.params[0]}function ur(e){return C(e)||Re(e)}var ut={type:"unknown",toString(){return"unknown"}},it=class{constructor(t,n,r){this.name=t;this.lhs=n;this.operator=r}},st=class{constructor(t){this.matrix=t}},ot=class{constructor(t){this.op=t;k(this,"consoleLog")}[s]=!0};var We="Invariant failed";function Ve(e,t){if(e)return;if(!A)throw new Error(We);let n=typeof t=="function"?t():t,r=n?`${We}: ${n}`:We;throw new Error(r)}var ct=class e extends Error{constructor(n,r){let i=r.map(o=>`- ${tt(o)?`fn*:${D(o)}`:o}`);i.length>20&&(i=[...i.slice(0,11),"...",...i.slice(-10)]);super(`Resolution of the following tree failed:
1
+ var m="0.8.1";var o=Symbol(`typegpu:${m}:$internal`),kn=Symbol(`typegpu:${m}:$gpuValueOf`),me=Symbol(`typegpu:${m}:$getNameForward`),He=Symbol(`typegpu:${m}:$providing`),qe=Symbol(`typegpu:${m}:$ownSnippet`),oe=Symbol(`typegpu:${m}:$resolve`),Je=Symbol(`typegpu:${m}:$repr`),Fn=Symbol(`typegpu:${m}:$gpuRepr`),Pn=Symbol(`typegpu:${m}:$reprPartial`),Bn=Symbol(`typegpu:${m}:$memIdent`),En=Symbol(`typegpu:${m}:$invalidStorageSchema`),Un=Symbol(`typegpu:${m}:$validUniformSchema`),Nn=Symbol(`typegpu:${m}:$validVertexSchema`),Rn=Symbol(`typegpu:${m}:$invalidSchemaReason`);function u(e){return!!e?.[o]}var Mn={[o]:!0,type:"void",toString(){return"void"}},Wt=["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","texture_1d","texture_storage_1d","texture_2d","texture_storage_2d","texture_multisampled_2d","texture_depth_2d","texture_depth_multisampled_2d","texture_2d_array","texture_storage_2d_array","texture_depth_2d_array","texture_cube","texture_depth_cube","texture_cube_array","texture_depth_cube_array","texture_3d","texture_storage_3d","texture_external","sampler","sampler_comparison"];function Ee(e){let t=e;return u(t)&&typeof t.kind=="string"&&t.kind.startsWith("vec")}function Ct(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec2")}function Ot(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec3")}function Mt(e){let t=e;return u(t)&&typeof t.type=="string"&&t.type.startsWith("vec4")}function ae(e){return Ct(e)||Ot(e)||Mt(e)}function Xe(e){let t=e;return u(t)&&typeof t.kind?.startsWith=="function"&&t.kind.startsWith("mat")}function Lt(e){return u(e)&&e?.type==="mat2x2f"}function jt(e){return u(e)&&e?.type==="mat3x3f"}function Gt(e){return u(e)&&e?.type==="mat4x4f"}function Ue(e){return Lt(e)||jt(e)||Gt(e)}function Ln(e){return Ee(e)&&["vec2f","vec3f","vec4f"].includes(e.kind)}function C(e){return u(e)&&Wt.includes(e?.type)}function fe(e){return u(e)&&e?.type==="array"}function we(e){return u(e)&&e?.type==="struct"}function jn(e){return u(e)&&e?.type==="ptr"}function Gn(e){return u(e)&&e?.type==="atomic"}function Te(e){return u(e)&&e?.type==="@align"}function ge(e){return u(e)&&e?.type==="@size"}function Ze(e){return u(e)&&e?.type==="@location"}function Kn(e){return u(e)&&e?.type==="@interpolate"}function Ne(e){return u(e)&&e?.type==="@builtin"}function _(e){return u(e)&&e?.type==="decorated"}function Yn(e){return u(e)&&e.type==="void"}function Qe(e){let t=e?.type;return u(e)&&(t==="abstractInt"||t==="abstractFloat"||t==="f32"||t==="f16"||t==="i32"||t==="u32")}function Hn(e){let t=e?.type;return u(e)&&(t==="f16"||t==="vec2h"||t==="vec3h"||t==="vec4h")}var A=process.env.NODE_ENV==="development",ve=process.env.NODE_ENV==="test";Object.assign(globalThis,{__TYPEGPU_AUTONAME__:(e,t)=>(Yt(e)&&u(e)&&!D(e)&&e.$name(t),e)});var ue=globalThis,Zn=(A||ve)&&{get enabled(){return!!ue.__TYPEGPU_MEASURE_PERF__},record(e,t){let n=ue.__TYPEGPU_PERF_RECORDS__??=new Map,r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}}||void 0;function et(e){return!!e?.[me]}function D(e){return et(e)?D(e[me]):nt(e)?.name}function k(e,t){et(e)&&k(e[me],t),Ht(e,{name:t})}function Yt(e){return!!e?.$name}function tt(e){return!!nt(e)?.ast}function nt(e){return ue.__TYPEGPU_META__.get(e)}function Ht(e,t){ue.__TYPEGPU_META__??=new WeakMap;let n=ue.__TYPEGPU_META__;n.set(e,{...n.get(e),...t})}var rt=["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"],er={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"};function S(e){return e.type==="decorated"||e.type==="loose-decorated"?e.inner:e}var qt=["unstruct","disarray","loose-decorated",...rt];function Re(e){return u(e)&&qt.includes(e?.type)}function ce(e){return u(e)&&e?.type==="disarray"}function ye(e){return u(e)&&e?.type==="unstruct"}function I(e){return u(e)&&e?.type==="loose-decorated"}function O(e){return e.attribs?.find(Te)?.params[0]}function at(e){return e.attribs?.find(ge)?.params[0]}function or(e){return e.attribs?.find(Ze)?.params[0]}function ar(e){return C(e)||Re(e)}var ut={type:"unknown",toString(){return"unknown"}},it=class{constructor(t,n,r){this.name=t;this.lhs=n;this.operator=r}},st=class{constructor(t){this.matrix=t}},ot=class{constructor(t){this.op=t;k(this,"consoleLog")}[o]=!0};var We="Invariant failed";function Ve(e,t){if(e)return;if(!A)throw new Error(We);let n=typeof t=="function"?t():t,r=n?`${We}: ${n}`:We;throw new Error(r)}var ct=class e extends Error{constructor(n,r){let i=r.map(s=>`- ${tt(s)?`fn*:${D(s)}`:s}`);i.length>20&&(i=[...i.slice(0,11),"...",...i.slice(-10)]);super(`Resolution of the following tree failed:
2
2
  ${i.join(`
3
- `)}: ${n&&typeof n=="object"&&"message"in n?n.message:n}`);this.cause=n;this.trace=r;Object.setPrototypeOf(this,e.prototype)}appendToTrace(n){let r=[n,...this.trace];return new e(this.cause,r)}},yt=class e extends Error{constructor(n,r){let i=r.map(o=>`- ${o}`);i.length>20&&(i=[...i.slice(0,11),"...",...i.slice(-10)]);super(`Execution of the following tree failed:
3
+ `)}: ${n&&typeof n=="object"&&"message"in n?n.message:n}`);this.cause=n;this.trace=r;Object.setPrototypeOf(this,e.prototype)}appendToTrace(n){let r=[n,...this.trace];return new e(this.cause,r)}},yt=class e extends Error{constructor(n,r){let i=r.map(s=>`- ${s}`);i.length>20&&(i=[...i.slice(0,11),"...",...i.slice(-10)]);super(`Execution of the following tree failed:
4
4
  ${i.join(`
5
- `)}: ${n&&typeof n=="object"&&"message"in n?n.message:n}`);this.cause=n;this.trace=r;Object.setPrototypeOf(this,e.prototype)}appendToTrace(n){let r=[n,...this.trace];return new e(this.cause,r)}},lt=class e extends Error{constructor(n){super(`Missing value for '${n}'`);this.slot=n;Object.setPrototypeOf(this,e.prototype)}},pt=class e extends Error{constructor(t){super(`Buffer '${D(t)??"<unnamed>"}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,e.prototype)}},ht=class e extends Error{constructor(t,n){super(`The function '${t??"<unnamed>"}' is missing links to the following external values: ${n}.`),Object.setPrototypeOf(this,e.prototype)}},xt=class e extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(n=>D(n)??"<unnamed>").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,e.prototype)}},dt=class e extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(n=>D(n)??"<unnamed>").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,e.prototype)}},mt=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},ft=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},be=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};function wt(e){return e?.resourceType==="slot"}function Tt(e){return e?.resourceType==="derived"}function gt(e){return e?.[He]!==void 0}function mr(e){return e?.resourceType==="accessor"}var ze=class{constructor(t,n){this.value=t;this.dataType=n}};function Ce(e){return e instanceof ze}function vr(e){return Qe(e.dataType)}function x(e,t){if(A&&Ce(e))throw new Error("Cannot nest snippets");return new ze(e,S(t))}var Se=class{type="normal"},vt=class{type="codegen"},bt=class{constructor(t,n){this.buffers=t;this.vars=n}type="simulate"};function Xt(e){return!!e?.[oe]}function Vt(e){return e?.[qe]}function Ar(e){return typeof e=="number"||typeof e=="boolean"||typeof e=="string"||Xt(e)||C(e)||wt(e)||Tt(e)||gt(e)}function Dr(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}var Ie=!1;function Pr(e){if(Ie)return e();try{return Ie=!0,e()}finally{Ie=!1}}function Br(){return Ie}var F;function Er(e,t){if(Ve(F===void 0||F===e,"Cannot nest context providers"),F===e)return t();F=e;try{return t()}finally{F=void 0}}function zt(){return F}var Zt=new Se;function Ur(){return F?.mode??Zt}function Oe(){return F?.mode.type==="codegen"}function d(e,...t){return St(e,t,!1)}function Cr(e,...t){return St(e,t,!0)}function St(e,t,n){let r=zt();function i(c){return Ce(c)?r.resolve(c.value,c.dataType,n).value:c}let o="";for(let c=0;c<e.length;++c){o+=e[c];let y=t[c];Array.isArray(y)?o+=y.filter(l=>l!==void 0).map(i).join(", "):y&&(o+=i(y))}return o}function It(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}var Me={rank:Number.POSITIVE_INFINITY,action:"none"};function _e(e,t){let n=S(e),r=S(t);if(n.type===r.type)return{rank:0,action:"none"};if(n.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(n.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return ae(n)&&ae(r)?_e(n.primitive,r.primitive):Ue(n)&&Ue(r)?{rank:0,action:"none"}:Me}function Qt(e,t){let n=S(e),r=S(t);if(n.type==="ptr"&&_e(n.inner,r).rank<Number.POSITIVE_INFINITY)return{rank:0,action:"deref"};if(r.type==="ptr"&&_e(n,r.inner).rank<Number.POSITIVE_INFINITY)return{rank:1,action:"ref"};let i={f32:0,f16:1,i32:2,u32:3,bool:4};if(n.type in i&&r.type in i){let o=n.type,c=r.type;if(o!==c){let y=i[o];return{rank:i[c]<y?10:20,action:"cast",targetType:r}}}if(n.type==="abstractFloat"){if(r.type==="u32")return{rank:2,action:"cast",targetType:r};if(r.type==="i32")return{rank:1,action:"cast",targetType:r}}return Me}function en(e,t,n){let r=_e(e,t);return r.rank<Number.POSITIVE_INFINITY?r:n?Qt(e,t):Me}function _t(e,t,n){let r;for(let o of t){let c=[],y=0;for(let l of e){let g=en(l,o,n);if(y+=g.rank,g.rank===Number.POSITIVE_INFINITY)break;c.push(g)}y<(r?.sum??Number.POSITIVE_INFINITY)&&(r={type:o,details:c,sum:y})}if(!r)return;let i=r.details.map((o,c)=>({sourceIndex:c,action:o.action,...o.action==="cast"&&{targetType:o.targetType}}));return{targetType:r.type,actions:i,hasImplicitConversions:i.some(o=>o.action==="cast")}}function At(e,t){if(e.length===0)return;let n=[...new Set((t||e).map(S))],r=_t(e,n,!1);if(r)return r;let i=_t(e,n,!0);if(i)return i}function tn(e,t,n){if(t.action==="none")return x(e.value,n);switch(t.action){case"ref":return x(d`&${e}`,n);case"deref":return x(d`*${e}`,n);case"cast":return n(e);default:It(t.action,"applyActionToSnippet")}}function Jr(e,t){if(e.some(r=>r.type==="unknown"))return;let n=At(e,t);if(n)return e.map(()=>n.targetType)}function Dt(e,t,n=!0){let r=e.map(o=>o.dataType);if(r.some(o=>o.type==="unknown"))return;A&&Array.isArray(t)&&t.length===0&&console.warn("convertToCommonType was called with an empty restrictTo array, which prevents any conversions from being made. If you intend to allow all conversions, pass undefined instead. If this was intended call the function conditionally since the result will always be undefined.");let i=At(r,t);if(i)return(ve||A)&&n&&i.hasImplicitConversions&&console.warn(`Implicit conversions from [
6
- ${e.map(o=>` ${o.value}: ${o.dataType.type}`).join(`,
5
+ `)}: ${n&&typeof n=="object"&&"message"in n?n.message:n}`);this.cause=n;this.trace=r;Object.setPrototypeOf(this,e.prototype)}appendToTrace(n){let r=[n,...this.trace];return new e(this.cause,r)}},lt=class e extends Error{constructor(n){super(`Missing value for '${n}'`);this.slot=n;Object.setPrototypeOf(this,e.prototype)}},pt=class e extends Error{constructor(t){super(`Buffer '${D(t)??"<unnamed>"}' is not bindable as a uniform. Use .$usage('uniform') to allow it.`),Object.setPrototypeOf(this,e.prototype)}},ht=class e extends Error{constructor(t,n){super(`The function '${t??"<unnamed>"}' is missing links to the following external values: ${n}.`),Object.setPrototypeOf(this,e.prototype)}},xt=class e extends Error{constructor(t){super(`Missing bind groups for layouts: '${[...t].map(n=>D(n)??"<unnamed>").join(", ")}'. Please provide it using pipeline.with(bindGroup).(...)`),Object.setPrototypeOf(this,e.prototype)}},dt=class e extends Error{constructor(t){super(`Missing vertex buffers for layouts: '${[...t].map(n=>D(n)??"<unnamed>").join(", ")}'. Please provide it using pipeline.with(layout, buffer).(...)`),Object.setPrototypeOf(this,e.prototype)}},mt=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},ft=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},be=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};function wt(e){return e?.resourceType==="slot"}function Tt(e){return e?.resourceType==="derived"}function gt(e){return e?.[He]!==void 0}function dr(e){return e?.resourceType==="accessor"}var ze=class{constructor(t,n){this.value=t;this.dataType=n}};function Ce(e){return e instanceof ze}function gr(e){return Qe(e.dataType)}function x(e,t){if(A&&Ce(e))throw new Error("Cannot nest snippets");return new ze(e,S(t))}var Se=class{type="normal"},vt=class{type="codegen"},bt=class{constructor(t,n){this.buffers=t;this.vars=n}type="simulate"};function Jt(e){return!!e?.[oe]}function Vt(e){return e?.[qe]}function _r(e){return typeof e=="number"||typeof e=="boolean"||typeof e=="string"||Jt(e)||C(e)||wt(e)||Tt(e)||gt(e)}function Ar(e){return!!e&&typeof e=="object"&&"getMappedRange"in e&&"mapAsync"in e}var Ie=!1;function Fr(e){if(Ie)return e();try{return Ie=!0,e()}finally{Ie=!1}}function Pr(){return Ie}var F;function Br(e,t){if(Ve(F===void 0||F===e,"Cannot nest context providers"),F===e)return t();F=e;try{return t()}finally{F=void 0}}function zt(){return F}var Xt=new Se;function Er(){return F?.mode??Xt}function Oe(){return F?.mode.type==="codegen"}function d(e,...t){let n=zt();function r(s){return Ce(s)?n.resolve(s.value,s.dataType).value:s}let i="";for(let s=0;s<e.length;++s){i+=e[s];let p=t[s];Array.isArray(p)?i+=p.filter(y=>y!==void 0).map(r).join(", "):p&&(i+=r(p))}return i}function St(e,t){throw new Error(`Failed to handle ${e} at ${t}`)}var Me={rank:Number.POSITIVE_INFINITY,action:"none"};function _e(e,t){let n=S(e),r=S(t);if(n.type===r.type)return{rank:0,action:"none"};if(n.type==="abstractFloat"){if(r.type==="f32")return{rank:1,action:"none"};if(r.type==="f16")return{rank:2,action:"none"}}if(n.type==="abstractInt"){if(r.type==="i32")return{rank:3,action:"none"};if(r.type==="u32")return{rank:4,action:"none"};if(r.type==="abstractFloat")return{rank:5,action:"none"};if(r.type==="f32")return{rank:6,action:"none"};if(r.type==="f16")return{rank:7,action:"none"}}return ae(n)&&ae(r)?_e(n.primitive,r.primitive):Ue(n)&&Ue(r)?{rank:0,action:"none"}:Me}function Zt(e,t){let n=S(e),r=S(t);if(n.type==="ptr"&&_e(n.inner,r).rank<Number.POSITIVE_INFINITY)return{rank:0,action:"deref"};if(r.type==="ptr"&&_e(n,r.inner).rank<Number.POSITIVE_INFINITY)return{rank:1,action:"ref"};let i={f32:0,f16:1,i32:2,u32:3,bool:4};if(n.type in i&&r.type in i){let s=n.type,p=r.type;if(s!==p){let y=i[s];return{rank:i[p]<y?10:20,action:"cast",targetType:r}}}if(n.type==="abstractFloat"){if(r.type==="u32")return{rank:2,action:"cast",targetType:r};if(r.type==="i32")return{rank:1,action:"cast",targetType:r}}return Me}function Qt(e,t,n){let r=_e(e,t);return r.rank<Number.POSITIVE_INFINITY?r:n?Zt(e,t):Me}function It(e,t,n){let r;for(let s of t){let p=[],y=0;for(let l of e){let g=Qt(l,s,n);if(y+=g.rank,g.rank===Number.POSITIVE_INFINITY)break;p.push(g)}y<(r?.sum??Number.POSITIVE_INFINITY)&&(r={type:s,details:p,sum:y})}if(!r)return;let i=r.details.map((s,p)=>({sourceIndex:p,action:s.action,...s.action==="cast"&&{targetType:s.targetType}}));return{targetType:r.type,actions:i,hasImplicitConversions:i.some(s=>s.action==="cast")}}function _t(e,t){if(e.length===0)return;let n=[...new Set((t||e).map(S))],r=It(e,n,!1);if(r)return r;let i=It(e,n,!0);if(i)return i}function en(e,t,n){if(t.action==="none")return x(e.value,n);switch(t.action){case"ref":return x(d`&${e}`,n);case"deref":return x(d`*${e}`,n);case"cast":return n(e);default:St(t.action,"applyActionToSnippet")}}function Hr(e,t){if(e.some(r=>r.type==="unknown"))return;let n=_t(e,t);if(n)return e.map(()=>n.targetType)}function At(e,t,n=!0){let r=e.map(s=>s.dataType);if(r.some(s=>s.type==="unknown"))return;A&&Array.isArray(t)&&t.length===0&&console.warn("convertToCommonType was called with an empty restrictTo array, which prevents any conversions from being made. If you intend to allow all conversions, pass undefined instead. If this was intended call the function conditionally since the result will always be undefined.");let i=_t(r,t);if(i)return(ve||A)&&n&&i.hasImplicitConversions&&console.warn(`Implicit conversions from [
6
+ ${e.map(s=>` ${s.value}: ${s.dataType.type}`).join(`,
7
7
  `)}
8
8
  ] to ${i.targetType.type} are supported, but not recommended.
9
- Consider using explicit conversions instead.`),e.map((o,c)=>{let y=i.actions[c];return Ve(y,"Action should not be undefined"),tn(o,y,i.targetType)})}function $t(e,t,n=!0){if(t===e.dataType)return x(e.value,t);if(e.dataType.type==="unknown")return x(d`${x(e.value,t)}`,t);let r=Dt([e],[t],n);if(!r)throw new be(`Cannot convert value of type '${e.dataType.type}' to type '${t.type}'`);return r[0]}function Xr(e,t){return Object.keys(e.propTypes).map(r=>{let i=t[r];if(!i)throw new Error(`Missing property ${r}`);let o=e.propTypes[r];return Dt([i],[o])?.[0]??i})}function nn(e){return typeof e!="string"&&Vt(e)===void 0}function kt(e,t,n,r="keep"){let i=((...o)=>Oe()?t(...o):e(...o));return k(i,n),i.toString=()=>n,Object.defineProperty(i,s,{value:{jsImpl:e,gpuImpl:t,argConversionHint:r}}),i}var Ae=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};function P(e){let t=(...r)=>{let{argTypes:i,returnType:o}=typeof e.signature=="function"?e.signature(...r.map(l=>l.dataType)):e.signature,y=r.map((l,g)=>$t(l,i[g],!e.ignoreImplicitCastWarning));if(y.every(l=>nn(l.value))&&typeof e.normalImpl=="function")try{return x(e.normalImpl(...y.map(l=>l.value)),o)}catch(l){if(!(l instanceof Ae))throw l}return x(e.codegenImpl(...y),o)},n=((...r)=>{if(Oe())return t(...r);if(typeof e.normalImpl=="string")throw new Ae(e.normalImpl);return e.normalImpl(...r)});return k(n,e.name),n.toString=()=>e.name,Object.defineProperty(n,s,{value:{jsImpl:e.normalImpl,gpuImpl:t,argConversionHint:"keep"}}),n}var ci={[s]:!0,type:"abstractInt",toString(){return"abstractInt"}},yi={[s]:!0,type:"abstractFloat",toString(){return"abstractFloat"}},rn=P({name:"bool",signature:e=>({argTypes:e?[e]:[],returnType:b}),normalImpl(e){return e===void 0?!1:typeof e=="boolean"?e:!!e},codegenImpl:e=>e.dataType.type==="bool"?d`${e}`:d`bool(${e})`}),b=Object.assign(rn,{type:"bool"}),sn=P({name:"u32",signature:e=>({argTypes:e?[e]:[],returnType:p}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:(e&4294967295)>>>0},codegenImpl:e=>e.dataType.type==="u32"?d`${e}`:d`u32(${e})`}),p=Object.assign(sn,{type:"u32"}),on=P({name:"i32",signature:e=>({argTypes:e?[e]:[],returnType:T}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:e|0},codegenImpl:e=>e.dataType.type==="i32"?d`${e}`:d`i32(${e})`}),li={[s]:!0,type:"u16"},T=Object.assign(on,{type:"i32"}),an=P({name:"f32",signature:e=>({argTypes:e?[e]:[],returnType:h}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:Math.fround(e)},codegenImpl:e=>e.dataType.type==="f32"?d`${e}`:d`f32(${e})`}),h=Object.assign(an,{type:"f32"}),Ft=new ArrayBuffer(4),un=new Float32Array(Ft),cn=new Uint32Array(Ft);function yn(e){un[0]=e;let t=cn[0],n=t>>>31&1,r=t>>>23&255,i=t&8388607;return r===255?n<<15|31744|(i?512:0):(r=r-127+15,r<=0?r<-10?n<<15:(i=(i|8388608)>>1-r,i=i+4096>>13,n<<15|i):r>=31||(i=i+4096,i&8388608&&(i=0,++r,r>=31))?n<<15|31744:n<<15|r<<10|i>>13)}function ln(e){let t=e&32768?-1:1,n=e>>10&31,r=e&1023;return n===0?r?t*r*2**-24:t*0:n===31?r?Number.NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(n-15)}function pn(e){return ln(yn(e))}var hn=P({name:"f16",signature:e=>({argTypes:e?[e]:[],returnType:$}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:pn(e)},codegenImpl:e=>e.dataType.type==="f16"?d`${e}`:d`f16(${e})`}),$=Object.assign(hn,{type:"f16"});var le=class extends Array{castElement(){return this[s].elementSchema[s].jsImpl}[oe](){let t=this[s].elementSchema;return this.every(n=>!n)?x(`${this.kind}()`,t):this.every(n=>this[0]===n)?x(`${this.kind}(${this[0]})`,t):x(`${this.kind}(${this.join(", ")})`,t)}toString(){return this[oe]().value}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])}},U=class extends le{e0;e1;constructor(t,n){super(2),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t)}get 0(){return this.e0}get 1(){return this.e1}set 0(t){this.e0=this.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}get x(){return this[0]}get y(){return this[1]}set x(t){this[0]=this.castElement()(t)}set y(t){this[1]=this.castElement()(t)}},N=class extends le{e0;e1;e2;constructor(t,n,r){super(3),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t),this.e2=this.castElement()(r??t)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(t){this.e0=this.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}set 2(t){this.e2=this.castElement()(t)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=this.castElement()(t)}set y(t){this[1]=this.castElement()(t)}set z(t){this[2]=this.castElement()(t)}},R=class extends le{e0;e1;e2;e3;constructor(t,n,r,i){super(4),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t),this.e2=this.castElement()(r??t),this.e3=this.castElement()(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.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}set 2(t){this.e2=this.castElement()(t)}set 3(t){this.e3=this.castElement()(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}},M=class e extends U{get[s](){return{elementSchema:h}}get kind(){return"vec2f"}get _Vec2(){return e}get _Vec3(){return Y}get _Vec4(){return Z}},L=class e extends U{get[s](){return{elementSchema:$}}get kind(){return"vec2h"}get _Vec2(){return e}get _Vec3(){return H}get _Vec4(){return Q}},j=class e extends U{get[s](){return{elementSchema:T}}get kind(){return"vec2i"}get _Vec2(){return e}get _Vec3(){return q}get _Vec4(){return ee}},G=class e extends U{get[s](){return{elementSchema:p}}get kind(){return"vec2u"}get _Vec2(){return e}get _Vec3(){return J}get _Vec4(){return te}},K=class e extends U{get[s](){return{elementSchema:b}}get kind(){return"vec2<bool>"}get _Vec2(){return e}get _Vec3(){return X}get _Vec4(){return ne}},Y=class e extends N{get[s](){return{elementSchema:h}}get kind(){return"vec3f"}get _Vec2(){return M}get _Vec3(){return e}get _Vec4(){return Z}},H=class e extends N{get[s](){return{elementSchema:$}}get kind(){return"vec3h"}get _Vec2(){return L}get _Vec3(){return e}get _Vec4(){return Q}},q=class e extends N{get[s](){return{elementSchema:T}}get kind(){return"vec3i"}get _Vec2(){return j}get _Vec3(){return e}get _Vec4(){return ee}},J=class e extends N{get[s](){return{elementSchema:p}}get kind(){return"vec3u"}get _Vec2(){return G}get _Vec3(){return e}get _Vec4(){return te}},X=class e extends N{get[s](){return{elementSchema:b}}get kind(){return"vec3<bool>"}get _Vec2(){return K}get _Vec3(){return e}get _Vec4(){return ne}},Z=class e extends R{get[s](){return{elementSchema:h}}get kind(){return"vec4f"}get _Vec2(){return M}get _Vec3(){return Y}get _Vec4(){return e}},Q=class e extends R{get[s](){return{elementSchema:$}}get kind(){return"vec4h"}get _Vec2(){return L}get _Vec3(){return H}get _Vec4(){return e}},ee=class e extends R{get[s](){return{elementSchema:T}}get kind(){return"vec4i"}get _Vec2(){return j}get _Vec3(){return q}get _Vec4(){return e}},te=class e extends R{get[s](){return{elementSchema:p}}get kind(){return"vec4u"}get _Vec2(){return G}get _Vec3(){return J}get _Vec4(){return e}},ne=class e extends R{get[s](){return{elementSchema:b}}get kind(){return"vec4<bool>"}get _Vec2(){return K}get _Vec3(){return X}get _Vec4(){return e}};var B=f(M,h),xn=f(L,$),pe=f(j,T),he=f(G,p),dn=f(K,b),Le=f(Y,h),mn=f(H,$),je=f(q,T),E=f(J,p),fn=f(X,b),v=f(Z,h),wn=f(Q,$),xe=f(ee,T),de=f(te,p),Tn=f(ne,b),zi={vec2f:B,vec2h:xn,vec2i:pe,vec2u:he,"vec2<bool>":dn,vec3f:Le,vec3h:mn,vec3i:je,vec3u:E,"vec3<bool>":fn,vec4f:v,vec4h:wn,vec4i:xe,vec4u:de,"vec4<bool>":Tn};function f(e,t){let{kind:n,length:r}=new e,o=P({name:n,signature:(...y)=>({argTypes:y.map(l=>{let g=S(l);return ae(g)?g:t}),returnType:c}),normalImpl:(...y)=>{let l=new Array(y.length),g=0;for(let se of y)if(typeof se=="number"||typeof se=="boolean")l[g++]=se;else for(let Be=0;Be<se.length;++Be)l[g++]=se[Be];if(l.length<=1||l.length===r)return new e(...l);throw new Error(`'${n}' constructor called with invalid number of arguments.`)},codegenImpl:(...y)=>d`${n}(${y})`}),c=Object.assign(o,{type:n,primitive:t,[Je]:void 0});return c}var a=class{constructor(t){this.type=t}[s]=!0},De={uint8:p,uint8x2:he,uint8x4:de,sint8:T,sint8x2:pe,sint8x4:xe,unorm8:h,unorm8x2:B,unorm8x4:v,snorm8:h,snorm8x2:B,snorm8x4:v,uint16:p,uint16x2:he,uint16x4:de,sint16:T,sint16x2:pe,sint16x4:xe,unorm16:h,unorm16x2:B,unorm16x4:v,snorm16:h,snorm16x2:B,snorm16x4:v,float16:h,float16x2:B,float16x4:v,float32:h,float32x2:B,float32x3:Le,float32x4:v,uint32:p,uint32x2:he,uint32x3:E,uint32x4:de,sint32:T,sint32x2:pe,sint32x3:je,sint32x4:xe,"unorm10-10-10-2":v,"unorm8x4-bgra":v},Ge=new Set(Object.keys(De)),$i=new a("uint8"),ki=new a("uint8x2"),Fi=new a("uint8x4"),Pi=new a("sint8"),Bi=new a("sint8x2"),Ei=new a("sint8x4"),Ui=new a("unorm8"),Ni=new a("unorm8x2"),Ri=new a("unorm8x4"),Wi=new a("snorm8"),Ci=new a("snorm8x2"),Oi=new a("snorm8x4"),Mi=new a("uint16"),Li=new a("uint16x2"),ji=new a("uint16x4"),Gi=new a("sint16"),Ki=new a("sint16x2"),Yi=new a("sint16x4"),Hi=new a("unorm16"),qi=new a("unorm16x2"),Ji=new a("unorm16x4"),Xi=new a("snorm16"),Zi=new a("snorm16x2"),Qi=new a("snorm16x4"),es=new a("float16"),ts=new a("float16x2"),ns=new a("float16x4"),rs=new a("float32"),is=new a("float32x2"),ss=new a("float32x3"),os=new a("float32x4"),as=new a("uint32"),us=new a("uint32x2"),cs=new a("uint32x3"),ys=new a("uint32x4"),ls=new a("sint32"),ps=new a("sint32x2"),hs=new a("sint32x3"),xs=new a("sint32x4"),ds=new a("unorm10-10-10-2"),ms=new a("unorm8x4-bgra");function fs(e){return u(e)&&Ge.has(e?.type)}function Bt(e){let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(n){return console.error("Error parsing JSON:",n),"<invalid json>"}}function Pt(e){return Ee(e)||Xe(e)?e.toString():Array.isArray(e)?`[${e.map(Pt).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,n])=>`${t}: ${Pt(n)}`).join(", ")} }`:String(e)}var gn={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,vec2b:8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,vec3b:16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,vec4b:16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function vn(e){let t=e?.type,n=gn[t];if(n!==void 0)return n;if(we(e))return Object.values(e.propTypes).map(V).reduce((r,i)=>r>i?r:i);if(fe(e))return V(e.elementType);if(ye(e)){let r=Object.values(e.propTypes)[0];return r?O(r)??1:1}if(ce(e))return O(e.elementType)??1;if(_(e)||I(e))return O(e)??V(e.inner);if(Ge.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${Bt(e)}`)}function bn(e){if(ye(e)){let t=Object.values(e.propTypes)[0];return t?re(t):1}return ce(e)?re(e.elementType):I(e)?O(e)??re(e.inner):O(e)??1}var Et=new WeakMap,Ut=new WeakMap;function V(e){let t=Et.get(e);return t===void 0&&(t=vn(e),Et.set(e,t)),t}function re(e){let t=Ut.get(e);return t===void 0&&(t=bn(e),Ut.set(e,t)),t}function Ss(e){return V(e)}var ie=(e,t)=>{let n=t-1,r=~n;return(e&n)===0?e:(e&r)+t};var Vn={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2<bool>":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3<bool>":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4<bool>":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function zn(e){let t=0,n=e.propTypes;for(let r of Object.values(n)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");if(t=ie(t,V(r)),t+=z(r),Number.isNaN(t)&&r.type!=="array")throw new Error("Cannot nest unbounded struct within another struct")}return ie(t,V(e))}function Sn(e){let t=0,n=e.propTypes;for(let r of Object.values(n)){let i=re(r);t=ie(t,i),t+=z(r)}return t}function In(e){let t=Vn[e?.type];if(t!==void 0)return t;if(we(e))return zn(e);if(ye(e))return Sn(e);if(fe(e)){if(e.elementCount===0)return Number.NaN;let n=V(e.elementType);return ie(z(e.elementType),n)*e.elementCount}if(ce(e)){let n=re(e.elementType);return ie(z(e.elementType),n)*e.elementCount}if(_(e)||I(e))return at(e)??z(e.inner);throw new Error(`Cannot determine size of data: ${e}`)}var Nt=new WeakMap;function z(e){let t=Nt.get(e);return t===void 0&&(t=In(e),Nt.set(e,t)),t}function Fs(e){return z(e)}function W(e,t){return _(e)?new ke(e.inner,[t,...e.attribs]):I(e)?new Fe(e.inner,[t,...e.attribs]):Re(e)?new Fe(e,[t]):new ke(e,[t])}function Ws(e,t){return W(t,{[s]:!0,type:"@align",params:[e]})}function Cs(e,t){return W(t,{[s]:!0,type:"@size",params:[e]})}function Os(e,t){return W(t,{[s]:!0,type:"@location",params:[e]})}function Ms(e,t){return W(t,{[s]:!0,type:"@interpolate",params:[e]})}function Ls(e){if(!_n(e))throw new Error("The @invariant attribute must only be applied to the position built-in value.");let t=_(e)||I(e)?e.attribs.find(Ne):void 0;if(!t||t.params[0]!=="position")throw new Error("The @invariant attribute must only be applied to the position built-in value.");return W(e,{[s]:!0,type:"@invariant",params:[]})}function _n(e){return(_(e)||I(e))&&e.attribs.find(Ne)!==void 0}function js(e){return!_(e)&&!I(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var $e=class{constructor(t,n){this.inner=t;this.attribs=n;let r=n.find(Te)?.params[0],i=n.find(ge)?.params[0];if(r!==void 0){if(r<=0)throw new Error(`Custom data alignment must be a positive number, got: ${r}.`);if(Math.log2(r)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${r}.`);if(C(this.inner)&&r%V(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${r}, expected multiple of: ${V(this.inner)}.`)}if(i!==void 0){if(i<z(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${i}, expected at least: ${z(this.inner)}.`);if(i<=0)throw new Error(`Custom data size must be a positive number. Got: ${i}.`)}}[s]=!0},ke=class extends $e{[s]=!0;type="decorated"},Fe=class extends $e{[s]=!0;type="loose-decorated"};function Pe(e,t){let n=e?.type,r=n in De?De[n]:e;return typeof r!="function"?t:t===void 0?r():r(t)}function Xs(e){return Rt(e,!1)}function Zs(e){return Rt(e,!0)}function Rt(e,t){let n=r=>Object.fromEntries(Object.entries(e).map(([i,o])=>[i,Pe(o,r?.[i])]));return Object.setPrototypeOf(n,An),n.propTypes=e,Object.defineProperty(n,s,{value:{isAbstruct:t}}),n}var An={type:"struct",$name(e){return k(this,e),this},toString(){return`struct:${D(this)??"<unnamed>"}`}};var Ye=kt(((e,t)=>t===void 0?n=>Ke(e,n):Ke(e,t)),(e,t)=>{if(t?.value===void 0){let n=r=>Ye[s].gpuImpl(e,r);return n[s]=!0,x(n,ut)}if(typeof t.value!="number")throw new Error(`Cannot create array schema with count unknown at compile-time: '${t.value}'`);return x(Ke(e.value,t.value),e.value)},"arrayOf");function Ke(e,t){let n=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(i,o)=>Pe(e,r?.[o]))};if(Object.setPrototypeOf(n,Dn),Number.isNaN(z(e)))throw new Error("Cannot nest runtime sized arrays.");if(n.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return n.elementCount=t,n}var Dn={[s]:!0,type:"array",toString(){return`arrayOf(${this.elementType}, ${this.elementCount})`}};function w(e,t){return W(e,{[s]:!0,type:"@builtin",params:[t]})}var po={vertexIndex:w(p,"vertex_index"),instanceIndex:w(p,"instance_index"),position:w(v,"position"),clipDistances:w(Ye(p,8),"clip_distances"),frontFacing:w(b,"front_facing"),fragDepth:w(h,"frag_depth"),sampleIndex:w(p,"sample_index"),sampleMask:w(p,"sample_mask"),localInvocationId:w(E,"local_invocation_id"),localInvocationIndex:w(p,"local_invocation_index"),globalInvocationId:w(E,"global_invocation_id"),workgroupId:w(E,"workgroup_id"),numWorkgroups:w(E,"num_workgroups"),subgroupInvocationId:w(p,"subgroup_invocation_id"),subgroupSize:w(p,"subgroup_size")};export{s as a,Fn as b,me as c,He as d,qe as e,oe as f,Je as g,u as h,Qn as i,D as j,k,Ht as l,tt as m,nt as n,rt as o,tr as p,Ln as q,Ee as r,Ot as s,Mt as t,Lt as u,ae as v,Xe as w,jt as x,Gt as y,Ue as z,jn as A,C as B,fe as C,we as D,Gn as E,Kn as F,Te as G,ge as H,Ze as I,Yn as J,Ne as K,_ as L,Hn as M,Qe as N,qn as O,S as P,Re as Q,ce as R,ye as S,I as T,ar as U,ur as V,ut as W,it as X,st as Y,ot as Z,Ce as _,vr as $,x as aa,Ve as ba,ct as ca,yt as da,lt as ea,pt as fa,ht as ga,xt as ha,dt as ia,mt as ja,ft as ka,be as la,wt as ma,Tt as na,gt as oa,mr as pa,Se as qa,vt as ra,bt as sa,Xt as ta,Vt as ua,Ar as va,Dr as wa,Pr as xa,Br as ya,Er as za,zt as Aa,Zt as Ba,Ur as Ca,Oe as Da,d as Ea,Cr as Fa,It as Ga,At as Ha,Jr as Ia,Dt as Ja,$t as Ka,Xr as La,kt as Ma,Ae as Na,P as Oa,ci as Pa,yi as Qa,b as Ra,p as Sa,li as Ta,T as Ua,h as Va,$ as Wa,le as Xa,B as Ya,xn as Za,pe as _a,he as $a,dn as ab,Le as bb,mn as cb,je as db,E as eb,fn as fb,v as gb,wn as hb,xe as ib,de as jb,Tn as kb,zi as lb,Bt as mb,Pt as nb,De as ob,Ge as pb,$i as qb,ki as rb,Fi as sb,Pi as tb,Bi as ub,Ei as vb,Ui as wb,Ni as xb,Ri as yb,Wi as zb,Ci as Ab,Oi as Bb,Mi as Cb,Li as Db,ji as Eb,Gi as Fb,Ki as Gb,Yi as Hb,Hi as Ib,qi as Jb,Ji as Kb,Xi as Lb,Zi as Mb,Qi as Nb,es as Ob,ts as Pb,ns as Qb,rs as Rb,is as Sb,ss as Tb,os as Ub,as as Vb,us as Wb,cs as Xb,ys as Yb,ls as Zb,ps as _b,hs as $b,xs as ac,ds as bc,ms as cc,fs as dc,V as ec,re as fc,Ss as gc,ie as hc,z as ic,Fs as jc,Ws as kc,Cs as lc,Os as mc,Ms as nc,Ls as oc,_n as pc,js as qc,Pe as rc,Xs as sc,Zs as tc,Ye as uc,po as vc};
10
- //# sourceMappingURL=chunk-XEUNEHAZ.js.map
9
+ Consider using explicit conversions instead.`),e.map((s,p)=>{let y=i.actions[p];return Ve(y,"Action should not be undefined"),en(s,y,i.targetType)})}function Dt(e,t,n=!0){if(t===e.dataType)return x(e.value,t);if(e.dataType.type==="unknown")return x(d`${x(e.value,t)}`,t);let r=At([e],[t],n);if(!r)throw new be(`Cannot convert value of type '${e.dataType.type}' to type '${t.type}'`);return r[0]}function qr(e,t){return Object.keys(e.propTypes).map(r=>{let i=t[r];if(!i)throw new Error(`Missing property ${r}`);let s=e.propTypes[r];return At([i],[s])?.[0]??i})}function tn(e){return typeof e!="string"&&Vt(e)===void 0}function $t(e,t,n,r="keep"){let i=((...s)=>Oe()?t(...s):e(...s));return k(i,n),i.toString=()=>n,Object.defineProperty(i,o,{value:{jsImpl:e,gpuImpl:t,argConversionHint:r}}),i}var Ae=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};function P(e){let t=(...r)=>{let{argTypes:i,returnType:s}=typeof e.signature=="function"?e.signature(...r.map(l=>l.dataType)):e.signature,y=r.map((l,g)=>Dt(l,i[g],!e.ignoreImplicitCastWarning));if(y.every(l=>tn(l.value))&&typeof e.normalImpl=="function")try{return x(e.normalImpl(...y.map(l=>l.value)),s)}catch(l){if(!(l instanceof Ae))throw l}return x(e.codegenImpl(...y),s)},n=((...r)=>{if(Oe())return t(...r);if(typeof e.normalImpl=="string")throw new Ae(e.normalImpl);return e.normalImpl(...r)});return k(n,e.name),n.toString=()=>e.name,Object.defineProperty(n,o,{value:{jsImpl:e.normalImpl,gpuImpl:t,argConversionHint:"keep"}}),n}var ai={[o]:!0,type:"abstractInt",toString(){return"abstractInt"}},ui={[o]:!0,type:"abstractFloat",toString(){return"abstractFloat"}},nn=P({name:"bool",signature:e=>({argTypes:e?[e]:[],returnType:b}),normalImpl(e){return e===void 0?!1:typeof e=="boolean"?e:!!e},codegenImpl:e=>e.dataType.type==="bool"?d`${e}`:d`bool(${e})`}),b=Object.assign(nn,{type:"bool"}),rn=P({name:"u32",signature:e=>({argTypes:e?[e]:[],returnType:c}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:(e&4294967295)>>>0},codegenImpl:e=>e.dataType.type==="u32"?d`${e}`:d`u32(${e})`}),c=Object.assign(rn,{type:"u32"}),sn=P({name:"i32",signature:e=>({argTypes:e?[e]:[],returnType:T}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:e|0},codegenImpl:e=>e.dataType.type==="i32"?d`${e}`:d`i32(${e})`}),ci={[o]:!0,type:"u16"},T=Object.assign(sn,{type:"i32"}),on=P({name:"f32",signature:e=>({argTypes:e?[e]:[],returnType:h}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:Math.fround(e)},codegenImpl:e=>e.dataType.type==="f32"?d`${e}`:d`f32(${e})`}),h=Object.assign(on,{type:"f32"}),kt=new ArrayBuffer(4),an=new Float32Array(kt),un=new Uint32Array(kt);function cn(e){an[0]=e;let t=un[0],n=t>>>31&1,r=t>>>23&255,i=t&8388607;return r===255?n<<15|31744|(i?512:0):(r=r-127+15,r<=0?r<-10?n<<15:(i=(i|8388608)>>1-r,i=i+4096>>13,n<<15|i):r>=31||(i=i+4096,i&8388608&&(i=0,++r,r>=31))?n<<15|31744:n<<15|r<<10|i>>13)}function yn(e){let t=e&32768?-1:1,n=e>>10&31,r=e&1023;return n===0?r?t*r*2**-24:t*0:n===31?r?Number.NaN:t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t*(1+r/1024)*2**(n-15)}function ln(e){return yn(cn(e))}var pn=P({name:"f16",signature:e=>({argTypes:e?[e]:[],returnType:$}),normalImpl(e){return e===void 0?0:typeof e=="boolean"?e?1:0:ln(e)},codegenImpl:e=>e.dataType.type==="f16"?d`${e}`:d`f16(${e})`}),$=Object.assign(pn,{type:"f16"});var le=class extends Array{castElement(){return this[o].elementSchema[o].jsImpl}[oe](){let t=this[o].elementSchema;return this.every(n=>!n)?x(`${this.kind}()`,t):this.every(n=>this[0]===n)?x(`${this.kind}(${this[0]})`,t):x(`${this.kind}(${this.join(", ")})`,t)}toString(){return this[oe]().value}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])}},U=class extends le{e0;e1;constructor(t,n){super(2),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t)}get 0(){return this.e0}get 1(){return this.e1}set 0(t){this.e0=this.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}get x(){return this[0]}get y(){return this[1]}set x(t){this[0]=this.castElement()(t)}set y(t){this[1]=this.castElement()(t)}},N=class extends le{e0;e1;e2;constructor(t,n,r){super(3),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t),this.e2=this.castElement()(r??t)}get 0(){return this.e0}get 1(){return this.e1}get 2(){return this.e2}set 0(t){this.e0=this.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}set 2(t){this.e2=this.castElement()(t)}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=this.castElement()(t)}set y(t){this[1]=this.castElement()(t)}set z(t){this[2]=this.castElement()(t)}},R=class extends le{e0;e1;e2;e3;constructor(t,n,r,i){super(4),this.e0=this.castElement()(t),this.e1=this.castElement()(n??t),this.e2=this.castElement()(r??t),this.e3=this.castElement()(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.castElement()(t)}set 1(t){this.e1=this.castElement()(t)}set 2(t){this.e2=this.castElement()(t)}set 3(t){this.e3=this.castElement()(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}},M=class e extends U{get[o](){return{elementSchema:h}}get kind(){return"vec2f"}get _Vec2(){return e}get _Vec3(){return Y}get _Vec4(){return Z}},L=class e extends U{get[o](){return{elementSchema:$}}get kind(){return"vec2h"}get _Vec2(){return e}get _Vec3(){return H}get _Vec4(){return Q}},j=class e extends U{get[o](){return{elementSchema:T}}get kind(){return"vec2i"}get _Vec2(){return e}get _Vec3(){return q}get _Vec4(){return ee}},G=class e extends U{get[o](){return{elementSchema:c}}get kind(){return"vec2u"}get _Vec2(){return e}get _Vec3(){return J}get _Vec4(){return te}},K=class e extends U{get[o](){return{elementSchema:b}}get kind(){return"vec2<bool>"}get _Vec2(){return e}get _Vec3(){return X}get _Vec4(){return ne}},Y=class e extends N{get[o](){return{elementSchema:h}}get kind(){return"vec3f"}get _Vec2(){return M}get _Vec3(){return e}get _Vec4(){return Z}},H=class e extends N{get[o](){return{elementSchema:$}}get kind(){return"vec3h"}get _Vec2(){return L}get _Vec3(){return e}get _Vec4(){return Q}},q=class e extends N{get[o](){return{elementSchema:T}}get kind(){return"vec3i"}get _Vec2(){return j}get _Vec3(){return e}get _Vec4(){return ee}},J=class e extends N{get[o](){return{elementSchema:c}}get kind(){return"vec3u"}get _Vec2(){return G}get _Vec3(){return e}get _Vec4(){return te}},X=class e extends N{get[o](){return{elementSchema:b}}get kind(){return"vec3<bool>"}get _Vec2(){return K}get _Vec3(){return e}get _Vec4(){return ne}},Z=class e extends R{get[o](){return{elementSchema:h}}get kind(){return"vec4f"}get _Vec2(){return M}get _Vec3(){return Y}get _Vec4(){return e}},Q=class e extends R{get[o](){return{elementSchema:$}}get kind(){return"vec4h"}get _Vec2(){return L}get _Vec3(){return H}get _Vec4(){return e}},ee=class e extends R{get[o](){return{elementSchema:T}}get kind(){return"vec4i"}get _Vec2(){return j}get _Vec3(){return q}get _Vec4(){return e}},te=class e extends R{get[o](){return{elementSchema:c}}get kind(){return"vec4u"}get _Vec2(){return G}get _Vec3(){return J}get _Vec4(){return e}},ne=class e extends R{get[o](){return{elementSchema:b}}get kind(){return"vec4<bool>"}get _Vec2(){return K}get _Vec3(){return X}get _Vec4(){return e}};var B=f(M,h),hn=f(L,$),pe=f(j,T),he=f(G,c),xn=f(K,b),Le=f(Y,h),dn=f(H,$),je=f(q,T),E=f(J,c),mn=f(X,b),v=f(Z,h),fn=f(Q,$),xe=f(ee,T),de=f(te,c),wn=f(ne,b),bi={vec2f:B,vec2h:hn,vec2i:pe,vec2u:he,"vec2<bool>":xn,vec3f:Le,vec3h:dn,vec3i:je,vec3u:E,"vec3<bool>":mn,vec4f:v,vec4h:fn,vec4i:xe,vec4u:de,"vec4<bool>":wn};function f(e,t){let{kind:n,length:r}=new e,s=P({name:n,signature:(...y)=>({argTypes:y.map(l=>{let g=S(l);return ae(g)?g:t}),returnType:p}),normalImpl:(...y)=>{let l=new Array(y.length),g=0;for(let se of y)if(typeof se=="number"||typeof se=="boolean")l[g++]=se;else for(let Be=0;Be<se.length;++Be)l[g++]=se[Be];if(l.length<=1||l.length===r)return new e(...l);throw new Error(`'${n}' constructor called with invalid number of arguments.`)},ignoreImplicitCastWarning:!0,codegenImpl:(...y)=>d`${n}(${y})`}),p=Object.assign(s,{type:n,primitive:t,[Je]:void 0});return p}var a=class{constructor(t){this.type=t}[o]=!0},De={uint8:c,uint8x2:he,uint8x4:de,sint8:T,sint8x2:pe,sint8x4:xe,unorm8:h,unorm8x2:B,unorm8x4:v,snorm8:h,snorm8x2:B,snorm8x4:v,uint16:c,uint16x2:he,uint16x4:de,sint16:T,sint16x2:pe,sint16x4:xe,unorm16:h,unorm16x2:B,unorm16x4:v,snorm16:h,snorm16x2:B,snorm16x4:v,float16:h,float16x2:B,float16x4:v,float32:h,float32x2:B,float32x3:Le,float32x4:v,uint32:c,uint32x2:he,uint32x3:E,uint32x4:de,sint32:T,sint32x2:pe,sint32x3:je,sint32x4:xe,"unorm10-10-10-2":v,"unorm8x4-bgra":v},Ge=new Set(Object.keys(De)),Ai=new a("uint8"),Di=new a("uint8x2"),$i=new a("uint8x4"),ki=new a("sint8"),Fi=new a("sint8x2"),Pi=new a("sint8x4"),Bi=new a("unorm8"),Ei=new a("unorm8x2"),Ui=new a("unorm8x4"),Ni=new a("snorm8"),Ri=new a("snorm8x2"),Wi=new a("snorm8x4"),Ci=new a("uint16"),Oi=new a("uint16x2"),Mi=new a("uint16x4"),Li=new a("sint16"),ji=new a("sint16x2"),Gi=new a("sint16x4"),Ki=new a("unorm16"),Yi=new a("unorm16x2"),Hi=new a("unorm16x4"),qi=new a("snorm16"),Ji=new a("snorm16x2"),Xi=new a("snorm16x4"),Zi=new a("float16"),Qi=new a("float16x2"),es=new a("float16x4"),ts=new a("float32"),ns=new a("float32x2"),rs=new a("float32x3"),is=new a("float32x4"),ss=new a("uint32"),os=new a("uint32x2"),as=new a("uint32x3"),us=new a("uint32x4"),cs=new a("sint32"),ys=new a("sint32x2"),ls=new a("sint32x3"),ps=new a("sint32x4"),hs=new a("unorm10-10-10-2"),xs=new a("unorm8x4-bgra");function ds(e){return u(e)&&Ge.has(e?.type)}function Pt(e){let t=String(e);if(t!=="[object Object]")return t;try{return JSON.stringify(e)}catch(n){return console.error("Error parsing JSON:",n),"<invalid json>"}}function Ft(e){return Ee(e)||Xe(e)?e.toString():Array.isArray(e)?`[${e.map(Ft).join(", ")}]`:e&&typeof e=="object"?`{ ${Object.entries(e).map(([t,n])=>`${t}: ${Ft(n)}`).join(", ")} }`:String(e)}var Tn={f32:4,f16:2,i32:4,u32:4,bool:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,vec2b:8,vec3f:16,vec3h:8,vec3i:16,vec3u:16,vec3b:16,vec4f:16,vec4h:8,vec4i:16,vec4u:16,vec4b:16,mat2x2f:8,mat3x3f:16,mat4x4f:16,atomic:4};function gn(e){let t=e?.type,n=Tn[t];if(n!==void 0)return n;if(we(e))return Object.values(e.propTypes).map(V).reduce((r,i)=>r>i?r:i);if(fe(e))return V(e.elementType);if(ye(e)){let r=Object.values(e.propTypes)[0];return r?O(r)??1:1}if(ce(e))return O(e.elementType)??1;if(_(e)||I(e))return O(e)??V(e.inner);if(Ge.has(t))return 1;throw new Error(`Cannot determine alignment of data: ${Pt(e)}`)}function vn(e){if(ye(e)){let t=Object.values(e.propTypes)[0];return t?re(t):1}return ce(e)?re(e.elementType):I(e)?O(e)??re(e.inner):O(e)??1}var Bt=new WeakMap,Et=new WeakMap;function V(e){let t=Bt.get(e);return t===void 0&&(t=gn(e),Bt.set(e,t)),t}function re(e){let t=Et.get(e);return t===void 0&&(t=vn(e),Et.set(e,t)),t}function Vs(e){return V(e)}var ie=(e,t)=>{let n=t-1,r=~n;return(e&n)===0?e:(e&r)+t};var bn={bool:4,f32:4,f16:2,i32:4,u32:4,u16:2,vec2f:8,vec2h:4,vec2i:8,vec2u:8,"vec2<bool>":8,vec3f:12,vec3h:6,vec3i:12,vec3u:12,"vec3<bool>":12,vec4f:16,vec4h:8,vec4i:16,vec4u:16,"vec4<bool>":16,mat2x2f:16,mat3x3f:48,mat4x4f:64,uint8:1,uint8x2:2,uint8x4:4,sint8:1,sint8x2:2,sint8x4:4,unorm8:1,unorm8x2:2,unorm8x4:4,snorm8:1,snorm8x2:2,snorm8x4:4,uint16:2,uint16x2:4,uint16x4:8,sint16:2,sint16x2:4,sint16x4:8,unorm16:2,unorm16x2:4,unorm16x4:8,snorm16:2,snorm16x2:4,snorm16x4:8,float16:2,float16x2:4,float16x4:8,float32:4,float32x2:8,float32x3:12,float32x4:16,uint32:4,uint32x2:8,uint32x3:12,uint32x4:16,sint32:4,sint32x2:8,sint32x3:12,sint32x4:16,"unorm10-10-10-2":4,"unorm8x4-bgra":4,atomic:4};function Vn(e){let t=0,n=e.propTypes;for(let r of Object.values(n)){if(Number.isNaN(t))throw new Error("Only the last property of a struct can be unbounded");if(t=ie(t,V(r)),t+=z(r),Number.isNaN(t)&&r.type!=="array")throw new Error("Cannot nest unbounded struct within another struct")}return ie(t,V(e))}function zn(e){let t=0,n=e.propTypes;for(let r of Object.values(n)){let i=re(r);t=ie(t,i),t+=z(r)}return t}function Sn(e){let t=bn[e?.type];if(t!==void 0)return t;if(we(e))return Vn(e);if(ye(e))return zn(e);if(fe(e)){if(e.elementCount===0)return Number.NaN;let n=V(e.elementType);return ie(z(e.elementType),n)*e.elementCount}if(ce(e)){let n=re(e.elementType);return ie(z(e.elementType),n)*e.elementCount}if(_(e)||I(e))return at(e)??z(e.inner);throw new Error(`Cannot determine size of data: ${e}`)}var Ut=new WeakMap;function z(e){let t=Ut.get(e);return t===void 0&&(t=Sn(e),Ut.set(e,t)),t}function $s(e){return z(e)}function W(e,t){return _(e)?new ke(e.inner,[t,...e.attribs]):I(e)?new Fe(e.inner,[t,...e.attribs]):Re(e)?new Fe(e,[t]):new ke(e,[t])}function Ns(e,t){return W(t,{[o]:!0,type:"@align",params:[e]})}function Rs(e,t){return W(t,{[o]:!0,type:"@size",params:[e]})}function Ws(e,t){return W(t,{[o]:!0,type:"@location",params:[e]})}function Cs(e,t){return W(t,{[o]:!0,type:"@interpolate",params:[e]})}function Os(e){if(!In(e))throw new Error("The @invariant attribute must only be applied to the position built-in value.");let t=_(e)||I(e)?e.attribs.find(Ne):void 0;if(!t||t.params[0]!=="position")throw new Error("The @invariant attribute must only be applied to the position built-in value.");return W(e,{[o]:!0,type:"@invariant",params:[]})}function In(e){return(_(e)||I(e))&&e.attribs.find(Ne)!==void 0}function Ms(e){return!_(e)&&!I(e)?"":e.attribs.map(t=>t.params.length===0?`${t.type} `:`${t.type}(${t.params.join(", ")}) `).join("")}var $e=class{constructor(t,n){this.inner=t;this.attribs=n;let r=n.find(Te)?.params[0],i=n.find(ge)?.params[0];if(r!==void 0){if(r<=0)throw new Error(`Custom data alignment must be a positive number, got: ${r}.`);if(Math.log2(r)%1!==0)throw new Error(`Alignment has to be a power of 2, got: ${r}.`);if(C(this.inner)&&r%V(this.inner)!==0)throw new Error(`Custom alignment has to be a multiple of the standard data alignment. Got: ${r}, expected multiple of: ${V(this.inner)}.`)}if(i!==void 0){if(i<z(this.inner))throw new Error(`Custom data size cannot be smaller then the standard data size. Got: ${i}, expected at least: ${z(this.inner)}.`);if(i<=0)throw new Error(`Custom data size must be a positive number. Got: ${i}.`)}}[o]=!0},ke=class extends $e{[o]=!0;type="decorated"},Fe=class extends $e{[o]=!0;type="loose-decorated"};function Pe(e,t){let n=e?.type,r=n in De?De[n]:e;return typeof r!="function"?t:t===void 0?r():r(t)}function qs(e){return Nt(e,!1)}function Js(e){return Nt(e,!0)}function Nt(e,t){let n=r=>Object.fromEntries(Object.entries(e).map(([i,s])=>[i,Pe(s,r?.[i])]));return Object.setPrototypeOf(n,_n),n.propTypes=e,Object.defineProperty(n,o,{value:{isAbstruct:t}}),n}var _n={type:"struct",$name(e){return k(this,e),this},toString(){return`struct:${D(this)??"<unnamed>"}`}};var Ye=$t(((e,t)=>t===void 0?n=>Ke(e,n):Ke(e,t)),(e,t)=>{if(t?.value===void 0){let n=r=>Ye[o].gpuImpl(e,r);return n[o]=!0,x(n,ut)}if(typeof t.value!="number")throw new Error(`Cannot create array schema with count unknown at compile-time: '${t.value}'`);return x(Ke(e.value,t.value),e.value)},"arrayOf");function Ke(e,t){let n=r=>{if(r&&r.length!==t)throw new Error(`Array schema of ${t} elements of type ${e.type} called with ${r.length} argument(s).`);return Array.from({length:t},(i,s)=>Pe(e,r?.[s]))};if(Object.setPrototypeOf(n,An),Number.isNaN(z(e)))throw new Error("Cannot nest runtime sized arrays.");if(n.elementType=e,!Number.isInteger(t)||t<0)throw new Error(`Cannot create array schema with invalid element count: ${t}.`);return n.elementCount=t,n}var An={[o]:!0,type:"array",toString(){return`arrayOf(${this.elementType}, ${this.elementCount})`}};function w(e,t){return W(e,{[o]:!0,type:"@builtin",params:[t]})}var yo={vertexIndex:w(c,"vertex_index"),instanceIndex:w(c,"instance_index"),position:w(v,"position"),clipDistances:w(Ye(c,8),"clip_distances"),frontFacing:w(b,"front_facing"),fragDepth:w(h,"frag_depth"),sampleIndex:w(c,"sample_index"),sampleMask:w(c,"sample_mask"),localInvocationId:w(E,"local_invocation_id"),localInvocationIndex:w(c,"local_invocation_index"),globalInvocationId:w(E,"global_invocation_id"),workgroupId:w(E,"workgroup_id"),numWorkgroups:w(E,"num_workgroups"),subgroupInvocationId:w(c,"subgroup_invocation_id"),subgroupSize:w(c,"subgroup_size")};export{o as a,kn as b,me as c,He as d,qe as e,oe as f,Je as g,u as h,Zn as i,D as j,k,Yt as l,tt as m,nt as n,rt as o,er as p,Mn as q,Ee as r,Ct as s,Ot as t,Mt as u,ae as v,Xe as w,Lt as x,jt as y,Ue as z,Ln as A,C as B,fe as C,we as D,jn as E,Gn as F,Te as G,ge as H,Ze as I,Kn as J,Ne as K,_ as L,Yn as M,Qe as N,Hn as O,S as P,Re as Q,ce as R,ye as S,I as T,or as U,ar as V,ut as W,it as X,st as Y,ot as Z,Ce as _,gr as $,x as aa,Ve as ba,ct as ca,yt as da,lt as ea,pt as fa,ht as ga,xt as ha,dt as ia,mt as ja,ft as ka,be as la,wt as ma,Tt as na,gt as oa,dr as pa,Se as qa,vt as ra,bt as sa,Jt as ta,Vt as ua,_r as va,Ar as wa,Fr as xa,Pr as ya,Br as za,zt as Aa,Xt as Ba,Er as Ca,Oe as Da,d as Ea,St as Fa,_t as Ga,Hr as Ha,At as Ia,Dt as Ja,qr as Ka,$t as La,Ae as Ma,P as Na,ai as Oa,ui as Pa,b as Qa,c as Ra,ci as Sa,T as Ta,h as Ua,$ as Va,le as Wa,B as Xa,hn as Ya,pe as Za,he as _a,xn as $a,Le as ab,dn as bb,je as cb,E as db,mn as eb,v as fb,fn as gb,xe as hb,de as ib,wn as jb,bi as kb,Pt as lb,Ft as mb,De as nb,Ge as ob,Ai as pb,Di as qb,$i as rb,ki as sb,Fi as tb,Pi as ub,Bi as vb,Ei as wb,Ui as xb,Ni as yb,Ri as zb,Wi as Ab,Ci as Bb,Oi as Cb,Mi as Db,Li as Eb,ji as Fb,Gi as Gb,Ki as Hb,Yi as Ib,Hi as Jb,qi as Kb,Ji as Lb,Xi as Mb,Zi as Nb,Qi as Ob,es as Pb,ts as Qb,ns as Rb,rs as Sb,is as Tb,ss as Ub,os as Vb,as as Wb,us as Xb,cs as Yb,ys as Zb,ls as _b,ps as $b,hs as ac,xs as bc,ds as cc,V as dc,re as ec,Vs as fc,ie as gc,z as hc,$s as ic,Ns as jc,Rs as kc,Ws as lc,Cs as mc,Os as nc,In as oc,Ms as pc,Pe as qc,qs as rc,Js as sc,Ye as tc,yo as uc};
10
+ //# sourceMappingURL=chunk-4W5Z7BO4.js.map