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
@@ -1,4 +1,4 @@
1
- import { bB as Mat2x2f, bC as Mat3x3f, bD as Mat4x4f, by as m2x2f, bz as m3x3f, bA as m4x4f, b9 as DualFn, bK as v3f } from './tgpuConstant-DzGgwe0I.cjs';
1
+ import { bB as Mat2x2f, bC as Mat3x3f, bD as Mat4x4f, by as m2x2f, bz as m3x3f, bA as m4x4f, b9 as DualFn, bK as v3f } from './tgpuConstant-BU72w5qs.cjs';
2
2
 
3
3
  /**
4
4
  * Returns a 2-by-2 identity matrix.
@@ -1,4 +1,4 @@
1
- import { bB as Mat2x2f, bC as Mat3x3f, bD as Mat4x4f, by as m2x2f, bz as m3x3f, bA as m4x4f, b9 as DualFn, bK as v3f } from './tgpuConstant-DzGgwe0I.js';
1
+ import { bB as Mat2x2f, bC as Mat3x3f, bD as Mat4x4f, by as m2x2f, bz as m3x3f, bA as m4x4f, b9 as DualFn, bK as v3f } from './tgpuConstant-BU72w5qs.js';
2
2
 
3
3
  /**
4
4
  * Returns a 2-by-2 identity matrix.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typegpu",
3
3
  "private": false,
4
- "version": "0.8.0",
4
+ "version": "0.8.1",
5
5
  "description": "A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.",
6
6
  "license": "MIT",
7
7
  "type": "module",
package/std/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkU3CXOCRGcjs = require('../chunk-U3CXOCRG.cjs');var _chunkM2P3FJT7cjs = require('../chunk-M2P3FJT7.cjs');var _chunkLL6NPRFEcjs = require('../chunk-LL6NPRFE.cjs');var _chunkA5APHF7Kcjs = require('../chunk-A5APHF7K.cjs');var Ct=_chunkA5APHF7Kcjs.Ma.call(void 0, ()=>{throw new Error("`discard` relies on GPU resources and cannot be executed outside of a draw call")},()=>_chunkA5APHF7Kcjs.aa.call(void 0, "discard;",_chunkA5APHF7Kcjs.q),"discard");var h=_chunkLL6NPRFEcjs.X[_chunkA5APHF7Kcjs.a].jsImpl,At=_chunkLL6NPRFEcjs.e[_chunkA5APHF7Kcjs.a].jsImpl,St=_chunkLL6NPRFEcjs.e[_chunkA5APHF7Kcjs.a].gpuImpl,Et=_chunkLL6NPRFEcjs.f[_chunkA5APHF7Kcjs.a].jsImpl,Dt=_chunkLL6NPRFEcjs.f[_chunkA5APHF7Kcjs.a].gpuImpl,$t=_chunkLL6NPRFEcjs.g[_chunkA5APHF7Kcjs.a].jsImpl,Ft=_chunkLL6NPRFEcjs.g[_chunkA5APHF7Kcjs.a].gpuImpl,Ot=_chunkLL6NPRFEcjs.h[_chunkA5APHF7Kcjs.a].jsImpl,Vt=_chunkLL6NPRFEcjs.h[_chunkA5APHF7Kcjs.a].gpuImpl,Lt=_chunkLL6NPRFEcjs.i[_chunkA5APHF7Kcjs.a].jsImpl,Wt=_chunkLL6NPRFEcjs.i[_chunkA5APHF7Kcjs.a].gpuImpl,Bt= exports.translate4 =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>h(At(t),e),(e,t)=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`(${St(t)} * ${e})`,e.dataType),"translate4"),Nt= exports.scale4 =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>h(Et(t),e),(e,t)=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`(${Dt(t)} * ${e})`,e.dataType),"scale4"),_t= exports.rotateX4 =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>h($t(t),e),(e,t)=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`(${Ft(t)} * ${e})`,e.dataType),"rotateX4"),Mt= exports.rotateY4 =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>h(Ot(t),e),(e,t)=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`(${Vt(t)} * ${e})`,e.dataType),"rotateY4"),Gt= exports.rotateZ4 =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>h(Lt(t),e),(e,t)=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`(${Wt(t)} * ${e})`,e.dataType),"rotateZ4");var Pt=_chunkA5APHF7Kcjs.Ma.call(void 0, ()=>console.warn("workgroupBarrier is a no-op outside of CODEGEN mode."),()=>_chunkA5APHF7Kcjs.aa.call(void 0, "workgroupBarrier()",_chunkA5APHF7Kcjs.q),"workgroupBarrier"),Ut= exports.storageBarrier =_chunkA5APHF7Kcjs.Ma.call(void 0, ()=>console.warn("storageBarrier is a no-op outside of CODEGEN mode."),()=>_chunkA5APHF7Kcjs.aa.call(void 0, "storageBarrier()",_chunkA5APHF7Kcjs.q),"storageBarrier"),kt= exports.textureBarrier =_chunkA5APHF7Kcjs.Ma.call(void 0, ()=>console.warn("textureBarrier is a no-op outside of CODEGEN mode."),()=>_chunkA5APHF7Kcjs.aa.call(void 0, "textureBarrier()",_chunkA5APHF7Kcjs.q),"textureBarrier"),Xt= exports.atomicLoad =_chunkA5APHF7Kcjs.Ma.call(void 0, e=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},e=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicLoad(&${e})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicLoad"),Rt= exports.atomicStore =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(!_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)||e.dataType.type!=="atomic")throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`);return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicStore(&${e}, ${t})`,_chunkA5APHF7Kcjs.q)},"atomicStore"),f=(e,t)=>e.dataType.type==="atomic"&&e.dataType.inner.type==="i32"?[e.dataType,_chunkA5APHF7Kcjs.Ua]:[e.dataType,_chunkA5APHF7Kcjs.Sa],Zt= exports.atomicAdd =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicAdd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicAdd",f),jt= exports.atomicSub =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicSub(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicSub",f),Yt= exports.atomicMax =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicMax(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicMax",f),qt= exports.atomicMin =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicMin(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicMin",f),zt= exports.atomicAnd =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicAnd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicAnd",f),Ht= exports.atomicOr =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicOr(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicOr",f),Jt= exports.atomicXor =_chunkA5APHF7Kcjs.Ma.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkA5APHF7Kcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`atomicXor(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkA5APHF7Kcjs.mb.call(void 0, e.dataType)}`)},"atomicXor",f);function Kt(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Qt=_chunkA5APHF7Kcjs.Ma.call(void 0, Kt,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdx(${e})`,e.dataType),"dpdx");function er(e){throw new Error("Derivative builtins are not allowed on the cpu")}var tr=_chunkA5APHF7Kcjs.Ma.call(void 0, er,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdxCoarse(${e})`,e.dataType),"dpdxCoarse");function rr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var or=_chunkA5APHF7Kcjs.Ma.call(void 0, rr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdxFine(${e})`,e.dataType),"dpdxFine");function nr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ur=_chunkA5APHF7Kcjs.Ma.call(void 0, nr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdy(${e})`,e.dataType),"dpdy");function ar(e){throw new Error("Derivative builtins are not allowed on the cpu")}var pr=_chunkA5APHF7Kcjs.Ma.call(void 0, ar,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdyCoarse(${e})`,e.dataType),"dpdyCoarse");function sr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ir=_chunkA5APHF7Kcjs.Ma.call(void 0, sr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`dpdyFine(${e})`,e.dataType),"dpdyFine");function mr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var dr=_chunkA5APHF7Kcjs.Ma.call(void 0, mr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`fwidth(${e})`,e.dataType),"fwidth");function lr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var cr=_chunkA5APHF7Kcjs.Ma.call(void 0, lr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`fwidthCoarse(${e})`,e.dataType),"fwidthCoarse");function xr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Tr=_chunkA5APHF7Kcjs.Ma.call(void 0, xr,e=>_chunkA5APHF7Kcjs.aa.call(void 0, _chunkA5APHF7Kcjs.Ea`fwidthFine(${e})`,e.dataType),"fwidthFine");var k=e=>_chunkA5APHF7Kcjs.E.call(void 0, e)&&_chunkA5APHF7Kcjs.C.call(void 0, e.inner)?e.inner.elementCount:0,fr= exports.arrayLength =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"arrayLength",signature:e=>{let t=_chunkA5APHF7Kcjs.E.call(void 0, e)?e:_chunkM2P3FJT7cjs.a.call(void 0, e);return{argTypes:[t],returnType:k(t)>0?_chunkA5APHF7Kcjs.Pa:_chunkA5APHF7Kcjs.Sa}},normalImpl:e=>e.length,codegenImpl(e){let t=k(e.dataType);return t>0?String(t):_chunkA5APHF7Kcjs.Ea`arrayLength(${e})`}});function yr(e,t,d,i,s){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var br=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureSample",normalImpl:yr,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureSample(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?_chunkA5APHF7Kcjs.Va:_chunkA5APHF7Kcjs.gb}}});function vr(e,t,d,i,s,v){throw new Error("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}var gr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureSampleBias",normalImpl:vr,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureSampleBias(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkA5APHF7Kcjs.gb})});function Ir(e,t,d,i,s,v){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var hr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureSampleLevel",normalImpl:Ir,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureSampleLevel(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?_chunkA5APHF7Kcjs.Va:_chunkA5APHF7Kcjs.gb}}});function wr(e,t,d){throw new Error("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Cr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureLoad",normalImpl:wr,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureLoad(${e})`,signature:(...e)=>{let t=e[0];if(_chunkLL6NPRFEcjs.P.call(void 0, t)){let s=t.type.startsWith("texture_depth"),v=t.sampleType;return{argTypes:e,returnType:s?_chunkA5APHF7Kcjs.Va:v.type==="f32"?_chunkA5APHF7Kcjs.gb:v.type==="u32"?_chunkA5APHF7Kcjs.jb:_chunkA5APHF7Kcjs.ib}}let d=t.format,i=_chunkU3CXOCRGcjs.a[d].vectorType;return{argTypes:e,returnType:i}}});function Ar(e,t,d,i){throw new Error("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var Sr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureStore",normalImpl:Ar,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureStore(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkA5APHF7Kcjs.q})});function Er(e,t){throw new Error("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var Dr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureDimensions",normalImpl:Er,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureDimensions(${e})`,signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:_chunkA5APHF7Kcjs.Sa}:t==="3d"?{argTypes:e,returnType:_chunkA5APHF7Kcjs.eb}:{argTypes:e,returnType:_chunkA5APHF7Kcjs.$a}}});function $r(e,t,d,i,s,v){throw new Error("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}var Fr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureSampleCompare",normalImpl:$r,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureSampleCompare(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkA5APHF7Kcjs.Va})});function Or(e,t,d){throw new Error("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}var Vr=_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"textureSampleBaseClampToEdge",normalImpl:Or,codegenImpl:(...e)=>_chunkA5APHF7Kcjs.Ea`textureSampleBaseClampToEdge(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkA5APHF7Kcjs.gb})});var a="Subgroup operations can only be used in the GPU context.",Lr= exports.subgroupAdd =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupAdd(${e})`}),Wr= exports.subgroupExclusiveAdd =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupExclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupExclusiveAdd(${e})`}),Br= exports.subgroupInclusiveAdd =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupInclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupInclusiveAdd(${e})`}),Nr= exports.subgroupAll =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupAll",signature:{argTypes:[_chunkA5APHF7Kcjs.Ra],returnType:_chunkA5APHF7Kcjs.Ra},normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupAll(${e})`}),_r= exports.subgroupAnd =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupAnd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupAnd(${e})`}),Mr= exports.subgroupAny =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupAny",signature:{argTypes:[_chunkA5APHF7Kcjs.Ra],returnType:_chunkA5APHF7Kcjs.Ra},normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupAny(${e})`}),Gr= exports.subgroupBallot =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupBallot",signature:{argTypes:[_chunkA5APHF7Kcjs.Ra],returnType:_chunkA5APHF7Kcjs.jb},normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupBallot(${e})`}),Pr= exports.subgroupBroadcast =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupBroadcast",signature:(...e)=>{let t=_chunkA5APHF7Kcjs.Ia.call(void 0, [e[1]],[_chunkA5APHF7Kcjs.Ua,_chunkA5APHF7Kcjs.Sa]);if(!t)throw new Error(`subgroupBroadcast's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkA5APHF7Kcjs.Ea`subgroupBroadcast(${e}, ${t})`}),Ur= exports.subgroupBroadcastFirst =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupBroadcastFirst",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupBroadcastFirst(${e})`}),kr= exports.subgroupElect =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupElect",signature:{argTypes:[],returnType:_chunkA5APHF7Kcjs.Ra},normalImpl:a,codegenImpl:()=>_chunkA5APHF7Kcjs.Ea`subgroupElect()`}),Xr= exports.subgroupMax =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupMax",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupMax(${e})`}),Rr= exports.subgroupMin =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupMin",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupMin(${e})`}),Zr= exports.subgroupMul =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupMul(${e})`}),jr= exports.subgroupExclusiveMul =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupExclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupExclusiveMul(${e})`}),Yr= exports.subgroupInclusiveMul =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupInclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupInclusiveMul(${e})`}),qr= exports.subgroupOr =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupOr",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupOr(${e})`}),zr= exports.subgroupShuffle =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupShuffle",signature:(...e)=>{let t=_chunkA5APHF7Kcjs.Ia.call(void 0, [e[1]],[_chunkA5APHF7Kcjs.Ua,_chunkA5APHF7Kcjs.Sa]);if(!t)throw new Error(`subgroupShuffle's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkA5APHF7Kcjs.Ea`subgroupShuffle(${e}, ${t})`}),Hr= exports.subgroupShuffleDown =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupShuffleDown",signature:(...e)=>{let t=_chunkA5APHF7Kcjs.Ia.call(void 0, [e[1]],[_chunkA5APHF7Kcjs.Sa]);if(!t)throw new Error(`subgroupShuffleDown's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkA5APHF7Kcjs.Ea`subgroupShuffleDown(${e}, ${t})`}),Jr= exports.subgroupShuffleUp =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupShuffleUp",signature:(...e)=>{let t=_chunkA5APHF7Kcjs.Ia.call(void 0, [e[1]],[_chunkA5APHF7Kcjs.Sa]);if(!t)throw new Error(`subgroupShuffleUp's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkA5APHF7Kcjs.Ea`subgroupShuffleUp(${e}, ${t})`}),Kr= exports.subgroupShuffleXor =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupShuffleXor",signature:(...e)=>{let t=_chunkA5APHF7Kcjs.Ia.call(void 0, [e[1]],[_chunkA5APHF7Kcjs.Sa]);if(!t)throw new Error(`subgroupShuffleXor's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkA5APHF7Kcjs.Ea`subgroupShuffleXor(${e}, ${t})`}),Qr= exports.subgroupXor =_chunkA5APHF7Kcjs.Oa.call(void 0, {name:"subgroupXor",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkA5APHF7Kcjs.Ea`subgroupXor(${e})`});var eo=(()=>{let e=i=>{let s=_chunkA5APHF7Kcjs.Aa.call(void 0, );if(!s)throw new Error("extensionEnabled can only be called in a GPU codegen context.");return(_nullishCoalesce(s.enableExtensions, () => ([]))).includes(i)},t=i=>{let{value:s}=i;if(typeof s!="string"||!_chunkU3CXOCRGcjs.i.includes(s))throw new Error(`extensionEnabled has to be called with a string literal representing a valid WGSL extension name. Got: ${s}`);return _chunkA5APHF7Kcjs.aa.call(void 0, e(s),_chunkA5APHF7Kcjs.Ra)},d=i=>{if(_chunkA5APHF7Kcjs.Da.call(void 0, ))return t(i);throw new Error("extensionEnabled can only be called in a GPU codegen context.")};return Object.defineProperty(d,_chunkA5APHF7Kcjs.a,{value:{jsImpl:e,gpuImpl:t,argConversionHint:"keep"}}),d})();exports.abs = _chunkLL6NPRFEcjs.$; exports.acos = _chunkLL6NPRFEcjs.aa; exports.acosh = _chunkLL6NPRFEcjs.ba; exports.add = _chunkLL6NPRFEcjs.V; exports.all = _chunkU3CXOCRGcjs.u; exports.allEq = _chunkU3CXOCRGcjs.k; exports.and = _chunkU3CXOCRGcjs.t; exports.any = _chunkU3CXOCRGcjs.v; exports.arrayLength = fr; exports.asin = _chunkLL6NPRFEcjs.ca; exports.asinh = _chunkLL6NPRFEcjs.da; exports.atan = _chunkLL6NPRFEcjs.ea; exports.atan2 = _chunkLL6NPRFEcjs.ga; exports.atanh = _chunkLL6NPRFEcjs.fa; exports.atomicAdd = Zt; exports.atomicAnd = zt; exports.atomicLoad = Xt; exports.atomicMax = Yt; exports.atomicMin = qt; exports.atomicOr = Ht; exports.atomicStore = Rt; exports.atomicSub = jt; exports.atomicXor = Jt; exports.bitcastU32toF32 = _chunkU3CXOCRGcjs.c; exports.bitcastU32toI32 = _chunkU3CXOCRGcjs.d; exports.ceil = _chunkLL6NPRFEcjs.ha; exports.clamp = _chunkLL6NPRFEcjs.ia; exports.cos = _chunkLL6NPRFEcjs.ja; exports.cosh = _chunkLL6NPRFEcjs.ka; exports.countLeadingZeros = _chunkLL6NPRFEcjs.la; exports.countOneBits = _chunkLL6NPRFEcjs.ma; exports.countTrailingZeros = _chunkLL6NPRFEcjs.na; exports.cross = _chunkLL6NPRFEcjs.oa; exports.degrees = _chunkLL6NPRFEcjs.pa; exports.determinant = _chunkLL6NPRFEcjs.qa; exports.discard = Ct; exports.distance = _chunkLL6NPRFEcjs.ra; exports.div = _chunkLL6NPRFEcjs.Y; exports.dot = _chunkLL6NPRFEcjs.sa; exports.dot4I8Packed = _chunkLL6NPRFEcjs.ua; exports.dot4U8Packed = _chunkLL6NPRFEcjs.ta; exports.dpdx = Qt; exports.dpdxCoarse = tr; exports.dpdxFine = or; exports.dpdy = ur; exports.dpdyCoarse = pr; exports.dpdyFine = ir; exports.eq = _chunkU3CXOCRGcjs.l; exports.exp = _chunkLL6NPRFEcjs.va; exports.exp2 = _chunkLL6NPRFEcjs.wa; exports.extensionEnabled = eo; exports.extractBits = _chunkLL6NPRFEcjs.xa; exports.faceForward = _chunkLL6NPRFEcjs.ya; exports.firstLeadingBit = _chunkLL6NPRFEcjs.za; exports.firstTrailingBit = _chunkLL6NPRFEcjs.Aa; exports.floor = _chunkLL6NPRFEcjs.Ba; exports.fma = _chunkLL6NPRFEcjs.Ca; exports.fract = _chunkLL6NPRFEcjs.Da; exports.frexp = _chunkLL6NPRFEcjs.Ea; exports.fwidth = dr; exports.fwidthCoarse = cr; exports.fwidthFine = Tr; exports.ge = _chunkU3CXOCRGcjs.q; exports.gt = _chunkU3CXOCRGcjs.p; exports.identity2 = _chunkLL6NPRFEcjs.b; exports.identity3 = _chunkLL6NPRFEcjs.c; exports.identity4 = _chunkLL6NPRFEcjs.d; exports.insertBits = _chunkLL6NPRFEcjs.Fa; exports.inverseSqrt = _chunkLL6NPRFEcjs.Ga; exports.isCloseTo = _chunkU3CXOCRGcjs.w; exports.ldexp = _chunkLL6NPRFEcjs.Ha; exports.le = _chunkU3CXOCRGcjs.o; exports.length = _chunkLL6NPRFEcjs.Ia; exports.log = _chunkLL6NPRFEcjs.Ja; exports.log2 = _chunkLL6NPRFEcjs.Ka; exports.lt = _chunkU3CXOCRGcjs.n; exports.max = _chunkLL6NPRFEcjs.La; exports.min = _chunkLL6NPRFEcjs.Ma; exports.mix = _chunkLL6NPRFEcjs.Na; exports.mod = _chunkLL6NPRFEcjs.Z; exports.modf = _chunkLL6NPRFEcjs.Oa; exports.mul = _chunkLL6NPRFEcjs.X; exports.ne = _chunkU3CXOCRGcjs.m; exports.neg = _chunkLL6NPRFEcjs._; exports.normalize = _chunkLL6NPRFEcjs.Pa; exports.not = _chunkU3CXOCRGcjs.r; exports.or = _chunkU3CXOCRGcjs.s; exports.pack2x16float = _chunkU3CXOCRGcjs.f; exports.pack4x8unorm = _chunkU3CXOCRGcjs.h; exports.pow = _chunkLL6NPRFEcjs.Qa; exports.quantizeToF16 = _chunkLL6NPRFEcjs.Ra; exports.radians = _chunkLL6NPRFEcjs.Sa; exports.reflect = _chunkLL6NPRFEcjs.Ta; exports.refract = _chunkLL6NPRFEcjs.Ua; exports.reverseBits = _chunkLL6NPRFEcjs.Va; exports.rotateX4 = _t; exports.rotateY4 = Mt; exports.rotateZ4 = Gt; exports.rotationX4 = _chunkLL6NPRFEcjs.g; exports.rotationY4 = _chunkLL6NPRFEcjs.h; exports.rotationZ4 = _chunkLL6NPRFEcjs.i; exports.round = _chunkLL6NPRFEcjs.Wa; exports.saturate = _chunkLL6NPRFEcjs.Xa; exports.scale4 = Nt; exports.scaling4 = _chunkLL6NPRFEcjs.f; exports.select = _chunkU3CXOCRGcjs.x; exports.sign = _chunkLL6NPRFEcjs.Ya; exports.sin = _chunkLL6NPRFEcjs.Za; exports.sinh = _chunkLL6NPRFEcjs._a; exports.smoothstep = _chunkLL6NPRFEcjs.$a; exports.sqrt = _chunkLL6NPRFEcjs.ab; exports.step = _chunkLL6NPRFEcjs.bb; exports.storageBarrier = Ut; exports.sub = _chunkLL6NPRFEcjs.W; exports.subgroupAdd = Lr; exports.subgroupAll = Nr; exports.subgroupAnd = _r; exports.subgroupAny = Mr; exports.subgroupBallot = Gr; exports.subgroupBroadcast = Pr; exports.subgroupBroadcastFirst = Ur; exports.subgroupElect = kr; exports.subgroupExclusiveAdd = Wr; exports.subgroupExclusiveMul = jr; exports.subgroupInclusiveAdd = Br; exports.subgroupInclusiveMul = Yr; exports.subgroupMax = Xr; exports.subgroupMin = Rr; exports.subgroupMul = Zr; exports.subgroupOr = qr; exports.subgroupShuffle = zr; exports.subgroupShuffleDown = Hr; exports.subgroupShuffleUp = Jr; exports.subgroupShuffleXor = Kr; exports.subgroupXor = Qr; exports.tan = _chunkLL6NPRFEcjs.cb; exports.tanh = _chunkLL6NPRFEcjs.db; exports.textureBarrier = kt; exports.textureDimensions = Dr; exports.textureLoad = Cr; exports.textureSample = br; exports.textureSampleBaseClampToEdge = Vr; exports.textureSampleBias = gr; exports.textureSampleCompare = Fr; exports.textureSampleLevel = hr; exports.textureStore = Sr; exports.translate4 = Bt; exports.translation4 = _chunkLL6NPRFEcjs.e; exports.transpose = _chunkLL6NPRFEcjs.eb; exports.trunc = _chunkLL6NPRFEcjs.fb; exports.unpack2x16float = _chunkU3CXOCRGcjs.e; exports.unpack4x8unorm = _chunkU3CXOCRGcjs.g; exports.workgroupBarrier = Pt;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunk3246CM7Ccjs = require('../chunk-3246CM7C.cjs');var _chunkPRMFGUQTcjs = require('../chunk-PRMFGUQT.cjs');var _chunkZYGTVBDHcjs = require('../chunk-ZYGTVBDH.cjs');var _chunkTRE7NUKEcjs = require('../chunk-TRE7NUKE.cjs');var Ct=_chunkTRE7NUKEcjs.La.call(void 0, ()=>{throw new Error("`discard` relies on GPU resources and cannot be executed outside of a draw call")},()=>_chunkTRE7NUKEcjs.aa.call(void 0, "discard;",_chunkTRE7NUKEcjs.q),"discard");var h=_chunkZYGTVBDHcjs.Z[_chunkTRE7NUKEcjs.a].jsImpl,At=_chunkZYGTVBDHcjs.e[_chunkTRE7NUKEcjs.a].jsImpl,St=_chunkZYGTVBDHcjs.e[_chunkTRE7NUKEcjs.a].gpuImpl,Et=_chunkZYGTVBDHcjs.f[_chunkTRE7NUKEcjs.a].jsImpl,Dt=_chunkZYGTVBDHcjs.f[_chunkTRE7NUKEcjs.a].gpuImpl,$t=_chunkZYGTVBDHcjs.g[_chunkTRE7NUKEcjs.a].jsImpl,Ft=_chunkZYGTVBDHcjs.g[_chunkTRE7NUKEcjs.a].gpuImpl,Ot=_chunkZYGTVBDHcjs.h[_chunkTRE7NUKEcjs.a].jsImpl,Vt=_chunkZYGTVBDHcjs.h[_chunkTRE7NUKEcjs.a].gpuImpl,Lt=_chunkZYGTVBDHcjs.i[_chunkTRE7NUKEcjs.a].jsImpl,Wt=_chunkZYGTVBDHcjs.i[_chunkTRE7NUKEcjs.a].gpuImpl,Bt= exports.translate4 =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>h(At(t),e),(e,t)=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`(${St(t)} * ${e})`,e.dataType),"translate4"),Nt= exports.scale4 =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>h(Et(t),e),(e,t)=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`(${Dt(t)} * ${e})`,e.dataType),"scale4"),_t= exports.rotateX4 =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>h($t(t),e),(e,t)=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`(${Ft(t)} * ${e})`,e.dataType),"rotateX4"),Mt= exports.rotateY4 =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>h(Ot(t),e),(e,t)=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`(${Vt(t)} * ${e})`,e.dataType),"rotateY4"),Gt= exports.rotateZ4 =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>h(Lt(t),e),(e,t)=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`(${Wt(t)} * ${e})`,e.dataType),"rotateZ4");var Pt=_chunkTRE7NUKEcjs.La.call(void 0, ()=>console.warn("workgroupBarrier is a no-op outside of CODEGEN mode."),()=>_chunkTRE7NUKEcjs.aa.call(void 0, "workgroupBarrier()",_chunkTRE7NUKEcjs.q),"workgroupBarrier"),Ut= exports.storageBarrier =_chunkTRE7NUKEcjs.La.call(void 0, ()=>console.warn("storageBarrier is a no-op outside of CODEGEN mode."),()=>_chunkTRE7NUKEcjs.aa.call(void 0, "storageBarrier()",_chunkTRE7NUKEcjs.q),"storageBarrier"),kt= exports.textureBarrier =_chunkTRE7NUKEcjs.La.call(void 0, ()=>console.warn("textureBarrier is a no-op outside of CODEGEN mode."),()=>_chunkTRE7NUKEcjs.aa.call(void 0, "textureBarrier()",_chunkTRE7NUKEcjs.q),"textureBarrier"),Xt= exports.atomicLoad =_chunkTRE7NUKEcjs.La.call(void 0, e=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},e=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicLoad(&${e})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicLoad"),Rt= exports.atomicStore =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(!_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)||e.dataType.type!=="atomic")throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`);return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicStore(&${e}, ${t})`,_chunkTRE7NUKEcjs.q)},"atomicStore"),f=(e,t)=>e.dataType.type==="atomic"&&e.dataType.inner.type==="i32"?[e.dataType,_chunkTRE7NUKEcjs.Ta]:[e.dataType,_chunkTRE7NUKEcjs.Ra],Zt= exports.atomicAdd =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicAdd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicAdd",f),jt= exports.atomicSub =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicSub(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicSub",f),Yt= exports.atomicMax =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicMax(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicMax",f),qt= exports.atomicMin =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicMin(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicMin",f),zt= exports.atomicAnd =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicAnd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicAnd",f),Ht= exports.atomicOr =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicOr(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicOr",f),Jt= exports.atomicXor =_chunkTRE7NUKEcjs.La.call(void 0, (e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(_chunkTRE7NUKEcjs.B.call(void 0, e.dataType)&&e.dataType.type==="atomic")return _chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`atomicXor(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${_chunkTRE7NUKEcjs.lb.call(void 0, e.dataType)}`)},"atomicXor",f);function Kt(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Qt=_chunkTRE7NUKEcjs.La.call(void 0, Kt,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdx(${e})`,e.dataType),"dpdx");function er(e){throw new Error("Derivative builtins are not allowed on the cpu")}var tr=_chunkTRE7NUKEcjs.La.call(void 0, er,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdxCoarse(${e})`,e.dataType),"dpdxCoarse");function rr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var or=_chunkTRE7NUKEcjs.La.call(void 0, rr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdxFine(${e})`,e.dataType),"dpdxFine");function nr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ur=_chunkTRE7NUKEcjs.La.call(void 0, nr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdy(${e})`,e.dataType),"dpdy");function ar(e){throw new Error("Derivative builtins are not allowed on the cpu")}var pr=_chunkTRE7NUKEcjs.La.call(void 0, ar,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdyCoarse(${e})`,e.dataType),"dpdyCoarse");function sr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ir=_chunkTRE7NUKEcjs.La.call(void 0, sr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`dpdyFine(${e})`,e.dataType),"dpdyFine");function mr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var dr=_chunkTRE7NUKEcjs.La.call(void 0, mr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`fwidth(${e})`,e.dataType),"fwidth");function lr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var cr=_chunkTRE7NUKEcjs.La.call(void 0, lr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`fwidthCoarse(${e})`,e.dataType),"fwidthCoarse");function xr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Tr=_chunkTRE7NUKEcjs.La.call(void 0, xr,e=>_chunkTRE7NUKEcjs.aa.call(void 0, _chunkTRE7NUKEcjs.Ea`fwidthFine(${e})`,e.dataType),"fwidthFine");var k=e=>_chunkTRE7NUKEcjs.E.call(void 0, e)&&_chunkTRE7NUKEcjs.C.call(void 0, e.inner)?e.inner.elementCount:0,fr= exports.arrayLength =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"arrayLength",signature:e=>{let t=_chunkTRE7NUKEcjs.E.call(void 0, e)?e:_chunkPRMFGUQTcjs.a.call(void 0, e);return{argTypes:[t],returnType:k(t)>0?_chunkTRE7NUKEcjs.Oa:_chunkTRE7NUKEcjs.Ra}},normalImpl:e=>e.length,codegenImpl(e){let t=k(e.dataType);return t>0?String(t):_chunkTRE7NUKEcjs.Ea`arrayLength(${e})`}});function yr(e,t,d,i,s){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var br=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureSample",normalImpl:yr,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureSample(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?_chunkTRE7NUKEcjs.Ua:_chunkTRE7NUKEcjs.fb}}});function vr(e,t,d,i,s,v){throw new Error("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}var gr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureSampleBias",normalImpl:vr,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureSampleBias(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.fb})});function Ir(e,t,d,i,s,v){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var hr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureSampleLevel",normalImpl:Ir,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureSampleLevel(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?_chunkTRE7NUKEcjs.Ua:_chunkTRE7NUKEcjs.fb}}});function wr(e,t,d){throw new Error("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Cr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureLoad",normalImpl:wr,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureLoad(${e})`,signature:(...e)=>{let t=e[0];if(_chunkZYGTVBDHcjs.R.call(void 0, t)){let s=t.type.startsWith("texture_depth"),v=t.sampleType;return{argTypes:e,returnType:s?_chunkTRE7NUKEcjs.Ua:v.type==="f32"?_chunkTRE7NUKEcjs.fb:v.type==="u32"?_chunkTRE7NUKEcjs.ib:_chunkTRE7NUKEcjs.hb}}let d=t.format,i=_chunk3246CM7Ccjs.a[d].vectorType;return{argTypes:e,returnType:i}}});function Ar(e,t,d,i){throw new Error("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var Sr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureStore",normalImpl:Ar,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureStore(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.q})});function Er(e,t){throw new Error("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var Dr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureDimensions",normalImpl:Er,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureDimensions(${e})`,signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:_chunkTRE7NUKEcjs.Ra}:t==="3d"?{argTypes:e,returnType:_chunkTRE7NUKEcjs.db}:{argTypes:e,returnType:_chunkTRE7NUKEcjs._a}}});function $r(e,t,d,i,s,v){throw new Error("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}var Fr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureSampleCompare",normalImpl:$r,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureSampleCompare(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.Ua})});function Or(e,t,d){throw new Error("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}var Vr=_chunkTRE7NUKEcjs.Na.call(void 0, {name:"textureSampleBaseClampToEdge",normalImpl:Or,codegenImpl:(...e)=>_chunkTRE7NUKEcjs.Ea`textureSampleBaseClampToEdge(${e})`,signature:(...e)=>({argTypes:e,returnType:_chunkTRE7NUKEcjs.fb})});var a="Subgroup operations can only be used in the GPU context.",Lr= exports.subgroupAdd =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupAdd(${e})`}),Wr= exports.subgroupExclusiveAdd =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupExclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupExclusiveAdd(${e})`}),Br= exports.subgroupInclusiveAdd =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupInclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupInclusiveAdd(${e})`}),Nr= exports.subgroupAll =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupAll",signature:{argTypes:[_chunkTRE7NUKEcjs.Qa],returnType:_chunkTRE7NUKEcjs.Qa},normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupAll(${e})`}),_r= exports.subgroupAnd =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupAnd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupAnd(${e})`}),Mr= exports.subgroupAny =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupAny",signature:{argTypes:[_chunkTRE7NUKEcjs.Qa],returnType:_chunkTRE7NUKEcjs.Qa},normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupAny(${e})`}),Gr= exports.subgroupBallot =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupBallot",signature:{argTypes:[_chunkTRE7NUKEcjs.Qa],returnType:_chunkTRE7NUKEcjs.ib},normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupBallot(${e})`}),Pr= exports.subgroupBroadcast =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupBroadcast",signature:(...e)=>{let t=_chunkTRE7NUKEcjs.Ha.call(void 0, [e[1]],[_chunkTRE7NUKEcjs.Ta,_chunkTRE7NUKEcjs.Ra]);if(!t)throw new Error(`subgroupBroadcast's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`subgroupBroadcast(${e}, ${t})`}),Ur= exports.subgroupBroadcastFirst =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupBroadcastFirst",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupBroadcastFirst(${e})`}),kr= exports.subgroupElect =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupElect",signature:{argTypes:[],returnType:_chunkTRE7NUKEcjs.Qa},normalImpl:a,codegenImpl:()=>_chunkTRE7NUKEcjs.Ea`subgroupElect()`}),Xr= exports.subgroupMax =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupMax",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupMax(${e})`}),Rr= exports.subgroupMin =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupMin",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupMin(${e})`}),Zr= exports.subgroupMul =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupMul(${e})`}),jr= exports.subgroupExclusiveMul =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupExclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupExclusiveMul(${e})`}),Yr= exports.subgroupInclusiveMul =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupInclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupInclusiveMul(${e})`}),qr= exports.subgroupOr =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupOr",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupOr(${e})`}),zr= exports.subgroupShuffle =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupShuffle",signature:(...e)=>{let t=_chunkTRE7NUKEcjs.Ha.call(void 0, [e[1]],[_chunkTRE7NUKEcjs.Ta,_chunkTRE7NUKEcjs.Ra]);if(!t)throw new Error(`subgroupShuffle's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`subgroupShuffle(${e}, ${t})`}),Hr= exports.subgroupShuffleDown =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupShuffleDown",signature:(...e)=>{let t=_chunkTRE7NUKEcjs.Ha.call(void 0, [e[1]],[_chunkTRE7NUKEcjs.Ra]);if(!t)throw new Error(`subgroupShuffleDown's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`subgroupShuffleDown(${e}, ${t})`}),Jr= exports.subgroupShuffleUp =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupShuffleUp",signature:(...e)=>{let t=_chunkTRE7NUKEcjs.Ha.call(void 0, [e[1]],[_chunkTRE7NUKEcjs.Ra]);if(!t)throw new Error(`subgroupShuffleUp's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`subgroupShuffleUp(${e}, ${t})`}),Kr= exports.subgroupShuffleXor =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupShuffleXor",signature:(...e)=>{let t=_chunkTRE7NUKEcjs.Ha.call(void 0, [e[1]],[_chunkTRE7NUKEcjs.Ra]);if(!t)throw new Error(`subgroupShuffleXor's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>_chunkTRE7NUKEcjs.Ea`subgroupShuffleXor(${e}, ${t})`}),Qr= exports.subgroupXor =_chunkTRE7NUKEcjs.Na.call(void 0, {name:"subgroupXor",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>_chunkTRE7NUKEcjs.Ea`subgroupXor(${e})`});var eo=(()=>{let e=i=>{let s=_chunkTRE7NUKEcjs.Aa.call(void 0, );if(!s)throw new Error("extensionEnabled can only be called in a GPU codegen context.");return(_nullishCoalesce(s.enableExtensions, () => ([]))).includes(i)},t=i=>{let{value:s}=i;if(typeof s!="string"||!_chunk3246CM7Ccjs.i.includes(s))throw new Error(`extensionEnabled has to be called with a string literal representing a valid WGSL extension name. Got: ${s}`);return _chunkTRE7NUKEcjs.aa.call(void 0, e(s),_chunkTRE7NUKEcjs.Qa)},d=i=>{if(_chunkTRE7NUKEcjs.Da.call(void 0, ))return t(i);throw new Error("extensionEnabled can only be called in a GPU codegen context.")};return Object.defineProperty(d,_chunkTRE7NUKEcjs.a,{value:{jsImpl:e,gpuImpl:t,argConversionHint:"keep"}}),d})();exports.abs = _chunkZYGTVBDHcjs.ba; exports.acos = _chunkZYGTVBDHcjs.ca; exports.acosh = _chunkZYGTVBDHcjs.da; exports.add = _chunkZYGTVBDHcjs.X; exports.all = _chunk3246CM7Ccjs.u; exports.allEq = _chunk3246CM7Ccjs.k; exports.and = _chunk3246CM7Ccjs.t; exports.any = _chunk3246CM7Ccjs.v; exports.arrayLength = fr; exports.asin = _chunkZYGTVBDHcjs.ea; exports.asinh = _chunkZYGTVBDHcjs.fa; exports.atan = _chunkZYGTVBDHcjs.ga; exports.atan2 = _chunkZYGTVBDHcjs.ia; exports.atanh = _chunkZYGTVBDHcjs.ha; exports.atomicAdd = Zt; exports.atomicAnd = zt; exports.atomicLoad = Xt; exports.atomicMax = Yt; exports.atomicMin = qt; exports.atomicOr = Ht; exports.atomicStore = Rt; exports.atomicSub = jt; exports.atomicXor = Jt; exports.bitcastU32toF32 = _chunk3246CM7Ccjs.c; exports.bitcastU32toI32 = _chunk3246CM7Ccjs.d; exports.ceil = _chunkZYGTVBDHcjs.ja; exports.clamp = _chunkZYGTVBDHcjs.ka; exports.cos = _chunkZYGTVBDHcjs.la; exports.cosh = _chunkZYGTVBDHcjs.ma; exports.countLeadingZeros = _chunkZYGTVBDHcjs.na; exports.countOneBits = _chunkZYGTVBDHcjs.oa; exports.countTrailingZeros = _chunkZYGTVBDHcjs.pa; exports.cross = _chunkZYGTVBDHcjs.qa; exports.degrees = _chunkZYGTVBDHcjs.ra; exports.determinant = _chunkZYGTVBDHcjs.sa; exports.discard = Ct; exports.distance = _chunkZYGTVBDHcjs.ta; exports.div = _chunkZYGTVBDHcjs._; exports.dot = _chunkZYGTVBDHcjs.ua; exports.dot4I8Packed = _chunkZYGTVBDHcjs.wa; exports.dot4U8Packed = _chunkZYGTVBDHcjs.va; exports.dpdx = Qt; exports.dpdxCoarse = tr; exports.dpdxFine = or; exports.dpdy = ur; exports.dpdyCoarse = pr; exports.dpdyFine = ir; exports.eq = _chunk3246CM7Ccjs.l; exports.exp = _chunkZYGTVBDHcjs.xa; exports.exp2 = _chunkZYGTVBDHcjs.ya; exports.extensionEnabled = eo; exports.extractBits = _chunkZYGTVBDHcjs.za; exports.faceForward = _chunkZYGTVBDHcjs.Aa; exports.firstLeadingBit = _chunkZYGTVBDHcjs.Ba; exports.firstTrailingBit = _chunkZYGTVBDHcjs.Ca; exports.floor = _chunkZYGTVBDHcjs.Da; exports.fma = _chunkZYGTVBDHcjs.Ea; exports.fract = _chunkZYGTVBDHcjs.Fa; exports.frexp = _chunkZYGTVBDHcjs.Ga; exports.fwidth = dr; exports.fwidthCoarse = cr; exports.fwidthFine = Tr; exports.ge = _chunk3246CM7Ccjs.q; exports.gt = _chunk3246CM7Ccjs.p; exports.identity2 = _chunkZYGTVBDHcjs.b; exports.identity3 = _chunkZYGTVBDHcjs.c; exports.identity4 = _chunkZYGTVBDHcjs.d; exports.insertBits = _chunkZYGTVBDHcjs.Ha; exports.inverseSqrt = _chunkZYGTVBDHcjs.Ia; exports.isCloseTo = _chunk3246CM7Ccjs.w; exports.ldexp = _chunkZYGTVBDHcjs.Ja; exports.le = _chunk3246CM7Ccjs.o; exports.length = _chunkZYGTVBDHcjs.Ka; exports.log = _chunkZYGTVBDHcjs.La; exports.log2 = _chunkZYGTVBDHcjs.Ma; exports.lt = _chunk3246CM7Ccjs.n; exports.max = _chunkZYGTVBDHcjs.Na; exports.min = _chunkZYGTVBDHcjs.Oa; exports.mix = _chunkZYGTVBDHcjs.Pa; exports.mod = _chunkZYGTVBDHcjs.$; exports.modf = _chunkZYGTVBDHcjs.Qa; exports.mul = _chunkZYGTVBDHcjs.Z; exports.ne = _chunk3246CM7Ccjs.m; exports.neg = _chunkZYGTVBDHcjs.aa; exports.normalize = _chunkZYGTVBDHcjs.Ra; exports.not = _chunk3246CM7Ccjs.r; exports.or = _chunk3246CM7Ccjs.s; exports.pack2x16float = _chunk3246CM7Ccjs.f; exports.pack4x8unorm = _chunk3246CM7Ccjs.h; exports.pow = _chunkZYGTVBDHcjs.Sa; exports.quantizeToF16 = _chunkZYGTVBDHcjs.Ta; exports.radians = _chunkZYGTVBDHcjs.Ua; exports.reflect = _chunkZYGTVBDHcjs.Va; exports.refract = _chunkZYGTVBDHcjs.Wa; exports.reverseBits = _chunkZYGTVBDHcjs.Xa; exports.rotateX4 = _t; exports.rotateY4 = Mt; exports.rotateZ4 = Gt; exports.rotationX4 = _chunkZYGTVBDHcjs.g; exports.rotationY4 = _chunkZYGTVBDHcjs.h; exports.rotationZ4 = _chunkZYGTVBDHcjs.i; exports.round = _chunkZYGTVBDHcjs.Ya; exports.saturate = _chunkZYGTVBDHcjs.Za; exports.scale4 = Nt; exports.scaling4 = _chunkZYGTVBDHcjs.f; exports.select = _chunk3246CM7Ccjs.x; exports.sign = _chunkZYGTVBDHcjs._a; exports.sin = _chunkZYGTVBDHcjs.$a; exports.sinh = _chunkZYGTVBDHcjs.ab; exports.smoothstep = _chunkZYGTVBDHcjs.bb; exports.sqrt = _chunkZYGTVBDHcjs.cb; exports.step = _chunkZYGTVBDHcjs.db; exports.storageBarrier = Ut; exports.sub = _chunkZYGTVBDHcjs.Y; exports.subgroupAdd = Lr; exports.subgroupAll = Nr; exports.subgroupAnd = _r; exports.subgroupAny = Mr; exports.subgroupBallot = Gr; exports.subgroupBroadcast = Pr; exports.subgroupBroadcastFirst = Ur; exports.subgroupElect = kr; exports.subgroupExclusiveAdd = Wr; exports.subgroupExclusiveMul = jr; exports.subgroupInclusiveAdd = Br; exports.subgroupInclusiveMul = Yr; exports.subgroupMax = Xr; exports.subgroupMin = Rr; exports.subgroupMul = Zr; exports.subgroupOr = qr; exports.subgroupShuffle = zr; exports.subgroupShuffleDown = Hr; exports.subgroupShuffleUp = Jr; exports.subgroupShuffleXor = Kr; exports.subgroupXor = Qr; exports.tan = _chunkZYGTVBDHcjs.eb; exports.tanh = _chunkZYGTVBDHcjs.fb; exports.textureBarrier = kt; exports.textureDimensions = Dr; exports.textureLoad = Cr; exports.textureSample = br; exports.textureSampleBaseClampToEdge = Vr; exports.textureSampleBias = gr; exports.textureSampleCompare = Fr; exports.textureSampleLevel = hr; exports.textureStore = Sr; exports.translate4 = Bt; exports.translation4 = _chunkZYGTVBDHcjs.e; exports.transpose = _chunkZYGTVBDHcjs.gb; exports.trunc = _chunkZYGTVBDHcjs.hb; exports.unpack2x16float = _chunk3246CM7Ccjs.e; exports.unpack4x8unorm = _chunk3246CM7Ccjs.g; exports.workgroupBarrier = Pt;
2
2
  //# sourceMappingURL=index.cjs.map
package/std/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/iwo/Projects/wigsill/packages/typegpu/dist/std/index.cjs","../../src/std/discard.ts","../../src/std/matrix.ts","../../src/std/atomic.ts"],"names":["discard","createDualImpl","snip","Void","cpuMul","mul","$internal","cpuTranslation4","translation4","gpuTranslation4","cpuScaling4","scaling4","gpuScaling4","cpuRotationX4","rotationX4","gpuRotationX4","cpuRotationY4","rotationY4","gpuRotationY4","cpuRotationZ4","rotationZ4","gpuRotationZ4","translate4","matrix","vector","stitch","scale4","rotateX4","angle","rotateY4","rotateZ4","workgroupBarrier","storageBarrier","textureBarrier","atomicLoad","a","isWgslData","safeStringify"],"mappings":"AAAA,sOAAgN,yDAA0C,yDAA6qB,yDAAsN,ICIhnCA,EAAAA,CAAUC,kCAAAA,CAErB,CAAA,EAAa,CACX,MAAM,IAAI,KAAA,CACR,iFACF,CACF,CAAA,CAEA,CAAA,CAAA,EAAMC,kCAAAA,UAAK,CAAYC,mBAAI,CAAA,CAC3B,SACF,CAAA,CCAA,IAAMC,CAAAA,CAASC,mBAAAA,CAAIC,mBAAS,CAAA,CAAE,MAAA,CAExBC,EAAAA,CAAkBC,mBAAAA,CAAaF,mBAAS,CAAA,CAAE,MAAA,CAC1CG,EAAAA,CAAkBD,mBAAAA,CAAaF,mBAAS,CAAA,CAAE,OAAA,CAE1CI,EAAAA,CAAcC,mBAAAA,CAASL,mBAAS,CAAA,CAAE,MAAA,CAClCM,EAAAA,CAAcD,mBAAAA,CAASL,mBAAS,CAAA,CAAE,OAAA,CAElCO,EAAAA,CAAgBC,mBAAAA,CAAWR,mBAAS,CAAA,CAAE,MAAA,CACtCS,EAAAA,CAAgBD,mBAAAA,CAAWR,mBAAS,CAAA,CAAE,OAAA,CAEtCU,EAAAA,CAAgBC,mBAAAA,CAAWX,mBAAS,CAAA,CAAE,MAAA,CACtCY,EAAAA,CAAgBD,mBAAAA,CAAWX,mBAAS,CAAA,CAAE,OAAA,CAEtCa,EAAAA,CAAgBC,mBAAAA,CAAWd,mBAAS,CAAA,CAAE,MAAA,CACtCe,EAAAA,CAAgBD,mBAAAA,CAAWd,mBAAS,CAAA,CAAE,OAAA,CAQ/BgB,EAAAA,sBAAarB,kCAAAA,CAEvBsB,CAAAA,CAAeC,CAAAA,CAAAA,EAAgBpB,CAAAA,CAAOG,EAAAA,CAAgBiB,CAAM,CAAA,CAAGD,CAAM,CAAA,CAEtE,CAACA,CAAAA,CAAQC,CAAAA,CAAAA,EACPtB,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAUhB,EAAAA,CAAgBe,CAAM,CAAC,CAAA,GAAA,EAAMD,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACxE,YACF,CAAA,CAQaG,EAAAA,kBAASzB,kCAAAA,CAEnBsB,CAAAA,CAAeC,CAAAA,CAAAA,EAAgBpB,CAAAA,CAAOM,EAAAA,CAAYc,CAAM,CAAA,CAAGD,CAAM,CAAA,CAElE,CAACA,CAAAA,CAAQC,CAAAA,CAAAA,EACPtB,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWb,EAAAA,CAAYY,CAAM,CAAE,CAAA,GAAA,EAAMD,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACtE,QACF,CAAA,CAQaI,EAAAA,oBAAW1B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOS,EAAAA,CAAce,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWV,EAAAA,CAAca,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CAQaM,EAAAA,oBAAW5B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOY,EAAAA,CAAcY,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWP,EAAAA,CAAcU,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CAQaO,EAAAA,oBAAW7B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOe,EAAAA,CAAcS,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWJ,EAAAA,CAAcO,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CC1FO,IAAMQ,EAAAA,CAAmB9B,kCAAAA,CAE9B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,sDAAsD,CAAA,CAEzE,CAAA,CAAA,EAAMC,kCAAAA,oBAAK,CAAsBC,mBAAI,CAAA,CACrC,kBACF,CAAA,CAEa6B,EAAAA,0BAAiB/B,kCAAAA,CAE5B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,oDAAoD,CAAA,CAEvE,CAAA,CAAA,EAAMC,kCAAAA,kBAAK,CAAoBC,mBAAI,CAAA,CACnC,gBACF,CAAA,CAEa8B,EAAAA,0BAAiBhC,kCAAAA,CAE5B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,oDAAoD,CAAA,CAEvE,CAAA,CAAA,EAAMC,kCAAAA,kBAAK,CAAoBC,mBAAI,CAAA,CACnC,gBACF,CAAA,CAEa+B,EAAAA,sBAAajC,kCAAAA,CAEFkC,EAAiB,CACrC,MAAM,IAAI,KAAA,CACR,8DACF,CACF,CAAA,CAECA,CAAAA,EAAM,CACL,EAAA,CAAIC,iCAAAA,CAAWD,CAAE,QAAQ,CAAA,EAAKA,CAAAA,CAAE,QAAA,CAAS,IAAA,GAAS,QAAA,CAChD,OAAOjC,kCAAAA,oBAAKuB,CAAAA,YAAAA,EAAqBU,CAAC,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAE,QAAA,CAAS,KAAK,CAAA,CAEzD,MAAM,IAAI,KAAA,CACR,CAAA,qBAAA,EAAwBE,kCAAAA,CAAcF,CAAE,QAAQ,CAAC,CAAA,CAAA","file":"/Users/iwo/Projects/wigsill/packages/typegpu/dist/std/index.cjs","sourcesContent":[null,"import { snip } from '../data/snippet.ts';\nimport { Void } from '../data/wgslTypes.ts';\nimport { createDualImpl } from '../core/function/dualImpl.ts';\n\nexport const discard = createDualImpl(\n // CPU\n (): never => {\n throw new Error(\n '`discard` relies on GPU resources and cannot be executed outside of a draw call',\n );\n },\n // GPU\n () => snip('discard;', Void),\n 'discard',\n);\n","import { stitch } from '../core/resolve/stitch.ts';\nimport { snip } from '../data/snippet.ts';\nimport {\n rotationX4,\n rotationY4,\n rotationZ4,\n scaling4,\n translation4,\n} from '../data/matrix.ts';\nimport type { m4x4f, v3f } from '../data/wgslTypes.ts';\nimport { createDualImpl } from '../core/function/dualImpl.ts';\nimport { mul } from './operators.ts';\nimport { $internal } from '../shared/symbols.ts';\n\nconst cpuMul = mul[$internal].jsImpl;\n\nconst cpuTranslation4 = translation4[$internal].jsImpl;\nconst gpuTranslation4 = translation4[$internal].gpuImpl;\n\nconst cpuScaling4 = scaling4[$internal].jsImpl;\nconst gpuScaling4 = scaling4[$internal].gpuImpl;\n\nconst cpuRotationX4 = rotationX4[$internal].jsImpl;\nconst gpuRotationX4 = rotationX4[$internal].gpuImpl;\n\nconst cpuRotationY4 = rotationY4[$internal].jsImpl;\nconst gpuRotationY4 = rotationY4[$internal].gpuImpl;\n\nconst cpuRotationZ4 = rotationZ4[$internal].jsImpl;\nconst gpuRotationZ4 = rotationZ4[$internal].gpuImpl;\n\n/**\n * Translates the given 4-by-4 matrix by the given vector.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {v3f} vector - The vector by which to translate the matrix.\n * @returns {m4x4f} The translated matrix.\n */\nexport const translate4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, vector: v3f) => cpuMul(cpuTranslation4(vector), matrix),\n // GPU implementation\n (matrix, vector) =>\n snip(stitch`(${gpuTranslation4(vector)} * ${matrix})`, matrix.dataType),\n 'translate4',\n);\n\n/**\n * Scales the given 4-by-4 matrix in each dimension by an amount given by the corresponding entry in the given vector.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {v3f} vector - A vector of three entries specifying the factor by which to scale in each dimension.\n * @returns {m4x4f} The scaled matrix.\n */\nexport const scale4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, vector: v3f) => cpuMul(cpuScaling4(vector), matrix),\n // GPU implementation\n (matrix, vector) =>\n snip(stitch`(${(gpuScaling4(vector))} * ${matrix})`, matrix.dataType),\n 'scale4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the x-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateX4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationX4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationX4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateX4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the y-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateY4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationY4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationY4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateY4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the z-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateZ4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationZ4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationZ4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateZ4',\n);\n","import { createDualImpl } from '../core/function/dualImpl.ts';\nimport { stitch } from '../core/resolve/stitch.ts';\nimport { i32, u32 } from '../data/numeric.ts';\nimport { snip, type Snippet } from '../data/snippet.ts';\nimport {\n type AnyWgslData,\n type atomicI32,\n type atomicU32,\n isWgslData,\n Void,\n} from '../data/wgslTypes.ts';\nimport { safeStringify } from '../shared/stringify.ts';\ntype AnyAtomic = atomicI32 | atomicU32;\n\nexport const workgroupBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('workgroupBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('workgroupBarrier()', Void),\n 'workgroupBarrier',\n);\n\nexport const storageBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('storageBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('storageBarrier()', Void),\n 'storageBarrier',\n);\n\nexport const textureBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('textureBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('textureBarrier()', Void),\n 'textureBarrier',\n);\n\nexport const atomicLoad = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicLoad(&${a})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicLoad',\n);\n\nexport const atomicStore = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): void => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (!isWgslData(a.dataType) || a.dataType.type !== 'atomic') {\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n }\n return snip(stitch`atomicStore(&${a}, ${value})`, Void);\n },\n 'atomicStore',\n);\n\nconst atomicTypeFn = (a: Snippet, _value: Snippet): AnyWgslData[] => {\n if (a.dataType.type === 'atomic' && a.dataType.inner.type === 'i32') {\n return [a.dataType, i32];\n }\n return [a.dataType as AnyWgslData, u32];\n};\n\nexport const atomicAdd = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicAdd(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicAdd',\n atomicTypeFn,\n);\n\nexport const atomicSub = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicSub(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicSub',\n atomicTypeFn,\n);\n\nexport const atomicMax = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicMax(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicMax',\n atomicTypeFn,\n);\n\nexport const atomicMin = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicMin(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicMin',\n atomicTypeFn,\n);\n\nexport const atomicAnd = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicAnd(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicAnd',\n atomicTypeFn,\n);\n\nexport const atomicOr = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicOr(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicOr',\n atomicTypeFn,\n);\n\nexport const atomicXor = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicXor(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicXor',\n atomicTypeFn,\n);\n"]}
1
+ {"version":3,"sources":["/Users/iwo/Projects/wigsill/packages/typegpu/dist/std/index.cjs","../../src/std/discard.ts","../../src/std/matrix.ts","../../src/std/atomic.ts"],"names":["discard","createDualImpl","snip","Void","cpuMul","mul","$internal","cpuTranslation4","translation4","gpuTranslation4","cpuScaling4","scaling4","gpuScaling4","cpuRotationX4","rotationX4","gpuRotationX4","cpuRotationY4","rotationY4","gpuRotationY4","cpuRotationZ4","rotationZ4","gpuRotationZ4","translate4","matrix","vector","stitch","scale4","rotateX4","angle","rotateY4","rotateZ4","workgroupBarrier","storageBarrier","textureBarrier","atomicLoad","a","isWgslData","safeStringify"],"mappings":"AAAA,sOAAgN,yDAA0C,yDAA0qB,yDAAsN,ICI7mCA,EAAAA,CAAUC,kCAAAA,CAErB,CAAA,EAAa,CACX,MAAM,IAAI,KAAA,CACR,iFACF,CACF,CAAA,CAEA,CAAA,CAAA,EAAMC,kCAAAA,UAAK,CAAYC,mBAAI,CAAA,CAC3B,SACF,CAAA,CCAA,IAAMC,CAAAA,CAASC,mBAAAA,CAAIC,mBAAS,CAAA,CAAE,MAAA,CAExBC,EAAAA,CAAkBC,mBAAAA,CAAaF,mBAAS,CAAA,CAAE,MAAA,CAC1CG,EAAAA,CAAkBD,mBAAAA,CAAaF,mBAAS,CAAA,CAAE,OAAA,CAE1CI,EAAAA,CAAcC,mBAAAA,CAASL,mBAAS,CAAA,CAAE,MAAA,CAClCM,EAAAA,CAAcD,mBAAAA,CAASL,mBAAS,CAAA,CAAE,OAAA,CAElCO,EAAAA,CAAgBC,mBAAAA,CAAWR,mBAAS,CAAA,CAAE,MAAA,CACtCS,EAAAA,CAAgBD,mBAAAA,CAAWR,mBAAS,CAAA,CAAE,OAAA,CAEtCU,EAAAA,CAAgBC,mBAAAA,CAAWX,mBAAS,CAAA,CAAE,MAAA,CACtCY,EAAAA,CAAgBD,mBAAAA,CAAWX,mBAAS,CAAA,CAAE,OAAA,CAEtCa,EAAAA,CAAgBC,mBAAAA,CAAWd,mBAAS,CAAA,CAAE,MAAA,CACtCe,EAAAA,CAAgBD,mBAAAA,CAAWd,mBAAS,CAAA,CAAE,OAAA,CAQ/BgB,EAAAA,sBAAarB,kCAAAA,CAEvBsB,CAAAA,CAAeC,CAAAA,CAAAA,EAAgBpB,CAAAA,CAAOG,EAAAA,CAAgBiB,CAAM,CAAA,CAAGD,CAAM,CAAA,CAEtE,CAACA,CAAAA,CAAQC,CAAAA,CAAAA,EACPtB,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAUhB,EAAAA,CAAgBe,CAAM,CAAC,CAAA,GAAA,EAAMD,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACxE,YACF,CAAA,CAQaG,EAAAA,kBAASzB,kCAAAA,CAEnBsB,CAAAA,CAAeC,CAAAA,CAAAA,EAAgBpB,CAAAA,CAAOM,EAAAA,CAAYc,CAAM,CAAA,CAAGD,CAAM,CAAA,CAElE,CAACA,CAAAA,CAAQC,CAAAA,CAAAA,EACPtB,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWb,EAAAA,CAAYY,CAAM,CAAE,CAAA,GAAA,EAAMD,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACtE,QACF,CAAA,CAQaI,EAAAA,oBAAW1B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOS,EAAAA,CAAce,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWV,EAAAA,CAAca,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CAQaM,EAAAA,oBAAW5B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOY,EAAAA,CAAcY,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWP,EAAAA,CAAcU,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CAQaO,EAAAA,oBAAW7B,kCAAAA,CAErBsB,CAAAA,CAAeK,CAAAA,CAAAA,EAAkBxB,CAAAA,CAAOe,EAAAA,CAAcS,CAAK,CAAA,CAAGL,CAAM,CAAA,CAErE,CAACA,CAAAA,CAAQK,CAAAA,CAAAA,EACP1B,kCAAAA,oBAAKuB,CAAAA,CAAAA,EAAWJ,EAAAA,CAAcO,CAAK,CAAE,CAAA,GAAA,EAAML,CAAM,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAO,QAAQ,CAAA,CACvE,UACF,CAAA,CC1FO,IAAMQ,EAAAA,CAAmB9B,kCAAAA,CAE9B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,sDAAsD,CAAA,CAEzE,CAAA,CAAA,EAAMC,kCAAAA,oBAAK,CAAsBC,mBAAI,CAAA,CACrC,kBACF,CAAA,CAEa6B,EAAAA,0BAAiB/B,kCAAAA,CAE5B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,oDAAoD,CAAA,CAEvE,CAAA,CAAA,EAAMC,kCAAAA,kBAAK,CAAoBC,mBAAI,CAAA,CACnC,gBACF,CAAA,CAEa8B,EAAAA,0BAAiBhC,kCAAAA,CAE5B,CAAA,EAAM,OAAA,CAAQ,IAAA,CAAK,oDAAoD,CAAA,CAEvE,CAAA,CAAA,EAAMC,kCAAAA,kBAAK,CAAoBC,mBAAI,CAAA,CACnC,gBACF,CAAA,CAEa+B,EAAAA,sBAAajC,kCAAAA,CAEFkC,EAAiB,CACrC,MAAM,IAAI,KAAA,CACR,8DACF,CACF,CAAA,CAECA,CAAAA,EAAM,CACL,EAAA,CAAIC,iCAAAA,CAAWD,CAAE,QAAQ,CAAA,EAAKA,CAAAA,CAAE,QAAA,CAAS,IAAA,GAAS,QAAA,CAChD,OAAOjC,kCAAAA,oBAAKuB,CAAAA,YAAAA,EAAqBU,CAAC,CAAA,CAAA,CAAA,CAAKA,CAAAA,CAAE,QAAA,CAAS,KAAK,CAAA,CAEzD,MAAM,IAAI,KAAA,CACR,CAAA,qBAAA,EAAwBE,kCAAAA,CAAcF,CAAE,QAAQ,CAAC,CAAA,CAAA","file":"/Users/iwo/Projects/wigsill/packages/typegpu/dist/std/index.cjs","sourcesContent":[null,"import { snip } from '../data/snippet.ts';\nimport { Void } from '../data/wgslTypes.ts';\nimport { createDualImpl } from '../core/function/dualImpl.ts';\n\nexport const discard = createDualImpl(\n // CPU\n (): never => {\n throw new Error(\n '`discard` relies on GPU resources and cannot be executed outside of a draw call',\n );\n },\n // GPU\n () => snip('discard;', Void),\n 'discard',\n);\n","import { stitch } from '../core/resolve/stitch.ts';\nimport { snip } from '../data/snippet.ts';\nimport {\n rotationX4,\n rotationY4,\n rotationZ4,\n scaling4,\n translation4,\n} from '../data/matrix.ts';\nimport type { m4x4f, v3f } from '../data/wgslTypes.ts';\nimport { createDualImpl } from '../core/function/dualImpl.ts';\nimport { mul } from './operators.ts';\nimport { $internal } from '../shared/symbols.ts';\n\nconst cpuMul = mul[$internal].jsImpl;\n\nconst cpuTranslation4 = translation4[$internal].jsImpl;\nconst gpuTranslation4 = translation4[$internal].gpuImpl;\n\nconst cpuScaling4 = scaling4[$internal].jsImpl;\nconst gpuScaling4 = scaling4[$internal].gpuImpl;\n\nconst cpuRotationX4 = rotationX4[$internal].jsImpl;\nconst gpuRotationX4 = rotationX4[$internal].gpuImpl;\n\nconst cpuRotationY4 = rotationY4[$internal].jsImpl;\nconst gpuRotationY4 = rotationY4[$internal].gpuImpl;\n\nconst cpuRotationZ4 = rotationZ4[$internal].jsImpl;\nconst gpuRotationZ4 = rotationZ4[$internal].gpuImpl;\n\n/**\n * Translates the given 4-by-4 matrix by the given vector.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {v3f} vector - The vector by which to translate the matrix.\n * @returns {m4x4f} The translated matrix.\n */\nexport const translate4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, vector: v3f) => cpuMul(cpuTranslation4(vector), matrix),\n // GPU implementation\n (matrix, vector) =>\n snip(stitch`(${gpuTranslation4(vector)} * ${matrix})`, matrix.dataType),\n 'translate4',\n);\n\n/**\n * Scales the given 4-by-4 matrix in each dimension by an amount given by the corresponding entry in the given vector.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {v3f} vector - A vector of three entries specifying the factor by which to scale in each dimension.\n * @returns {m4x4f} The scaled matrix.\n */\nexport const scale4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, vector: v3f) => cpuMul(cpuScaling4(vector), matrix),\n // GPU implementation\n (matrix, vector) =>\n snip(stitch`(${(gpuScaling4(vector))} * ${matrix})`, matrix.dataType),\n 'scale4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the x-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateX4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationX4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationX4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateX4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the y-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateY4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationY4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationY4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateY4',\n);\n\n/**\n * Rotates the given 4-by-4 matrix around the z-axis by the given angle.\n * @param {m4x4f} matrix - The matrix to be modified.\n * @param {number} angle - The angle by which to rotate (in radians).\n * @returns {m4x4f} The rotated matrix.\n */\nexport const rotateZ4 = createDualImpl(\n // CPU implementation\n (matrix: m4x4f, angle: number) => cpuMul(cpuRotationZ4(angle), matrix),\n // GPU implementation\n (matrix, angle) =>\n snip(stitch`(${(gpuRotationZ4(angle))} * ${matrix})`, matrix.dataType),\n 'rotateZ4',\n);\n","import { createDualImpl } from '../core/function/dualImpl.ts';\nimport { stitch } from '../core/resolve/stitch.ts';\nimport { i32, u32 } from '../data/numeric.ts';\nimport { snip, type Snippet } from '../data/snippet.ts';\nimport {\n type AnyWgslData,\n type atomicI32,\n type atomicU32,\n isWgslData,\n Void,\n} from '../data/wgslTypes.ts';\nimport { safeStringify } from '../shared/stringify.ts';\ntype AnyAtomic = atomicI32 | atomicU32;\n\nexport const workgroupBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('workgroupBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('workgroupBarrier()', Void),\n 'workgroupBarrier',\n);\n\nexport const storageBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('storageBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('storageBarrier()', Void),\n 'storageBarrier',\n);\n\nexport const textureBarrier = createDualImpl(\n // CPU implementation\n () => console.warn('textureBarrier is a no-op outside of CODEGEN mode.'),\n // CODEGEN implementation\n () => snip('textureBarrier()', Void),\n 'textureBarrier',\n);\n\nexport const atomicLoad = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicLoad(&${a})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicLoad',\n);\n\nexport const atomicStore = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): void => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (!isWgslData(a.dataType) || a.dataType.type !== 'atomic') {\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n }\n return snip(stitch`atomicStore(&${a}, ${value})`, Void);\n },\n 'atomicStore',\n);\n\nconst atomicTypeFn = (a: Snippet, _value: Snippet): AnyWgslData[] => {\n if (a.dataType.type === 'atomic' && a.dataType.inner.type === 'i32') {\n return [a.dataType, i32];\n }\n return [a.dataType as AnyWgslData, u32];\n};\n\nexport const atomicAdd = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicAdd(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicAdd',\n atomicTypeFn,\n);\n\nexport const atomicSub = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicSub(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicSub',\n atomicTypeFn,\n);\n\nexport const atomicMax = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicMax(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicMax',\n atomicTypeFn,\n);\n\nexport const atomicMin = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicMin(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicMin',\n atomicTypeFn,\n);\n\nexport const atomicAnd = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicAnd(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicAnd',\n atomicTypeFn,\n);\n\nexport const atomicOr = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicOr(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicOr',\n atomicTypeFn,\n);\n\nexport const atomicXor = createDualImpl(\n // CPU implementation\n <T extends AnyAtomic>(a: T, value: number): number => {\n throw new Error(\n 'Atomic operations are not supported outside of CODEGEN mode.',\n );\n },\n // CODEGEN implementation\n (a, value) => {\n if (isWgslData(a.dataType) && a.dataType.type === 'atomic') {\n return snip(stitch`atomicXor(&${a}, ${value})`, a.dataType.inner);\n }\n throw new Error(\n `Invalid atomic type: ${safeStringify(a.dataType)}`,\n );\n },\n 'atomicXor',\n atomicTypeFn,\n);\n"]}
package/std/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { b9 as DualFn, dL as AnyNumericVecInstance, dM as AnyFloatVecInstance, dN as AnyIntegerVecInstance, bK as v3f, dO as v3h, dP as AnyMatInstance, I as Infer, b8 as WgslStruct, b4 as F32, b5 as I32, b3 as F16, dQ as AbstractFloat, dR as AbstractInt, aP as Vec2f, aS as Vec2i, aV as Vec3f, aX as Vec3i, a_ as Vec4f, b0 as Vec4i, aR as Vec2h, aW as Vec3h, a$ as Vec4h, bG as v2f, dS as v2h, bH as v2i, bL as v3i, bO as v4f, dT as v4h, bP as v4i, dU as AnyFloat32VecInstance, dV as AnySignedVecInstance, dW as vBaseForMat, dX as mBaseForVec, bA as m4x4f, bs as AnyVecInstance, dY as AnyVec2Instance, bF as v2b, dZ as AnyVec3Instance, bJ as v3b, bN as v4b, d_ as AnyBooleanVecInstance, d$ as atomicI32, e0 as atomicU32, bT as texture1d, c4 as textureStorage1d, bU as texture2d, bV as texture2dArray, bX as textureCube, bY as textureCubeArray, c5 as textureStorage2d, c6 as textureStorage2dArray, c2 as textureExternal, bI as v2u, bW as texture3d, c7 as textureStorage3d, bM as v3u, bQ as v4u, $ as $internal, c3 as textureMultisampled2d, e1 as StorageTextureFormats, e2 as TextureFormats, e3 as $repr, ct as sampler, bZ as textureDepth2d, b_ as textureDepth2dArray, b$ as textureDepthCube, cs as comparisonSampler, d as WgslExtension } from '../tgpuConstant-DzGgwe0I.cjs';
2
- export { i as identity2, d as identity3, e as identity4, r as rotationX4, f as rotationY4, g as rotationZ4, s as scaling4, t as translation4 } from '../matrix-Cn2jQILV.cjs';
1
+ import { b9 as DualFn, dL as AnyNumericVecInstance, dM as AnyFloatVecInstance, dN as AnyIntegerVecInstance, bK as v3f, dO as v3h, dP as AnyMatInstance, I as Infer, b8 as WgslStruct, b4 as F32, b5 as I32, b3 as F16, dQ as AbstractFloat, dR as AbstractInt, aP as Vec2f, aS as Vec2i, aV as Vec3f, aX as Vec3i, a_ as Vec4f, b0 as Vec4i, aR as Vec2h, aW as Vec3h, a$ as Vec4h, bG as v2f, dS as v2h, bH as v2i, bL as v3i, bO as v4f, dT as v4h, bP as v4i, dU as AnyFloat32VecInstance, dV as AnySignedVecInstance, dW as vBaseForMat, dX as mBaseForVec, bA as m4x4f, bs as AnyVecInstance, dY as AnyVec2Instance, bF as v2b, dZ as AnyVec3Instance, bJ as v3b, bN as v4b, d_ as AnyBooleanVecInstance, d$ as atomicI32, e0 as atomicU32, bT as texture1d, c4 as textureStorage1d, bU as texture2d, bV as texture2dArray, bX as textureCube, bY as textureCubeArray, c5 as textureStorage2d, c6 as textureStorage2dArray, c2 as textureExternal, bI as v2u, bW as texture3d, c7 as textureStorage3d, bM as v3u, bQ as v4u, $ as $internal, c3 as textureMultisampled2d, e1 as StorageTextureFormats, e2 as TextureFormats, e3 as $repr, ct as sampler, bZ as textureDepth2d, b_ as textureDepth2dArray, b$ as textureDepthCube, cs as comparisonSampler, d as WgslExtension } from '../tgpuConstant-BU72w5qs.cjs';
2
+ export { i as identity2, d as identity3, e as identity4, r as rotationX4, f as rotationY4, g as rotationZ4, s as scaling4, t as translation4 } from '../matrix-DHFT4O8f.cjs';
3
3
  import 'tinyest';
4
4
 
5
5
  declare const discard: DualFn<() => never>;
package/std/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { b9 as DualFn, dL as AnyNumericVecInstance, dM as AnyFloatVecInstance, dN as AnyIntegerVecInstance, bK as v3f, dO as v3h, dP as AnyMatInstance, I as Infer, b8 as WgslStruct, b4 as F32, b5 as I32, b3 as F16, dQ as AbstractFloat, dR as AbstractInt, aP as Vec2f, aS as Vec2i, aV as Vec3f, aX as Vec3i, a_ as Vec4f, b0 as Vec4i, aR as Vec2h, aW as Vec3h, a$ as Vec4h, bG as v2f, dS as v2h, bH as v2i, bL as v3i, bO as v4f, dT as v4h, bP as v4i, dU as AnyFloat32VecInstance, dV as AnySignedVecInstance, dW as vBaseForMat, dX as mBaseForVec, bA as m4x4f, bs as AnyVecInstance, dY as AnyVec2Instance, bF as v2b, dZ as AnyVec3Instance, bJ as v3b, bN as v4b, d_ as AnyBooleanVecInstance, d$ as atomicI32, e0 as atomicU32, bT as texture1d, c4 as textureStorage1d, bU as texture2d, bV as texture2dArray, bX as textureCube, bY as textureCubeArray, c5 as textureStorage2d, c6 as textureStorage2dArray, c2 as textureExternal, bI as v2u, bW as texture3d, c7 as textureStorage3d, bM as v3u, bQ as v4u, $ as $internal, c3 as textureMultisampled2d, e1 as StorageTextureFormats, e2 as TextureFormats, e3 as $repr, ct as sampler, bZ as textureDepth2d, b_ as textureDepth2dArray, b$ as textureDepthCube, cs as comparisonSampler, d as WgslExtension } from '../tgpuConstant-DzGgwe0I.js';
2
- export { i as identity2, d as identity3, e as identity4, r as rotationX4, f as rotationY4, g as rotationZ4, s as scaling4, t as translation4 } from '../matrix-C6mMH7pB.js';
1
+ import { b9 as DualFn, dL as AnyNumericVecInstance, dM as AnyFloatVecInstance, dN as AnyIntegerVecInstance, bK as v3f, dO as v3h, dP as AnyMatInstance, I as Infer, b8 as WgslStruct, b4 as F32, b5 as I32, b3 as F16, dQ as AbstractFloat, dR as AbstractInt, aP as Vec2f, aS as Vec2i, aV as Vec3f, aX as Vec3i, a_ as Vec4f, b0 as Vec4i, aR as Vec2h, aW as Vec3h, a$ as Vec4h, bG as v2f, dS as v2h, bH as v2i, bL as v3i, bO as v4f, dT as v4h, bP as v4i, dU as AnyFloat32VecInstance, dV as AnySignedVecInstance, dW as vBaseForMat, dX as mBaseForVec, bA as m4x4f, bs as AnyVecInstance, dY as AnyVec2Instance, bF as v2b, dZ as AnyVec3Instance, bJ as v3b, bN as v4b, d_ as AnyBooleanVecInstance, d$ as atomicI32, e0 as atomicU32, bT as texture1d, c4 as textureStorage1d, bU as texture2d, bV as texture2dArray, bX as textureCube, bY as textureCubeArray, c5 as textureStorage2d, c6 as textureStorage2dArray, c2 as textureExternal, bI as v2u, bW as texture3d, c7 as textureStorage3d, bM as v3u, bQ as v4u, $ as $internal, c3 as textureMultisampled2d, e1 as StorageTextureFormats, e2 as TextureFormats, e3 as $repr, ct as sampler, bZ as textureDepth2d, b_ as textureDepth2dArray, b$ as textureDepthCube, cs as comparisonSampler, d as WgslExtension } from '../tgpuConstant-BU72w5qs.js';
2
+ export { i as identity2, d as identity3, e as identity4, r as rotationX4, f as rotationY4, g as rotationZ4, s as scaling4, t as translation4 } from '../matrix-DLipCOZF.js';
3
3
  import 'tinyest';
4
4
 
5
5
  declare const discard: DualFn<() => never>;
package/std/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as G,c as nt,d as ut,e as at,f as pt,g as st,h as it,i as P,k as mt,l as dt,m as lt,n as ct,o as xt,p as Tt,q as ft,r as yt,s as bt,t as vt,u as gt,v as It,w as ht,x as wt}from"../chunk-PO6SIMTQ.js";import{a as U}from"../chunk-6WF2EZIT.js";import{$ as J,$a as Je,Aa as Ce,Ba as Ae,Ca as Se,Da as Ee,Ea as De,Fa as $e,Ga as Fe,Ha as Oe,Ia as Ve,Ja as Le,Ka as We,La as Be,Ma as Ne,Na as _e,Oa as Me,P as M,Pa as Ge,Qa as Pe,Ra as Ue,Sa as ke,Ta as Xe,Ua as Re,V as j,Va as Ze,W as Y,Wa as je,X as F,Xa as Ye,Y as q,Ya as qe,Z as z,Za as ze,_ as H,_a as He,aa as K,ab as Ke,b as X,ba as Q,bb as Qe,c as R,ca as ee,cb as et,d as Z,da as te,db as tt,e as C,ea as re,eb as rt,f as A,fa as oe,fb as ot,g as S,ga as ne,h as E,ha as ue,i as D,ia as ae,ja as pe,ka as se,la as ie,ma as me,na as de,oa as le,pa as ce,qa as xe,ra as Te,sa as fe,ta as ye,ua as be,va as ve,wa as ge,xa as Ie,ya as he,za as we}from"../chunk-T2GBOTUH.js";import{$a as B,Aa as V,B as l,C as O,Da as L,E as $,Ea as r,Ia as y,Ma as u,Oa as n,Pa as W,Ra as T,Sa as m,Ua as g,Va as I,a as p,aa as o,eb as N,gb as b,ib as _,jb as w,mb as c,q as x}from"../chunk-XEUNEHAZ.js";var Ct=u(()=>{throw new Error("`discard` relies on GPU resources and cannot be executed outside of a draw call")},()=>o("discard;",x),"discard");var h=F[p].jsImpl,At=C[p].jsImpl,St=C[p].gpuImpl,Et=A[p].jsImpl,Dt=A[p].gpuImpl,$t=S[p].jsImpl,Ft=S[p].gpuImpl,Ot=E[p].jsImpl,Vt=E[p].gpuImpl,Lt=D[p].jsImpl,Wt=D[p].gpuImpl,Bt=u((e,t)=>h(At(t),e),(e,t)=>o(r`(${St(t)} * ${e})`,e.dataType),"translate4"),Nt=u((e,t)=>h(Et(t),e),(e,t)=>o(r`(${Dt(t)} * ${e})`,e.dataType),"scale4"),_t=u((e,t)=>h($t(t),e),(e,t)=>o(r`(${Ft(t)} * ${e})`,e.dataType),"rotateX4"),Mt=u((e,t)=>h(Ot(t),e),(e,t)=>o(r`(${Vt(t)} * ${e})`,e.dataType),"rotateY4"),Gt=u((e,t)=>h(Lt(t),e),(e,t)=>o(r`(${Wt(t)} * ${e})`,e.dataType),"rotateZ4");var Pt=u(()=>console.warn("workgroupBarrier is a no-op outside of CODEGEN mode."),()=>o("workgroupBarrier()",x),"workgroupBarrier"),Ut=u(()=>console.warn("storageBarrier is a no-op outside of CODEGEN mode."),()=>o("storageBarrier()",x),"storageBarrier"),kt=u(()=>console.warn("textureBarrier is a no-op outside of CODEGEN mode."),()=>o("textureBarrier()",x),"textureBarrier"),Xt=u(e=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},e=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicLoad(&${e})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicLoad"),Rt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(!l(e.dataType)||e.dataType.type!=="atomic")throw new Error(`Invalid atomic type: ${c(e.dataType)}`);return o(r`atomicStore(&${e}, ${t})`,x)},"atomicStore"),f=(e,t)=>e.dataType.type==="atomic"&&e.dataType.inner.type==="i32"?[e.dataType,g]:[e.dataType,m],Zt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicAdd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicAdd",f),jt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicSub(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicSub",f),Yt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicMax(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicMax",f),qt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicMin(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicMin",f),zt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicAnd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicAnd",f),Ht=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicOr(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicOr",f),Jt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicXor(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicXor",f);function Kt(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Qt=u(Kt,e=>o(r`dpdx(${e})`,e.dataType),"dpdx");function er(e){throw new Error("Derivative builtins are not allowed on the cpu")}var tr=u(er,e=>o(r`dpdxCoarse(${e})`,e.dataType),"dpdxCoarse");function rr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var or=u(rr,e=>o(r`dpdxFine(${e})`,e.dataType),"dpdxFine");function nr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ur=u(nr,e=>o(r`dpdy(${e})`,e.dataType),"dpdy");function ar(e){throw new Error("Derivative builtins are not allowed on the cpu")}var pr=u(ar,e=>o(r`dpdyCoarse(${e})`,e.dataType),"dpdyCoarse");function sr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ir=u(sr,e=>o(r`dpdyFine(${e})`,e.dataType),"dpdyFine");function mr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var dr=u(mr,e=>o(r`fwidth(${e})`,e.dataType),"fwidth");function lr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var cr=u(lr,e=>o(r`fwidthCoarse(${e})`,e.dataType),"fwidthCoarse");function xr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Tr=u(xr,e=>o(r`fwidthFine(${e})`,e.dataType),"fwidthFine");var k=e=>$(e)&&O(e.inner)?e.inner.elementCount:0,fr=n({name:"arrayLength",signature:e=>{let t=$(e)?e:U(e);return{argTypes:[t],returnType:k(t)>0?W:m}},normalImpl:e=>e.length,codegenImpl(e){let t=k(e.dataType);return t>0?String(t):r`arrayLength(${e})`}});function yr(e,t,d,i,s){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var br=n({name:"textureSample",normalImpl:yr,codegenImpl:(...e)=>r`textureSample(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?I:b}}});function vr(e,t,d,i,s,v){throw new Error("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}var gr=n({name:"textureSampleBias",normalImpl:vr,codegenImpl:(...e)=>r`textureSampleBias(${e})`,signature:(...e)=>({argTypes:e,returnType:b})});function Ir(e,t,d,i,s,v){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var hr=n({name:"textureSampleLevel",normalImpl:Ir,codegenImpl:(...e)=>r`textureSampleLevel(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?I:b}}});function wr(e,t,d){throw new Error("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Cr=n({name:"textureLoad",normalImpl:wr,codegenImpl:(...e)=>r`textureLoad(${e})`,signature:(...e)=>{let t=e[0];if(M(t)){let s=t.type.startsWith("texture_depth"),v=t.sampleType;return{argTypes:e,returnType:s?I:v.type==="f32"?b:v.type==="u32"?w:_}}let d=t.format,i=G[d].vectorType;return{argTypes:e,returnType:i}}});function Ar(e,t,d,i){throw new Error("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var Sr=n({name:"textureStore",normalImpl:Ar,codegenImpl:(...e)=>r`textureStore(${e})`,signature:(...e)=>({argTypes:e,returnType:x})});function Er(e,t){throw new Error("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var Dr=n({name:"textureDimensions",normalImpl:Er,codegenImpl:(...e)=>r`textureDimensions(${e})`,signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:m}:t==="3d"?{argTypes:e,returnType:N}:{argTypes:e,returnType:B}}});function $r(e,t,d,i,s,v){throw new Error("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}var Fr=n({name:"textureSampleCompare",normalImpl:$r,codegenImpl:(...e)=>r`textureSampleCompare(${e})`,signature:(...e)=>({argTypes:e,returnType:I})});function Or(e,t,d){throw new Error("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}var Vr=n({name:"textureSampleBaseClampToEdge",normalImpl:Or,codegenImpl:(...e)=>r`textureSampleBaseClampToEdge(${e})`,signature:(...e)=>({argTypes:e,returnType:b})});var a="Subgroup operations can only be used in the GPU context.",Lr=n({name:"subgroupAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupAdd(${e})`}),Wr=n({name:"subgroupExclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupExclusiveAdd(${e})`}),Br=n({name:"subgroupInclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupInclusiveAdd(${e})`}),Nr=n({name:"subgroupAll",signature:{argTypes:[T],returnType:T},normalImpl:a,codegenImpl:e=>r`subgroupAll(${e})`}),_r=n({name:"subgroupAnd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupAnd(${e})`}),Mr=n({name:"subgroupAny",signature:{argTypes:[T],returnType:T},normalImpl:a,codegenImpl:e=>r`subgroupAny(${e})`}),Gr=n({name:"subgroupBallot",signature:{argTypes:[T],returnType:w},normalImpl:a,codegenImpl:e=>r`subgroupBallot(${e})`}),Pr=n({name:"subgroupBroadcast",signature:(...e)=>{let t=y([e[1]],[g,m]);if(!t)throw new Error(`subgroupBroadcast's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupBroadcast(${e}, ${t})`}),Ur=n({name:"subgroupBroadcastFirst",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupBroadcastFirst(${e})`}),kr=n({name:"subgroupElect",signature:{argTypes:[],returnType:T},normalImpl:a,codegenImpl:()=>r`subgroupElect()`}),Xr=n({name:"subgroupMax",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMax(${e})`}),Rr=n({name:"subgroupMin",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMin(${e})`}),Zr=n({name:"subgroupMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMul(${e})`}),jr=n({name:"subgroupExclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupExclusiveMul(${e})`}),Yr=n({name:"subgroupInclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupInclusiveMul(${e})`}),qr=n({name:"subgroupOr",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupOr(${e})`}),zr=n({name:"subgroupShuffle",signature:(...e)=>{let t=y([e[1]],[g,m]);if(!t)throw new Error(`subgroupShuffle's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffle(${e}, ${t})`}),Hr=n({name:"subgroupShuffleDown",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleDown's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleDown(${e}, ${t})`}),Jr=n({name:"subgroupShuffleUp",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleUp's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleUp(${e}, ${t})`}),Kr=n({name:"subgroupShuffleXor",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleXor's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleXor(${e}, ${t})`}),Qr=n({name:"subgroupXor",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupXor(${e})`});var eo=(()=>{let e=i=>{let s=V();if(!s)throw new Error("extensionEnabled can only be called in a GPU codegen context.");return(s.enableExtensions??[]).includes(i)},t=i=>{let{value:s}=i;if(typeof s!="string"||!P.includes(s))throw new Error(`extensionEnabled has to be called with a string literal representing a valid WGSL extension name. Got: ${s}`);return o(e(s),T)},d=i=>{if(L())return t(i);throw new Error("extensionEnabled can only be called in a GPU codegen context.")};return Object.defineProperty(d,p,{value:{jsImpl:e,gpuImpl:t,argConversionHint:"keep"}}),d})();export{J as abs,K as acos,Q as acosh,j as add,gt as all,mt as allEq,vt as and,It as any,fr as arrayLength,ee as asin,te as asinh,re as atan,ne as atan2,oe as atanh,Zt as atomicAdd,zt as atomicAnd,Xt as atomicLoad,Yt as atomicMax,qt as atomicMin,Ht as atomicOr,Rt as atomicStore,jt as atomicSub,Jt as atomicXor,nt as bitcastU32toF32,ut as bitcastU32toI32,ue as ceil,ae as clamp,pe as cos,se as cosh,ie as countLeadingZeros,me as countOneBits,de as countTrailingZeros,le as cross,ce as degrees,xe as determinant,Ct as discard,Te as distance,q as div,fe as dot,be as dot4I8Packed,ye as dot4U8Packed,Qt as dpdx,tr as dpdxCoarse,or as dpdxFine,ur as dpdy,pr as dpdyCoarse,ir as dpdyFine,dt as eq,ve as exp,ge as exp2,eo as extensionEnabled,Ie as extractBits,he as faceForward,we as firstLeadingBit,Ce as firstTrailingBit,Ae as floor,Se as fma,Ee as fract,De as frexp,dr as fwidth,cr as fwidthCoarse,Tr as fwidthFine,ft as ge,Tt as gt,X as identity2,R as identity3,Z as identity4,$e as insertBits,Fe as inverseSqrt,ht as isCloseTo,Oe as ldexp,xt as le,Ve as length,Le as log,We as log2,ct as lt,Be as max,Ne as min,_e as mix,z as mod,Me as modf,F as mul,lt as ne,H as neg,Ge as normalize,yt as not,bt as or,pt as pack2x16float,it as pack4x8unorm,Pe as pow,Ue as quantizeToF16,ke as radians,Xe as reflect,Re as refract,Ze as reverseBits,_t as rotateX4,Mt as rotateY4,Gt as rotateZ4,S as rotationX4,E as rotationY4,D as rotationZ4,je as round,Ye as saturate,Nt as scale4,A as scaling4,wt as select,qe as sign,ze as sin,He as sinh,Je as smoothstep,Ke as sqrt,Qe as step,Ut as storageBarrier,Y as sub,Lr as subgroupAdd,Nr as subgroupAll,_r as subgroupAnd,Mr as subgroupAny,Gr as subgroupBallot,Pr as subgroupBroadcast,Ur as subgroupBroadcastFirst,kr as subgroupElect,Wr as subgroupExclusiveAdd,jr as subgroupExclusiveMul,Br as subgroupInclusiveAdd,Yr as subgroupInclusiveMul,Xr as subgroupMax,Rr as subgroupMin,Zr as subgroupMul,qr as subgroupOr,zr as subgroupShuffle,Hr as subgroupShuffleDown,Jr as subgroupShuffleUp,Kr as subgroupShuffleXor,Qr as subgroupXor,et as tan,tt as tanh,kt as textureBarrier,Dr as textureDimensions,Cr as textureLoad,br as textureSample,Vr as textureSampleBaseClampToEdge,gr as textureSampleBias,Fr as textureSampleCompare,hr as textureSampleLevel,Sr as textureStore,Bt as translate4,C as translation4,rt as transpose,ot as trunc,at as unpack2x16float,st as unpack4x8unorm,Pt as workgroupBarrier};
1
+ import{a as G,c as nt,d as ut,e as at,f as pt,g as st,h as it,i as P,k as mt,l as dt,m as lt,n as ct,o as xt,p as Tt,q as ft,r as yt,s as bt,t as vt,u as gt,v as It,w as ht,x as wt}from"../chunk-VOVQAOVG.js";import{a as U}from"../chunk-7S3IK3D4.js";import{$ as z,$a as ze,Aa as he,Ba as we,Ca as Ce,Da as Ae,Ea as Se,Fa as Ee,Ga as De,Ha as $e,Ia as Fe,Ja as Oe,Ka as Ve,La as Le,Ma as We,Na as Be,Oa as Ne,Pa as _e,Qa as Me,R as M,Ra as Ge,Sa as Pe,Ta as Ue,Ua as ke,Va as Xe,Wa as Re,X as j,Xa as Ze,Y,Ya as je,Z as F,Za as Ye,_ as q,_a as qe,aa as H,ab as He,b as X,ba as J,bb as Je,c as R,ca as K,cb as Ke,d as Z,da as Q,db as Qe,e as C,ea as ee,eb as et,f as A,fa as te,fb as tt,g as S,ga as re,gb as rt,h as E,ha as oe,hb as ot,i as D,ia as ne,ja as ue,ka as ae,la as pe,ma as se,na as ie,oa as me,pa as de,qa as le,ra as ce,sa as xe,ta as Te,ua as fe,va as ye,wa as be,xa as ve,ya as ge,za as Ie}from"../chunk-2UXPGML5.js";import{Aa as V,B as l,C as O,Da as L,E as $,Ea as r,Ha as y,La as u,Na as n,Oa as W,Qa as T,Ra as m,Ta as g,Ua as I,_a as B,a as p,aa as o,db as N,fb as b,hb as _,ib as w,lb as c,q as x}from"../chunk-4W5Z7BO4.js";var Ct=u(()=>{throw new Error("`discard` relies on GPU resources and cannot be executed outside of a draw call")},()=>o("discard;",x),"discard");var h=F[p].jsImpl,At=C[p].jsImpl,St=C[p].gpuImpl,Et=A[p].jsImpl,Dt=A[p].gpuImpl,$t=S[p].jsImpl,Ft=S[p].gpuImpl,Ot=E[p].jsImpl,Vt=E[p].gpuImpl,Lt=D[p].jsImpl,Wt=D[p].gpuImpl,Bt=u((e,t)=>h(At(t),e),(e,t)=>o(r`(${St(t)} * ${e})`,e.dataType),"translate4"),Nt=u((e,t)=>h(Et(t),e),(e,t)=>o(r`(${Dt(t)} * ${e})`,e.dataType),"scale4"),_t=u((e,t)=>h($t(t),e),(e,t)=>o(r`(${Ft(t)} * ${e})`,e.dataType),"rotateX4"),Mt=u((e,t)=>h(Ot(t),e),(e,t)=>o(r`(${Vt(t)} * ${e})`,e.dataType),"rotateY4"),Gt=u((e,t)=>h(Lt(t),e),(e,t)=>o(r`(${Wt(t)} * ${e})`,e.dataType),"rotateZ4");var Pt=u(()=>console.warn("workgroupBarrier is a no-op outside of CODEGEN mode."),()=>o("workgroupBarrier()",x),"workgroupBarrier"),Ut=u(()=>console.warn("storageBarrier is a no-op outside of CODEGEN mode."),()=>o("storageBarrier()",x),"storageBarrier"),kt=u(()=>console.warn("textureBarrier is a no-op outside of CODEGEN mode."),()=>o("textureBarrier()",x),"textureBarrier"),Xt=u(e=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},e=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicLoad(&${e})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicLoad"),Rt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(!l(e.dataType)||e.dataType.type!=="atomic")throw new Error(`Invalid atomic type: ${c(e.dataType)}`);return o(r`atomicStore(&${e}, ${t})`,x)},"atomicStore"),f=(e,t)=>e.dataType.type==="atomic"&&e.dataType.inner.type==="i32"?[e.dataType,g]:[e.dataType,m],Zt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicAdd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicAdd",f),jt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicSub(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicSub",f),Yt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicMax(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicMax",f),qt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicMin(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicMin",f),zt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicAnd(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicAnd",f),Ht=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicOr(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicOr",f),Jt=u((e,t)=>{throw new Error("Atomic operations are not supported outside of CODEGEN mode.")},(e,t)=>{if(l(e.dataType)&&e.dataType.type==="atomic")return o(r`atomicXor(&${e}, ${t})`,e.dataType.inner);throw new Error(`Invalid atomic type: ${c(e.dataType)}`)},"atomicXor",f);function Kt(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Qt=u(Kt,e=>o(r`dpdx(${e})`,e.dataType),"dpdx");function er(e){throw new Error("Derivative builtins are not allowed on the cpu")}var tr=u(er,e=>o(r`dpdxCoarse(${e})`,e.dataType),"dpdxCoarse");function rr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var or=u(rr,e=>o(r`dpdxFine(${e})`,e.dataType),"dpdxFine");function nr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ur=u(nr,e=>o(r`dpdy(${e})`,e.dataType),"dpdy");function ar(e){throw new Error("Derivative builtins are not allowed on the cpu")}var pr=u(ar,e=>o(r`dpdyCoarse(${e})`,e.dataType),"dpdyCoarse");function sr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var ir=u(sr,e=>o(r`dpdyFine(${e})`,e.dataType),"dpdyFine");function mr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var dr=u(mr,e=>o(r`fwidth(${e})`,e.dataType),"fwidth");function lr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var cr=u(lr,e=>o(r`fwidthCoarse(${e})`,e.dataType),"fwidthCoarse");function xr(e){throw new Error("Derivative builtins are not allowed on the cpu")}var Tr=u(xr,e=>o(r`fwidthFine(${e})`,e.dataType),"fwidthFine");var k=e=>$(e)&&O(e.inner)?e.inner.elementCount:0,fr=n({name:"arrayLength",signature:e=>{let t=$(e)?e:U(e);return{argTypes:[t],returnType:k(t)>0?W:m}},normalImpl:e=>e.length,codegenImpl(e){let t=k(e.dataType);return t>0?String(t):r`arrayLength(${e})`}});function yr(e,t,d,i,s){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var br=n({name:"textureSample",normalImpl:yr,codegenImpl:(...e)=>r`textureSample(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?I:b}}});function vr(e,t,d,i,s,v){throw new Error("Texture sampling with bias relies on GPU resources and cannot be executed outside of a draw call")}var gr=n({name:"textureSampleBias",normalImpl:vr,codegenImpl:(...e)=>r`textureSampleBias(${e})`,signature:(...e)=>({argTypes:e,returnType:b})});function Ir(e,t,d,i,s,v){throw new Error("Texture sampling relies on GPU resources and cannot be executed outside of a draw call")}var hr=n({name:"textureSampleLevel",normalImpl:Ir,codegenImpl:(...e)=>r`textureSampleLevel(${e})`,signature:(...e)=>{let t=e[0].type.startsWith("texture_depth");return{argTypes:e,returnType:t?I:b}}});function wr(e,t,d){throw new Error("`textureLoad` relies on GPU resources and cannot be executed outside of a draw call")}var Cr=n({name:"textureLoad",normalImpl:wr,codegenImpl:(...e)=>r`textureLoad(${e})`,signature:(...e)=>{let t=e[0];if(M(t)){let s=t.type.startsWith("texture_depth"),v=t.sampleType;return{argTypes:e,returnType:s?I:v.type==="f32"?b:v.type==="u32"?w:_}}let d=t.format,i=G[d].vectorType;return{argTypes:e,returnType:i}}});function Ar(e,t,d,i){throw new Error("`textureStore` relies on GPU resources and cannot be executed outside of a draw call")}var Sr=n({name:"textureStore",normalImpl:Ar,codegenImpl:(...e)=>r`textureStore(${e})`,signature:(...e)=>({argTypes:e,returnType:x})});function Er(e,t){throw new Error("`textureDimensions` relies on GPU resources and cannot be executed outside of a draw call")}var Dr=n({name:"textureDimensions",normalImpl:Er,codegenImpl:(...e)=>r`textureDimensions(${e})`,signature:(...e)=>{let t=e[0].dimension;return t==="1d"?{argTypes:e,returnType:m}:t==="3d"?{argTypes:e,returnType:N}:{argTypes:e,returnType:B}}});function $r(e,t,d,i,s,v){throw new Error("Texture comparison sampling relies on GPU resources and cannot be executed outside of a draw call")}var Fr=n({name:"textureSampleCompare",normalImpl:$r,codegenImpl:(...e)=>r`textureSampleCompare(${e})`,signature:(...e)=>({argTypes:e,returnType:I})});function Or(e,t,d){throw new Error("Texture sampling with base clamp to edge is not supported outside of GPU mode.")}var Vr=n({name:"textureSampleBaseClampToEdge",normalImpl:Or,codegenImpl:(...e)=>r`textureSampleBaseClampToEdge(${e})`,signature:(...e)=>({argTypes:e,returnType:b})});var a="Subgroup operations can only be used in the GPU context.",Lr=n({name:"subgroupAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupAdd(${e})`}),Wr=n({name:"subgroupExclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupExclusiveAdd(${e})`}),Br=n({name:"subgroupInclusiveAdd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupInclusiveAdd(${e})`}),Nr=n({name:"subgroupAll",signature:{argTypes:[T],returnType:T},normalImpl:a,codegenImpl:e=>r`subgroupAll(${e})`}),_r=n({name:"subgroupAnd",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupAnd(${e})`}),Mr=n({name:"subgroupAny",signature:{argTypes:[T],returnType:T},normalImpl:a,codegenImpl:e=>r`subgroupAny(${e})`}),Gr=n({name:"subgroupBallot",signature:{argTypes:[T],returnType:w},normalImpl:a,codegenImpl:e=>r`subgroupBallot(${e})`}),Pr=n({name:"subgroupBroadcast",signature:(...e)=>{let t=y([e[1]],[g,m]);if(!t)throw new Error(`subgroupBroadcast's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupBroadcast(${e}, ${t})`}),Ur=n({name:"subgroupBroadcastFirst",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupBroadcastFirst(${e})`}),kr=n({name:"subgroupElect",signature:{argTypes:[],returnType:T},normalImpl:a,codegenImpl:()=>r`subgroupElect()`}),Xr=n({name:"subgroupMax",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMax(${e})`}),Rr=n({name:"subgroupMin",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMin(${e})`}),Zr=n({name:"subgroupMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupMul(${e})`}),jr=n({name:"subgroupExclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupExclusiveMul(${e})`}),Yr=n({name:"subgroupInclusiveMul",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupInclusiveMul(${e})`}),qr=n({name:"subgroupOr",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupOr(${e})`}),zr=n({name:"subgroupShuffle",signature:(...e)=>{let t=y([e[1]],[g,m]);if(!t)throw new Error(`subgroupShuffle's second argument has to be compatible with i32 or u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffle(${e}, ${t})`}),Hr=n({name:"subgroupShuffleDown",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleDown's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleDown(${e}, ${t})`}),Jr=n({name:"subgroupShuffleUp",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleUp's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleUp(${e}, ${t})`}),Kr=n({name:"subgroupShuffleXor",signature:(...e)=>{let t=y([e[1]],[m]);if(!t)throw new Error(`subgroupShuffleXor's second argument has to be compatible with u32. Got: ${e[1].type}`);return{argTypes:[e[0],t[0]],returnType:e[0]}},normalImpl:a,codegenImpl:(e,t)=>r`subgroupShuffleXor(${e}, ${t})`}),Qr=n({name:"subgroupXor",signature:e=>({argTypes:[e],returnType:e}),normalImpl:a,codegenImpl:e=>r`subgroupXor(${e})`});var eo=(()=>{let e=i=>{let s=V();if(!s)throw new Error("extensionEnabled can only be called in a GPU codegen context.");return(s.enableExtensions??[]).includes(i)},t=i=>{let{value:s}=i;if(typeof s!="string"||!P.includes(s))throw new Error(`extensionEnabled has to be called with a string literal representing a valid WGSL extension name. Got: ${s}`);return o(e(s),T)},d=i=>{if(L())return t(i);throw new Error("extensionEnabled can only be called in a GPU codegen context.")};return Object.defineProperty(d,p,{value:{jsImpl:e,gpuImpl:t,argConversionHint:"keep"}}),d})();export{J as abs,K as acos,Q as acosh,j as add,gt as all,mt as allEq,vt as and,It as any,fr as arrayLength,ee as asin,te as asinh,re as atan,ne as atan2,oe as atanh,Zt as atomicAdd,zt as atomicAnd,Xt as atomicLoad,Yt as atomicMax,qt as atomicMin,Ht as atomicOr,Rt as atomicStore,jt as atomicSub,Jt as atomicXor,nt as bitcastU32toF32,ut as bitcastU32toI32,ue as ceil,ae as clamp,pe as cos,se as cosh,ie as countLeadingZeros,me as countOneBits,de as countTrailingZeros,le as cross,ce as degrees,xe as determinant,Ct as discard,Te as distance,q as div,fe as dot,be as dot4I8Packed,ye as dot4U8Packed,Qt as dpdx,tr as dpdxCoarse,or as dpdxFine,ur as dpdy,pr as dpdyCoarse,ir as dpdyFine,dt as eq,ve as exp,ge as exp2,eo as extensionEnabled,Ie as extractBits,he as faceForward,we as firstLeadingBit,Ce as firstTrailingBit,Ae as floor,Se as fma,Ee as fract,De as frexp,dr as fwidth,cr as fwidthCoarse,Tr as fwidthFine,ft as ge,Tt as gt,X as identity2,R as identity3,Z as identity4,$e as insertBits,Fe as inverseSqrt,ht as isCloseTo,Oe as ldexp,xt as le,Ve as length,Le as log,We as log2,ct as lt,Be as max,Ne as min,_e as mix,z as mod,Me as modf,F as mul,lt as ne,H as neg,Ge as normalize,yt as not,bt as or,pt as pack2x16float,it as pack4x8unorm,Pe as pow,Ue as quantizeToF16,ke as radians,Xe as reflect,Re as refract,Ze as reverseBits,_t as rotateX4,Mt as rotateY4,Gt as rotateZ4,S as rotationX4,E as rotationY4,D as rotationZ4,je as round,Ye as saturate,Nt as scale4,A as scaling4,wt as select,qe as sign,ze as sin,He as sinh,Je as smoothstep,Ke as sqrt,Qe as step,Ut as storageBarrier,Y as sub,Lr as subgroupAdd,Nr as subgroupAll,_r as subgroupAnd,Mr as subgroupAny,Gr as subgroupBallot,Pr as subgroupBroadcast,Ur as subgroupBroadcastFirst,kr as subgroupElect,Wr as subgroupExclusiveAdd,jr as subgroupExclusiveMul,Br as subgroupInclusiveAdd,Yr as subgroupInclusiveMul,Xr as subgroupMax,Rr as subgroupMin,Zr as subgroupMul,qr as subgroupOr,zr as subgroupShuffle,Hr as subgroupShuffleDown,Jr as subgroupShuffleUp,Kr as subgroupShuffleXor,Qr as subgroupXor,et as tan,tt as tanh,kt as textureBarrier,Dr as textureDimensions,Cr as textureLoad,br as textureSample,Vr as textureSampleBaseClampToEdge,gr as textureSampleBias,Fr as textureSampleCompare,hr as textureSampleLevel,Sr as textureStore,Bt as translate4,C as translation4,rt as transpose,ot as trunc,at as unpack2x16float,st as unpack4x8unorm,Pt as workgroupBarrier};
2
2
  //# sourceMappingURL=index.js.map