typegpu 0.3.4 → 0.4.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typegpu",
3
3
  "private": false,
4
- "version": "0.3.4",
4
+ "version": "0.4.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",
@@ -52,7 +52,7 @@
52
52
  "homepage": "https://typegpu.com",
53
53
  "packageManager": "pnpm@8.15.8+sha256.691fe176eea9a8a80df20e4976f3dfb44a04841ceb885638fe2a26174f81e65e",
54
54
  "dependencies": {
55
- "tinyest": "~0.1.0-alpha.1",
55
+ "tinyest": "~0.1.0-alpha.2",
56
56
  "typed-binary": "^4.3.1"
57
57
  },
58
58
  "scripts": {}
package/std/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVRYGOFCWcjs = require('../chunk-VRYGOFCW.cjs');var o=e=>Math.sqrt(e.x**2+e.y**2),m=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),z=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),T=(e,s)=>e.x*s.x+e.y*s.y,d=(e,s)=>e.x*s.x+e.y*s.y+e.z*s.z,p=(e,s)=>e.x*s.x+e.y*s.y+e.z*s.z+e.w*s.w,n=(e,s,t)=>Math.min(Math.max(s,e),t),c={abs:{vec2f:e=>_chunkVRYGOFCWcjs.n.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2h:e=>_chunkVRYGOFCWcjs.o.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2i:e=>_chunkVRYGOFCWcjs.p.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2u:e=>_chunkVRYGOFCWcjs.q.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec3f:e=>_chunkVRYGOFCWcjs.r.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3h:e=>_chunkVRYGOFCWcjs.s.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3i:e=>_chunkVRYGOFCWcjs.t.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3u:e=>_chunkVRYGOFCWcjs.u.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec4f:e=>_chunkVRYGOFCWcjs.v.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4h:e=>_chunkVRYGOFCWcjs.w.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4i:e=>_chunkVRYGOFCWcjs.x.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4u:e=>_chunkVRYGOFCWcjs.y.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))},ceil:{vec2f:e=>_chunkVRYGOFCWcjs.n.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2h:e=>_chunkVRYGOFCWcjs.o.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2i:e=>_chunkVRYGOFCWcjs.p.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2u:e=>_chunkVRYGOFCWcjs.q.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec3f:e=>_chunkVRYGOFCWcjs.r.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3h:e=>_chunkVRYGOFCWcjs.s.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3i:e=>_chunkVRYGOFCWcjs.t.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3u:e=>_chunkVRYGOFCWcjs.u.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec4f:e=>_chunkVRYGOFCWcjs.v.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4h:e=>_chunkVRYGOFCWcjs.w.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4i:e=>_chunkVRYGOFCWcjs.x.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4u:e=>_chunkVRYGOFCWcjs.y.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w))},clamp:{vec2f:(e,s,t)=>_chunkVRYGOFCWcjs.n.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2h:(e,s,t)=>_chunkVRYGOFCWcjs.o.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2i:(e,s,t)=>_chunkVRYGOFCWcjs.p.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2u:(e,s,t)=>_chunkVRYGOFCWcjs.q.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec3f:(e,s,t)=>_chunkVRYGOFCWcjs.r.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3h:(e,s,t)=>_chunkVRYGOFCWcjs.s.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3i:(e,s,t)=>_chunkVRYGOFCWcjs.t.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3u:(e,s,t)=>_chunkVRYGOFCWcjs.u.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec4f:(e,s,t)=>_chunkVRYGOFCWcjs.v.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4h:(e,s,t)=>_chunkVRYGOFCWcjs.w.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4i:(e,s,t)=>_chunkVRYGOFCWcjs.x.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4u:(e,s,t)=>_chunkVRYGOFCWcjs.y.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w))},length:{vec2f:o,vec2h:o,vec2i:o,vec2u:o,vec3f:m,vec3h:m,vec3i:m,vec3u:m,vec4f:z,vec4h:z,vec4i:z,vec4u:z},add:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, e.x+s.x,e.y+s.y),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, e.x+s.x,e.y+s.y),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, e.x+s.x,e.y+s.y),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, e.x+s.x,e.y+s.y),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w)},sub:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, e.x-s.x,e.y-s.y),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, e.x-s.x,e.y-s.y),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, e.x-s.x,e.y-s.y),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, e.x-s.x,e.y-s.y),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w)},mulSxV:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, e*s.x,e*s.y),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, e*s.x,e*s.y),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, e*s.x,e*s.y),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, e*s.x,e*s.y),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, e*s.x,e*s.y,e*s.z),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, e*s.x,e*s.y,e*s.z),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, e*s.x,e*s.y,e*s.z),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, e*s.x,e*s.y,e*s.z),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w)},mulVxV:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, e.x*s.x,e.y*s.y),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, e.x*s.x,e.y*s.y),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, e.x*s.x,e.y*s.y),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, e.x*s.x,e.y*s.y),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w)},dot:{vec2f:T,vec2h:T,vec2i:T,vec2u:T,vec3f:d,vec3h:d,vec3i:d,vec3u:d,vec4f:p,vec4h:p,vec4i:p,vec4u:p},normalize:{vec2f:e=>{let s=o(e);return _chunkVRYGOFCWcjs.n.call(void 0, e.x/s,e.y/s)},vec2h:e=>{let s=o(e);return _chunkVRYGOFCWcjs.o.call(void 0, e.x/s,e.y/s)},vec2i:e=>{let s=o(e);return _chunkVRYGOFCWcjs.p.call(void 0, e.x/s,e.y/s)},vec2u:e=>{let s=o(e);return _chunkVRYGOFCWcjs.q.call(void 0, e.x/s,e.y/s)},vec3f:e=>{let s=m(e);return _chunkVRYGOFCWcjs.r.call(void 0, e.x/s,e.y/s,e.z/s)},vec3h:e=>{let s=m(e);return _chunkVRYGOFCWcjs.s.call(void 0, e.x/s,e.y/s,e.z/s)},vec3i:e=>{let s=m(e);return _chunkVRYGOFCWcjs.t.call(void 0, e.x/s,e.y/s,e.z/s)},vec3u:e=>{let s=m(e);return _chunkVRYGOFCWcjs.u.call(void 0, e.x/s,e.y/s,e.z/s)},vec4f:e=>{let s=z(e);return _chunkVRYGOFCWcjs.v.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4h:e=>{let s=z(e);return _chunkVRYGOFCWcjs.w.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4i:e=>{let s=z(e);return _chunkVRYGOFCWcjs.x.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4u:e=>{let s=z(e);return _chunkVRYGOFCWcjs.y.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)}},cross:{vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x)},floor:{vec2f:e=>_chunkVRYGOFCWcjs.n.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2h:e=>_chunkVRYGOFCWcjs.o.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2i:e=>_chunkVRYGOFCWcjs.p.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2u:e=>_chunkVRYGOFCWcjs.q.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec3f:e=>_chunkVRYGOFCWcjs.r.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3h:e=>_chunkVRYGOFCWcjs.s.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3i:e=>_chunkVRYGOFCWcjs.t.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3u:e=>_chunkVRYGOFCWcjs.u.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec4f:e=>_chunkVRYGOFCWcjs.v.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4h:e=>_chunkVRYGOFCWcjs.w.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4i:e=>_chunkVRYGOFCWcjs.x.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4u:e=>_chunkVRYGOFCWcjs.y.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w))},max:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w))},min:{vec2f:(e,s)=>_chunkVRYGOFCWcjs.n.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2h:(e,s)=>_chunkVRYGOFCWcjs.o.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2i:(e,s)=>_chunkVRYGOFCWcjs.p.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2u:(e,s)=>_chunkVRYGOFCWcjs.q.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec3f:(e,s)=>_chunkVRYGOFCWcjs.r.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3h:(e,s)=>_chunkVRYGOFCWcjs.s.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3i:(e,s)=>_chunkVRYGOFCWcjs.t.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3u:(e,s)=>_chunkVRYGOFCWcjs.u.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec4f:(e,s)=>_chunkVRYGOFCWcjs.v.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4h:(e,s)=>_chunkVRYGOFCWcjs.w.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4i:(e,s)=>_chunkVRYGOFCWcjs.x.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4u:(e,s)=>_chunkVRYGOFCWcjs.y.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w))}};function k(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`(${e} + ${s})`:c.add[e.kind](e,s)}function B(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`(${e} - ${s})`:c.sub[e.kind](e,s)}function V(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`(${e} * ${s})`:typeof e=="number"?c.mulSxV[s.kind](e,s):c.mulVxV[s.kind](e,s)}function $(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`abs(${e})`:typeof e=="number"?Math.abs(e):c.abs[e.kind](e)}function K(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`ceil(${e})`:typeof e=="number"?Math.ceil(e):c.ceil[e.kind](e)}function R(e,s,t){return _chunkVRYGOFCWcjs.m.call(void 0, )?`clamp(${e}, ${s}, ${t})`:typeof e=="number"?Math.min(Math.max(s,e),t):c.clamp[e.kind](e,s,t)}function q(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`cos(${e})`:Math.cos(e)}function O(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`cross(${e}, ${s})`:c.cross[e.kind](e,s)}function S(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`dot(${e}, ${s})`:c.dot[e.kind](e,s)}function G(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`normalize(${e})`:c.normalize[e.kind](e)}function P(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`floor(${e})`:typeof e=="number"?Math.floor(e):c.floor[e.kind](e)}function U(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`fract(${e})`:e-Math.floor(e)}function j(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`length(${e})`:typeof e=="number"?Math.abs(e):c.length[e.kind](e)}function A(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`max(${e}, ${s})`:typeof e=="number"?Math.max(e,s):c.max[e.kind](e,s)}function C(e,s){return _chunkVRYGOFCWcjs.m.call(void 0, )?`min(${e}, ${s})`:typeof e=="number"?Math.min(e,s):c.min[e.kind](e,s)}function D(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`sin(${e})`:Math.sin(e)}function E(e){return _chunkVRYGOFCWcjs.m.call(void 0, )?`exp(${e})`:Math.exp(e)}exports.abs = $; exports.add = k; exports.ceil = K; exports.clamp = R; exports.cos = q; exports.cross = O; exports.dot = S; exports.exp = E; exports.floor = P; exports.fract = U; exports.length = j; exports.max = A; exports.min = C; exports.mul = V; exports.normalize = G; exports.sin = D; exports.sub = B;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLF344PKGcjs = require('../chunk-LF344PKG.cjs');var o=s=>Math.sqrt(s.x**2+s.y**2),M=s=>Math.sqrt(s.x**2+s.y**2+s.z**2),T=s=>Math.sqrt(s.x**2+s.y**2+s.z**2+s.w**2),p=(s,x)=>s.x*x.x+s.y*x.y,k=(s,x)=>s.x*x.x+s.y*x.y+s.z*x.z,B=(s,x)=>s.x*x.x+s.y*x.y+s.z*x.z+s.w*x.w,n=(s,x,t)=>Math.min(Math.max(x,s),t),v={abs:{vec2f:s=>_chunkLF344PKGcjs.n.call(void 0, Math.abs(s.x),Math.abs(s.y)),vec2h:s=>_chunkLF344PKGcjs.o.call(void 0, Math.abs(s.x),Math.abs(s.y)),vec2i:s=>_chunkLF344PKGcjs.p.call(void 0, Math.abs(s.x),Math.abs(s.y)),vec2u:s=>_chunkLF344PKGcjs.q.call(void 0, Math.abs(s.x),Math.abs(s.y)),vec3f:s=>_chunkLF344PKGcjs.r.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3h:s=>_chunkLF344PKGcjs.s.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3i:s=>_chunkLF344PKGcjs.t.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3u:s=>_chunkLF344PKGcjs.u.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec4f:s=>_chunkLF344PKGcjs.v.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4h:s=>_chunkLF344PKGcjs.w.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4i:s=>_chunkLF344PKGcjs.x.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4u:s=>_chunkLF344PKGcjs.y.call(void 0, Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w))},ceil:{vec2f:s=>_chunkLF344PKGcjs.n.call(void 0, Math.ceil(s.x),Math.ceil(s.y)),vec2h:s=>_chunkLF344PKGcjs.o.call(void 0, Math.ceil(s.x),Math.ceil(s.y)),vec2i:s=>_chunkLF344PKGcjs.p.call(void 0, Math.ceil(s.x),Math.ceil(s.y)),vec2u:s=>_chunkLF344PKGcjs.q.call(void 0, Math.ceil(s.x),Math.ceil(s.y)),vec3f:s=>_chunkLF344PKGcjs.r.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3h:s=>_chunkLF344PKGcjs.s.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3i:s=>_chunkLF344PKGcjs.t.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3u:s=>_chunkLF344PKGcjs.u.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec4f:s=>_chunkLF344PKGcjs.v.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4h:s=>_chunkLF344PKGcjs.w.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4i:s=>_chunkLF344PKGcjs.x.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4u:s=>_chunkLF344PKGcjs.y.call(void 0, Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w))},clamp:{vec2f:(s,x,t)=>_chunkLF344PKGcjs.n.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2h:(s,x,t)=>_chunkLF344PKGcjs.o.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2i:(s,x,t)=>_chunkLF344PKGcjs.p.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2u:(s,x,t)=>_chunkLF344PKGcjs.q.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec3f:(s,x,t)=>_chunkLF344PKGcjs.r.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3h:(s,x,t)=>_chunkLF344PKGcjs.s.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3i:(s,x,t)=>_chunkLF344PKGcjs.t.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3u:(s,x,t)=>_chunkLF344PKGcjs.u.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec4f:(s,x,t)=>_chunkLF344PKGcjs.v.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4h:(s,x,t)=>_chunkLF344PKGcjs.w.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4i:(s,x,t)=>_chunkLF344PKGcjs.x.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4u:(s,x,t)=>_chunkLF344PKGcjs.y.call(void 0, n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w))},length:{vec2f:o,vec2h:o,vec2i:o,vec2u:o,vec3f:M,vec3h:M,vec3i:M,vec3u:M,vec4f:T,vec4h:T,vec4i:T,vec4u:T},add:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, s.x+x.x,s.y+x.y),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, s.x+x.x,s.y+x.y),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, s.x+x.x,s.y+x.y),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, s.x+x.x,s.y+x.y),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w)},sub:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, s.x-x.x,s.y-x.y),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, s.x-x.x,s.y-x.y),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, s.x-x.x,s.y-x.y),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, s.x-x.x,s.y-x.y),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w)},mulSxV:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, s*x.x,s*x.y),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, s*x.x,s*x.y),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, s*x.x,s*x.y),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, s*x.x,s*x.y),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s*x.x,s*x.y,s*x.z),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s*x.x,s*x.y,s*x.z),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, s*x.x,s*x.y,s*x.z),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, s*x.x,s*x.y,s*x.z),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, s*x.x,s*x.y,s*x.z,s*x.w),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, s*x.x,s*x.y,s*x.z,s*x.w),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, s*x.x,s*x.y,s*x.z,s*x.w),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, s*x.x,s*x.y,s*x.z,s*x.w),mat2x2f:(s,x)=>{let t=x.columns;return _chunkLF344PKGcjs.z.call(void 0, s*t[0].x,s*t[0].y,s*t[1].x,s*t[1].y)},mat3x3f:(s,x)=>{let t=x.columns;return _chunkLF344PKGcjs.A.call(void 0, s*t[0].x,s*t[0].y,s*t[0].z,s*t[1].x,s*t[1].y,s*t[1].z,s*t[2].x,s*t[2].y,s*t[2].z)},mat4x4f:(s,x)=>{let t=x.columns;return _chunkLF344PKGcjs.A.call(void 0, s*t[0].x,s*t[0].y,s*t[0].z,s*t[0].w,s*t[1].x,s*t[1].y,s*t[1].z,s*t[1].w,s*t[2].x,s*t[2].y,s*t[2].z,s*t[2].w,s*t[3].x,s*t[3].y,s*t[3].z,s*t[3].w)}},mulVxV:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, s.x*x.x,s.y*x.y),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, s.x*x.x,s.y*x.y),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, s.x*x.x,s.y*x.y),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, s.x*x.x,s.y*x.y),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),mat2x2f:(s,x)=>{let t=s.columns,e=x.columns;return _chunkLF344PKGcjs.z.call(void 0, t[0].x*e[0].x+t[1].x*e[0].y,t[0].y*e[0].x+t[1].y*e[0].y,t[0].x*e[1].x+t[1].x*e[1].y,t[0].y*e[1].x+t[1].y*e[1].y)},mat3x3f:(s,x)=>{let t=s.columns,e=x.columns;return _chunkLF344PKGcjs.A.call(void 0, t[0].x*e[0].x+t[1].x*e[0].y+t[2].x*e[0].z,t[0].y*e[0].x+t[1].y*e[0].y+t[2].y*e[0].z,t[0].z*e[0].x+t[1].z*e[0].y+t[2].z*e[0].z,t[0].x*e[1].x+t[1].x*e[1].y+t[2].x*e[1].z,t[0].y*e[1].x+t[1].y*e[1].y+t[2].y*e[1].z,t[0].z*e[1].x+t[1].z*e[1].y+t[2].z*e[1].z,t[0].x*e[2].x+t[1].x*e[2].y+t[2].x*e[2].z,t[0].y*e[2].x+t[1].y*e[2].y+t[2].y*e[2].z,t[0].z*e[2].x+t[1].z*e[2].y+t[2].z*e[2].z)},mat4x4f:(s,x)=>{let t=s.columns,e=x.columns;return _chunkLF344PKGcjs.B.call(void 0, t[0].x*e[0].x+t[1].x*e[0].y+t[2].x*e[0].z+t[3].x*e[0].w,t[0].y*e[0].x+t[1].y*e[0].y+t[2].y*e[0].z+t[3].y*e[0].w,t[0].z*e[0].x+t[1].z*e[0].y+t[2].z*e[0].z+t[3].z*e[0].w,t[0].w*e[0].x+t[1].w*e[0].y+t[2].w*e[0].z+t[3].w*e[0].w,t[0].x*e[1].x+t[1].x*e[1].y+t[2].x*e[1].z+t[3].x*e[1].w,t[0].y*e[1].x+t[1].y*e[1].y+t[2].y*e[1].z+t[3].y*e[1].w,t[0].z*e[1].x+t[1].z*e[1].y+t[2].z*e[1].z+t[3].z*e[1].w,t[0].w*e[1].x+t[1].w*e[1].y+t[2].w*e[1].z+t[3].w*e[1].w,t[0].x*e[2].x+t[1].x*e[2].y+t[2].x*e[2].z+t[3].x*e[2].w,t[0].y*e[2].x+t[1].y*e[2].y+t[2].y*e[2].z+t[3].y*e[2].w,t[0].z*e[2].x+t[1].z*e[2].y+t[2].z*e[2].z+t[3].z*e[2].w,t[0].w*e[2].x+t[1].w*e[2].y+t[2].w*e[2].z+t[3].w*e[2].w,t[0].x*e[3].x+t[1].x*e[3].y+t[2].x*e[3].z+t[3].x*e[3].w,t[0].y*e[3].x+t[1].y*e[3].y+t[2].y*e[3].z+t[3].y*e[3].w,t[0].z*e[3].x+t[1].z*e[3].y+t[2].z*e[3].z+t[3].z*e[3].w,t[0].w*e[3].x+t[1].w*e[3].y+t[2].w*e[3].z+t[3].w*e[3].w)}},dot:{vec2f:p,vec2h:p,vec2i:p,vec2u:p,vec3f:k,vec3h:k,vec3i:k,vec3u:k,vec4f:B,vec4h:B,vec4i:B,vec4u:B},normalize:{vec2f:s=>{let x=o(s);return _chunkLF344PKGcjs.n.call(void 0, s.x/x,s.y/x)},vec2h:s=>{let x=o(s);return _chunkLF344PKGcjs.o.call(void 0, s.x/x,s.y/x)},vec2i:s=>{let x=o(s);return _chunkLF344PKGcjs.p.call(void 0, s.x/x,s.y/x)},vec2u:s=>{let x=o(s);return _chunkLF344PKGcjs.q.call(void 0, s.x/x,s.y/x)},vec3f:s=>{let x=M(s);return _chunkLF344PKGcjs.r.call(void 0, s.x/x,s.y/x,s.z/x)},vec3h:s=>{let x=M(s);return _chunkLF344PKGcjs.s.call(void 0, s.x/x,s.y/x,s.z/x)},vec3i:s=>{let x=M(s);return _chunkLF344PKGcjs.t.call(void 0, s.x/x,s.y/x,s.z/x)},vec3u:s=>{let x=M(s);return _chunkLF344PKGcjs.u.call(void 0, s.x/x,s.y/x,s.z/x)},vec4f:s=>{let x=T(s);return _chunkLF344PKGcjs.v.call(void 0, s.x/x,s.y/x,s.z/x,s.w/x)},vec4h:s=>{let x=T(s);return _chunkLF344PKGcjs.w.call(void 0, s.x/x,s.y/x,s.z/x,s.w/x)},vec4i:s=>{let x=T(s);return _chunkLF344PKGcjs.x.call(void 0, s.x/x,s.y/x,s.z/x,s.w/x)},vec4u:s=>{let x=T(s);return _chunkLF344PKGcjs.y.call(void 0, s.x/x,s.y/x,s.z/x,s.w/x)}},cross:{vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x)},floor:{vec2f:s=>_chunkLF344PKGcjs.n.call(void 0, Math.floor(s.x),Math.floor(s.y)),vec2h:s=>_chunkLF344PKGcjs.o.call(void 0, Math.floor(s.x),Math.floor(s.y)),vec2i:s=>_chunkLF344PKGcjs.p.call(void 0, Math.floor(s.x),Math.floor(s.y)),vec2u:s=>_chunkLF344PKGcjs.q.call(void 0, Math.floor(s.x),Math.floor(s.y)),vec3f:s=>_chunkLF344PKGcjs.r.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3h:s=>_chunkLF344PKGcjs.s.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3i:s=>_chunkLF344PKGcjs.t.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3u:s=>_chunkLF344PKGcjs.u.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec4f:s=>_chunkLF344PKGcjs.v.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4h:s=>_chunkLF344PKGcjs.w.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4i:s=>_chunkLF344PKGcjs.x.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4u:s=>_chunkLF344PKGcjs.y.call(void 0, Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w))},max:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y)),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w))},min:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2i:(s,x)=>_chunkLF344PKGcjs.p.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2u:(s,x)=>_chunkLF344PKGcjs.q.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y)),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3i:(s,x)=>_chunkLF344PKGcjs.t.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3u:(s,x)=>_chunkLF344PKGcjs.u.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4i:(s,x)=>_chunkLF344PKGcjs.x.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4u:(s,x)=>_chunkLF344PKGcjs.y.call(void 0, Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w))},pow:{vec2f:(s,x)=>_chunkLF344PKGcjs.n.call(void 0, s.x**x.x,s.y**x.y),vec2h:(s,x)=>_chunkLF344PKGcjs.o.call(void 0, s.x**x.x,s.y**x.y),vec3f:(s,x)=>_chunkLF344PKGcjs.r.call(void 0, s.x**x.x,s.y**x.y,s.z**x.z),vec3h:(s,x)=>_chunkLF344PKGcjs.s.call(void 0, s.x**x.x,s.y**x.y,s.z**x.z),vec4f:(s,x)=>_chunkLF344PKGcjs.v.call(void 0, s.x**x.x,s.y**x.y,s.z**x.z,s.w**x.w),vec4h:(s,x)=>_chunkLF344PKGcjs.w.call(void 0, s.x**x.x,s.y**x.y,s.z**x.z,s.w**x.w)},mix:{vec2f:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.n.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t):_chunkLF344PKGcjs.n.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y),vec2h:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.o.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t):_chunkLF344PKGcjs.o.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y),vec3f:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.r.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t):_chunkLF344PKGcjs.r.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z),vec3h:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.s.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t):_chunkLF344PKGcjs.s.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z),vec4f:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.v.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t,s.w*(1-t)+x.w*t):_chunkLF344PKGcjs.v.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z,s.w*(1-t.w)+x.w*t.w),vec4h:(s,x,t)=>typeof t=="number"?_chunkLF344PKGcjs.w.call(void 0, s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t,s.w*(1-t)+x.w*t):_chunkLF344PKGcjs.w.call(void 0, s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z,s.w*(1-t.w)+x.w*t.w)}};function K(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`(${s} + ${x})`:v.add[s.kind](s,x)}function R(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`(${s} - ${x})`:v.sub[s.kind](s,x)}function _(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`(${s} * ${x})`:typeof s=="number"?v.mulSxV[x.kind](s,x):v.mulVxV[x.kind](s,x)}function I(s){return _chunkLF344PKGcjs.m.call(void 0, )?`abs(${s})`:typeof s=="number"?Math.abs(s):v.abs[s.kind](s)}function A(s){return _chunkLF344PKGcjs.m.call(void 0, )?`ceil(${s})`:typeof s=="number"?Math.ceil(s):v.ceil[s.kind](s)}function q(s,x,t){return _chunkLF344PKGcjs.m.call(void 0, )?`clamp(${s}, ${x}, ${t})`:typeof s=="number"?Math.min(Math.max(x,s),t):v.clamp[s.kind](s,x,t)}function E(s){return _chunkLF344PKGcjs.m.call(void 0, )?`cos(${s})`:Math.cos(s)}function j(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`cross(${s}, ${x})`:v.cross[s.kind](s,x)}function O(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`dot(${s}, ${x})`:v.dot[s.kind](s,x)}function S(s){return _chunkLF344PKGcjs.m.call(void 0, )?`normalize(${s})`:v.normalize[s.kind](s)}function G(s){return _chunkLF344PKGcjs.m.call(void 0, )?`floor(${s})`:typeof s=="number"?Math.floor(s):v.floor[s.kind](s)}function P(s){return _chunkLF344PKGcjs.m.call(void 0, )?`fract(${s})`:s-Math.floor(s)}function U(s){return _chunkLF344PKGcjs.m.call(void 0, )?`length(${s})`:typeof s=="number"?Math.abs(s):v.length[s.kind](s)}function W(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`max(${s}, ${x})`:typeof s=="number"?Math.max(s,x):v.max[s.kind](s,x)}function C(s,x){return _chunkLF344PKGcjs.m.call(void 0, )?`min(${s}, ${x})`:typeof s=="number"?Math.min(s,x):v.min[s.kind](s,x)}function D(s){return _chunkLF344PKGcjs.m.call(void 0, )?`sin(${s})`:Math.sin(s)}function F(s){return _chunkLF344PKGcjs.m.call(void 0, )?`exp(${s})`:Math.exp(s)}function H(s,x){if(_chunkLF344PKGcjs.m.call(void 0, ))return`pow(${s}, ${x})`;if(typeof s=="number"&&typeof x=="number")return s**x;if(typeof s=="object"&&typeof x=="object"&&"kind"in s&&"kind"in x)return v.pow[s.kind](s,x);throw new Error("Invalid arguments to pow()")}function J(s,x,t){if(_chunkLF344PKGcjs.m.call(void 0, ))return`mix(${s}, ${x}, ${t})`;if(typeof s=="number"){if(typeof t!="number"||typeof x!="number")throw new Error("When e1 and e2 are numbers, the blend factor must be a number.");return s*(1-t)+x*t}if(typeof s=="number"||typeof x=="number")throw new Error("e1 and e2 need to both be vectors of the same kind.");return v.mix[s.kind](s,x,t)}exports.abs = I; exports.add = K; exports.ceil = A; exports.clamp = q; exports.cos = E; exports.cross = j; exports.dot = O; exports.exp = F; exports.floor = G; exports.fract = P; exports.length = U; exports.max = W; exports.min = C; exports.mix = J; exports.mul = _; exports.normalize = S; exports.pow = H; exports.sin = D; exports.sub = R;
2
2
  //# sourceMappingURL=index.cjs.map
package/std/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/data/vectorOps.ts","../../src/std/numeric.ts"],"names":["lengthVec2","v","lengthVec3","lengthVec4","dotVec2","lhs","rhs","dotVec3","dotVec4","clamp","value","low","high","VectorOps","vec2f","vec2h","vec2i","vec2u","vec3f","vec3h","vec3i","vec3u","vec4f","vec4h","vec4i","vec4u","a","b","s","len","add","inGPUMode","sub","mul","abs","ceil","cos","radians","cross","dot","normalize","floor","fract","length","max","min","sin","exp"],"mappings":"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","sourcesContent":["import {\n type VecKind,\n vec2f,\n vec2h,\n vec2i,\n vec2u,\n vec3f,\n vec3h,\n vec3i,\n vec3u,\n vec4f,\n vec4h,\n vec4i,\n vec4u,\n} from './vector';\nimport type * as wgsl from './wgslTypes';\n\ntype vBase = { kind: VecKind };\ntype v2 = wgsl.v2f | wgsl.v2h | wgsl.v2i | wgsl.v2u;\ntype v3 = wgsl.v3f | wgsl.v3h | wgsl.v3i | wgsl.v3u;\ntype v4 = wgsl.v4f | wgsl.v4h | wgsl.v4i | wgsl.v4u;\n\nconst lengthVec2 = (v: v2) => Math.sqrt(v.x ** 2 + v.y ** 2);\nconst lengthVec3 = (v: v3) => Math.sqrt(v.x ** 2 + v.y ** 2 + v.z ** 2);\nconst lengthVec4 = (v: v4) =>\n Math.sqrt(v.x ** 2 + v.y ** 2 + v.z ** 2 + v.w ** 2);\n\nconst dotVec2 = (lhs: v2, rhs: v2) => lhs.x * rhs.x + lhs.y * rhs.y;\nconst dotVec3 = (lhs: v3, rhs: v3) =>\n lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z;\nconst dotVec4 = (lhs: v4, rhs: v4) =>\n lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z + lhs.w * rhs.w;\n\nconst clamp = (value: number, low: number, high: number) =>\n Math.min(Math.max(low, value), high);\n\nexport const VectorOps = {\n abs: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.abs(v.x), Math.abs(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.abs(v.x), Math.abs(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.abs(v.x), Math.abs(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.abs(v.x), Math.abs(v.y)),\n\n vec3f: (v: wgsl.v3f) => vec3f(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3h: (v: wgsl.v3h) => vec3h(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3i: (v: wgsl.v3i) => vec3i(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3u: (v: wgsl.v3u) => vec3u(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n ceil: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.ceil(v.x), Math.ceil(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.ceil(v.x), Math.ceil(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.ceil(v.x), Math.ceil(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.ceil(v.x), Math.ceil(v.y)),\n\n vec3f: (v: wgsl.v3f) =>\n vec3f(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3h: (v: wgsl.v3h) =>\n vec3h(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3i: (v: wgsl.v3i) =>\n vec3i(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3u: (v: wgsl.v3u) =>\n vec3u(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n clamp: {\n vec2f: (v: wgsl.v2f, low: wgsl.v2f, high: wgsl.v2f) =>\n vec2f(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2h: (v: wgsl.v2h, low: wgsl.v2h, high: wgsl.v2h) =>\n vec2h(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2i: (v: wgsl.v2i, low: wgsl.v2i, high: wgsl.v2i) =>\n vec2i(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2u: (v: wgsl.v2u, low: wgsl.v2u, high: wgsl.v2u) =>\n vec2u(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n\n vec3f: (v: wgsl.v3f, low: wgsl.v3f, high: wgsl.v3f) =>\n vec3f(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3h: (v: wgsl.v3h, low: wgsl.v3h, high: wgsl.v3h) =>\n vec3h(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3i: (v: wgsl.v3i, low: wgsl.v3i, high: wgsl.v3f) =>\n vec3i(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3u: (v: wgsl.v3u, low: wgsl.v3u, high: wgsl.v3f) =>\n vec3u(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n\n vec4f: (v: wgsl.v4f, low: wgsl.v4f, high: wgsl.v4f) =>\n vec4f(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4h: (v: wgsl.v4h, low: wgsl.v4h, high: wgsl.v4h) =>\n vec4h(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4i: (v: wgsl.v4i, low: wgsl.v4i, high: wgsl.v4i) =>\n vec4i(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4u: (v: wgsl.v4u, low: wgsl.v4u, high: wgsl.v4u) =>\n vec4u(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n } as Record<VecKind, <T extends vBase>(v: T, low: T, high: T) => T>,\n\n length: {\n vec2f: lengthVec2,\n vec2h: lengthVec2,\n vec2i: lengthVec2,\n vec2u: lengthVec2,\n vec3f: lengthVec3,\n vec3h: lengthVec3,\n vec3i: lengthVec3,\n vec3u: lengthVec3,\n vec4f: lengthVec4,\n vec4h: lengthVec4,\n vec4i: lengthVec4,\n vec4u: lengthVec4,\n } as Record<VecKind, (v: vBase) => number>,\n\n add: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x + b.x, a.y + b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x + b.x, a.y + b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x + b.x, a.y + b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x + b.x, a.y + b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x + b.x, a.y + b.y, a.z + b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => T>,\n\n sub: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x - b.x, a.y - b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x - b.x, a.y - b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x - b.x, a.y - b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x - b.x, a.y - b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x - b.x, a.y - b.y, a.z - b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => T>,\n\n mulSxV: {\n vec2f: (s: number, v: wgsl.v2f) => vec2f(s * v.x, s * v.y),\n vec2h: (s: number, v: wgsl.v2h) => vec2h(s * v.x, s * v.y),\n vec2i: (s: number, v: wgsl.v2i) => vec2i(s * v.x, s * v.y),\n vec2u: (s: number, v: wgsl.v2u) => vec2u(s * v.x, s * v.y),\n\n vec3f: (s: number, v: wgsl.v3f) => vec3f(s * v.x, s * v.y, s * v.z),\n vec3h: (s: number, v: wgsl.v3h) => vec3h(s * v.x, s * v.y, s * v.z),\n vec3i: (s: number, v: wgsl.v3i) => vec3i(s * v.x, s * v.y, s * v.z),\n vec3u: (s: number, v: wgsl.v3u) => vec3u(s * v.x, s * v.y, s * v.z),\n\n vec4f: (s: number, v: wgsl.v4f) =>\n vec4f(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4h: (s: number, v: wgsl.v4h) =>\n vec4h(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4i: (s: number, v: wgsl.v4i) =>\n vec4i(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4u: (s: number, v: wgsl.v4u) =>\n vec4u(s * v.x, s * v.y, s * v.z, s * v.w),\n } as Record<VecKind, <T extends vBase>(s: number, v: T) => T>,\n\n mulVxV: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x * b.x, a.y * b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x * b.x, a.y * b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x * b.x, a.y * b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x * b.x, a.y * b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x * b.x, a.y * b.y, a.z * b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => T>,\n\n dot: {\n vec2f: dotVec2,\n vec2h: dotVec2,\n vec2i: dotVec2,\n vec2u: dotVec2,\n vec3f: dotVec3,\n vec3h: dotVec3,\n vec3i: dotVec3,\n vec3u: dotVec3,\n vec4f: dotVec4,\n vec4h: dotVec4,\n vec4i: dotVec4,\n vec4u: dotVec4,\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => number>,\n\n normalize: {\n vec2f: (v: wgsl.v2f) => {\n const len = lengthVec2(v);\n return vec2f(v.x / len, v.y / len);\n },\n vec2h: (v: wgsl.v2h) => {\n const len = lengthVec2(v);\n return vec2h(v.x / len, v.y / len);\n },\n vec2i: (v: wgsl.v2i) => {\n const len = lengthVec2(v);\n return vec2i(v.x / len, v.y / len);\n },\n vec2u: (v: wgsl.v2u) => {\n const len = lengthVec2(v);\n return vec2u(v.x / len, v.y / len);\n },\n\n vec3f: (v: wgsl.v3f) => {\n const len = lengthVec3(v);\n return vec3f(v.x / len, v.y / len, v.z / len);\n },\n vec3h: (v: wgsl.v3h) => {\n const len = lengthVec3(v);\n return vec3h(v.x / len, v.y / len, v.z / len);\n },\n vec3i: (v: wgsl.v3i) => {\n const len = lengthVec3(v);\n return vec3i(v.x / len, v.y / len, v.z / len);\n },\n vec3u: (v: wgsl.v3u) => {\n const len = lengthVec3(v);\n return vec3u(v.x / len, v.y / len, v.z / len);\n },\n\n vec4f: (v: wgsl.v4f) => {\n const len = lengthVec4(v);\n return vec4f(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4h: (v: wgsl.v4h) => {\n const len = lengthVec4(v);\n return vec4h(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4i: (v: wgsl.v4i) => {\n const len = lengthVec4(v);\n return vec4i(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4u: (v: wgsl.v4u) => {\n const len = lengthVec4(v);\n return vec4u(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n cross: {\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => {\n return vec3f(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => {\n return vec3h(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => {\n return vec3i(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => {\n return vec3u(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n } as Record<\n 'vec3f' | 'vec3i' | 'vec3u',\n <T extends wgsl.v3f | wgsl.v3i | wgsl.v3u>(a: T, b: T) => T\n >,\n\n floor: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.floor(v.x), Math.floor(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.floor(v.x), Math.floor(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.floor(v.x), Math.floor(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.floor(v.x), Math.floor(v.y)),\n\n vec3f: (v: wgsl.v3f) =>\n vec3f(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3h: (v: wgsl.v3h) =>\n vec3h(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3i: (v: wgsl.v3i) =>\n vec3i(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3u: (v: wgsl.v3u) =>\n vec3u(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n max: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) =>\n vec2f(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) =>\n vec2h(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) =>\n vec2i(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) =>\n vec2u(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) =>\n vec3f(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) =>\n vec3h(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) =>\n vec3i(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) =>\n vec3u(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n } as Record<VecKind, <T extends vBase>(a: T, b: T) => T>,\n\n min: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) =>\n vec2f(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) =>\n vec2h(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) =>\n vec2i(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) =>\n vec2u(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) =>\n vec3f(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) =>\n vec3h(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) =>\n vec3i(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) =>\n vec3u(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n } as Record<VecKind, <T extends vBase>(a: T, b: T) => T>,\n};\n","import type { VecKind } from '../data/vector';\nimport { VectorOps } from '../data/vectorOps';\nimport type { v3f, v3i, v3u } from '../data/wgslTypes';\nimport { inGPUMode } from '../gpuMode';\n\ntype vBase = { kind: VecKind };\n\nexport function add<T extends vBase>(lhs: T, rhs: T): T {\n if (inGPUMode()) {\n return `(${lhs} + ${rhs})` as unknown as T;\n }\n return VectorOps.add[lhs.kind](lhs, rhs);\n}\n\nexport function sub<T extends vBase>(lhs: T, rhs: T): T {\n if (inGPUMode()) {\n return `(${lhs} - ${rhs})` as unknown as T;\n }\n return VectorOps.sub[lhs.kind](lhs, rhs);\n}\n\nexport function mul<T extends vBase>(s: number | T, v: T): T {\n if (inGPUMode()) {\n return `(${s} * ${v})` as unknown as T;\n }\n if (typeof s === 'number') {\n return VectorOps.mulSxV[v.kind](s, v);\n }\n return VectorOps.mulVxV[v.kind](s, v);\n}\n\nexport function abs<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `abs(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.abs(value) as T;\n }\n return VectorOps.abs[value.kind](value) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#ceil-builtin\n */\nexport function ceil<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `ceil(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.ceil(value) as T;\n }\n return VectorOps.ceil[value.kind](value) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#clamp\n */\nexport function clamp<T extends vBase | number>(value: T, low: T, high: T): T {\n if (inGPUMode()) {\n return `clamp(${value}, ${low}, ${high})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.min(Math.max(low as number, value), high as number) as T;\n }\n return VectorOps.clamp[value.kind](value, low as vBase, high as vBase) as T;\n}\n\n// TODO: Accept vectors into `cos`\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#cos-builtin\n */\nexport function cos(radians: number): number {\n if (inGPUMode()) {\n return `cos(${radians})` as unknown as number;\n }\n return Math.cos(radians);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#cross-builtin\n */\nexport function cross<T extends v3f | v3i | v3u>(a: T, b: T): T {\n if (inGPUMode()) {\n return `cross(${a}, ${b})` as unknown as T;\n }\n return VectorOps.cross[a.kind](a, b);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#dot-builtin\n */\nexport function dot<T extends vBase>(lhs: T, rhs: T): number {\n if (inGPUMode()) {\n return `dot(${lhs}, ${rhs})` as unknown as number;\n }\n return VectorOps.dot[lhs.kind](lhs, rhs);\n}\n\nexport function normalize<T extends vBase>(v: T): T {\n if (inGPUMode()) {\n return `normalize(${v})` as unknown as T;\n }\n return VectorOps.normalize[v.kind](v);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#floor-builtin\n */\nexport function floor<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `floor(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.floor(value) as T;\n }\n return VectorOps.floor[value.kind](value) as T;\n}\n\nexport function fract(a: number): number {\n if (inGPUMode()) {\n return `fract(${a})` as unknown as number;\n }\n return a - Math.floor(a);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#length-builtin\n */\nexport function length<T extends vBase | number>(value: T): number {\n if (inGPUMode()) {\n return `length(${value})` as unknown as number;\n }\n if (typeof value === 'number') {\n return Math.abs(value);\n }\n return VectorOps.length[value.kind](value);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#max-float-builtin\n */\nexport function max<T extends vBase | number>(a: T, b: T): T {\n if (inGPUMode()) {\n return `max(${a}, ${b})` as unknown as T;\n }\n if (typeof a === 'number') {\n return Math.max(a, b as number) as T;\n }\n return VectorOps.max[a.kind](a, b as vBase) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#min-float-builtin\n */\nexport function min<T extends vBase | number>(a: T, b: T): T {\n if (inGPUMode()) {\n return `min(${a}, ${b})` as unknown as T;\n }\n if (typeof a === 'number') {\n return Math.min(a, b as number) as T;\n }\n return VectorOps.min[a.kind](a, b as vBase) as T;\n}\n\nexport function sin(radians: number): number {\n if (inGPUMode()) {\n return `sin(${radians})` as unknown as number;\n }\n return Math.sin(radians);\n}\n\nexport function exp(value: number): number {\n if (inGPUMode()) {\n return `exp(${value})` as unknown as number;\n }\n return Math.exp(value);\n}\n"]}
1
+ {"version":3,"sources":["../../src/data/vectorOps.ts","../../src/std/numeric.ts"],"names":["lengthVec2","v","lengthVec3","lengthVec4","dotVec2","lhs","rhs","dotVec3","dotVec4","clamp","value","low","high","VectorOps","vec2f","vec2h","vec2i","vec2u","vec3f","vec3h","vec3i","vec3u","vec4f","vec4h","vec4i","vec4u","a","b","m","m_","mat2x2f","mat3x3f","a_","b_","mat4x4f","len","base","exponent","e1","e2","e3","add","inGPUMode","sub","mul","abs","ceil","cos","radians","cross","dot","normalize","floor","fract","length","max","min","sin","exp","pow","mix"],"mappings":"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G,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAClBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAElBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAClBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAClBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAClBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAElBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAClBD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EACdD,EAAG,CAAC,EAAE,EAAIC,EAAG,CAAC,EAAE,EAChBD,EAAG,C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","sourcesContent":["import { mat2x2f, mat3x3f, mat4x4f } from './matrix';\nimport {\n type VecKind,\n vec2f,\n vec2h,\n vec2i,\n vec2u,\n vec3f,\n vec3h,\n vec3i,\n vec3u,\n vec4f,\n vec4h,\n vec4i,\n vec4u,\n} from './vector';\nimport type * as wgsl from './wgslTypes';\n\ntype vBase = { kind: VecKind };\ntype v2 = wgsl.v2f | wgsl.v2h | wgsl.v2i | wgsl.v2u;\ntype v3 = wgsl.v3f | wgsl.v3h | wgsl.v3i | wgsl.v3u;\ntype v4 = wgsl.v4f | wgsl.v4h | wgsl.v4i | wgsl.v4u;\n\ntype MatKind = 'mat2x2f' | 'mat3x3f' | 'mat4x4f';\n\nconst lengthVec2 = (v: v2) => Math.sqrt(v.x ** 2 + v.y ** 2);\nconst lengthVec3 = (v: v3) => Math.sqrt(v.x ** 2 + v.y ** 2 + v.z ** 2);\nconst lengthVec4 = (v: v4) =>\n Math.sqrt(v.x ** 2 + v.y ** 2 + v.z ** 2 + v.w ** 2);\n\nconst dotVec2 = (lhs: v2, rhs: v2) => lhs.x * rhs.x + lhs.y * rhs.y;\nconst dotVec3 = (lhs: v3, rhs: v3) =>\n lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z;\nconst dotVec4 = (lhs: v4, rhs: v4) =>\n lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z + lhs.w * rhs.w;\n\nconst clamp = (value: number, low: number, high: number) =>\n Math.min(Math.max(low, value), high);\n\nexport const VectorOps = {\n abs: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.abs(v.x), Math.abs(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.abs(v.x), Math.abs(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.abs(v.x), Math.abs(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.abs(v.x), Math.abs(v.y)),\n\n vec3f: (v: wgsl.v3f) => vec3f(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3h: (v: wgsl.v3h) => vec3h(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3i: (v: wgsl.v3i) => vec3i(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n vec3u: (v: wgsl.v3u) => vec3u(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.abs(v.x), Math.abs(v.y), Math.abs(v.z), Math.abs(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n ceil: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.ceil(v.x), Math.ceil(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.ceil(v.x), Math.ceil(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.ceil(v.x), Math.ceil(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.ceil(v.x), Math.ceil(v.y)),\n\n vec3f: (v: wgsl.v3f) =>\n vec3f(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3h: (v: wgsl.v3h) =>\n vec3h(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3i: (v: wgsl.v3i) =>\n vec3i(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n vec3u: (v: wgsl.v3u) =>\n vec3u(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.ceil(v.x), Math.ceil(v.y), Math.ceil(v.z), Math.ceil(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n clamp: {\n vec2f: (v: wgsl.v2f, low: wgsl.v2f, high: wgsl.v2f) =>\n vec2f(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2h: (v: wgsl.v2h, low: wgsl.v2h, high: wgsl.v2h) =>\n vec2h(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2i: (v: wgsl.v2i, low: wgsl.v2i, high: wgsl.v2i) =>\n vec2i(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n vec2u: (v: wgsl.v2u, low: wgsl.v2u, high: wgsl.v2u) =>\n vec2u(clamp(v.x, low.x, high.x), clamp(v.y, low.y, high.y)),\n\n vec3f: (v: wgsl.v3f, low: wgsl.v3f, high: wgsl.v3f) =>\n vec3f(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3h: (v: wgsl.v3h, low: wgsl.v3h, high: wgsl.v3h) =>\n vec3h(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3i: (v: wgsl.v3i, low: wgsl.v3i, high: wgsl.v3f) =>\n vec3i(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n vec3u: (v: wgsl.v3u, low: wgsl.v3u, high: wgsl.v3f) =>\n vec3u(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n ),\n\n vec4f: (v: wgsl.v4f, low: wgsl.v4f, high: wgsl.v4f) =>\n vec4f(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4h: (v: wgsl.v4h, low: wgsl.v4h, high: wgsl.v4h) =>\n vec4h(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4i: (v: wgsl.v4i, low: wgsl.v4i, high: wgsl.v4i) =>\n vec4i(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n vec4u: (v: wgsl.v4u, low: wgsl.v4u, high: wgsl.v4u) =>\n vec4u(\n clamp(v.x, low.x, high.x),\n clamp(v.y, low.y, high.y),\n clamp(v.z, low.z, high.z),\n clamp(v.w, low.w, high.w),\n ),\n } as Record<VecKind, <T extends vBase>(v: T, low: T, high: T) => T>,\n\n length: {\n vec2f: lengthVec2,\n vec2h: lengthVec2,\n vec2i: lengthVec2,\n vec2u: lengthVec2,\n vec3f: lengthVec3,\n vec3h: lengthVec3,\n vec3i: lengthVec3,\n vec3u: lengthVec3,\n vec4f: lengthVec4,\n vec4h: lengthVec4,\n vec4i: lengthVec4,\n vec4u: lengthVec4,\n } as Record<VecKind, (v: vBase) => number>,\n\n add: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x + b.x, a.y + b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x + b.x, a.y + b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x + b.x, a.y + b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x + b.x, a.y + b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x + b.x, a.y + b.y, a.z + b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x + b.x, a.y + b.y, a.z + b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w),\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => T>,\n\n sub: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x - b.x, a.y - b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x - b.x, a.y - b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x - b.x, a.y - b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x - b.x, a.y - b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x - b.x, a.y - b.y, a.z - b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x - b.x, a.y - b.y, a.z - b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w),\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => T>,\n\n mulSxV: {\n vec2f: (s: number, v: wgsl.v2f) => vec2f(s * v.x, s * v.y),\n vec2h: (s: number, v: wgsl.v2h) => vec2h(s * v.x, s * v.y),\n vec2i: (s: number, v: wgsl.v2i) => vec2i(s * v.x, s * v.y),\n vec2u: (s: number, v: wgsl.v2u) => vec2u(s * v.x, s * v.y),\n\n vec3f: (s: number, v: wgsl.v3f) => vec3f(s * v.x, s * v.y, s * v.z),\n vec3h: (s: number, v: wgsl.v3h) => vec3h(s * v.x, s * v.y, s * v.z),\n vec3i: (s: number, v: wgsl.v3i) => vec3i(s * v.x, s * v.y, s * v.z),\n vec3u: (s: number, v: wgsl.v3u) => vec3u(s * v.x, s * v.y, s * v.z),\n\n vec4f: (s: number, v: wgsl.v4f) =>\n vec4f(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4h: (s: number, v: wgsl.v4h) =>\n vec4h(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4i: (s: number, v: wgsl.v4i) =>\n vec4i(s * v.x, s * v.y, s * v.z, s * v.w),\n vec4u: (s: number, v: wgsl.v4u) =>\n vec4u(s * v.x, s * v.y, s * v.z, s * v.w),\n\n mat2x2f: (s: number, m: wgsl.m2x2f) => {\n const m_ = m.columns as [wgsl.v2f, wgsl.v2f];\n return mat2x2f(s * m_[0].x, s * m_[0].y, s * m_[1].x, s * m_[1].y);\n },\n\n mat3x3f: (s: number, m: wgsl.m3x3f) => {\n const m_ = m.columns as [wgsl.v3f, wgsl.v3f, wgsl.v3f];\n return mat3x3f(\n s * m_[0].x,\n s * m_[0].y,\n s * m_[0].z,\n\n s * m_[1].x,\n s * m_[1].y,\n s * m_[1].z,\n\n s * m_[2].x,\n s * m_[2].y,\n s * m_[2].z,\n );\n },\n\n mat4x4f: (s: number, m: wgsl.m4x4f) => {\n const m_ = m.columns as [wgsl.v4f, wgsl.v4f, wgsl.v4f, wgsl.v4f];\n return mat3x3f(\n s * m_[0].x,\n s * m_[0].y,\n s * m_[0].z,\n s * m_[0].w,\n\n s * m_[1].x,\n s * m_[1].y,\n s * m_[1].z,\n s * m_[1].w,\n\n s * m_[2].x,\n s * m_[2].y,\n s * m_[2].z,\n s * m_[2].w,\n\n s * m_[3].x,\n s * m_[3].y,\n s * m_[3].z,\n s * m_[3].w,\n );\n },\n } as Record<\n VecKind | MatKind,\n <T extends vBase | wgsl.AnyMatInstance>(s: number, v: T) => T\n >,\n\n mulVxV: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) => vec2f(a.x * b.x, a.y * b.y),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) => vec2h(a.x * b.x, a.y * b.y),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) => vec2i(a.x * b.x, a.y * b.y),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) => vec2u(a.x * b.x, a.y * b.y),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => vec3f(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => vec3h(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => vec3i(a.x * b.x, a.y * b.y, a.z * b.z),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => vec3u(a.x * b.x, a.y * b.y, a.z * b.z),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w),\n\n mat2x2f: (a: wgsl.m2x2f, b: wgsl.m2x2f) => {\n const a_ = a.columns as [wgsl.v2f, wgsl.v2f];\n const b_ = b.columns as [wgsl.v2f, wgsl.v2f];\n\n return mat2x2f(\n a_[0].x * b_[0].x + a_[1].x * b_[0].y,\n a_[0].y * b_[0].x + a_[1].y * b_[0].y,\n\n a_[0].x * b_[1].x + a_[1].x * b_[1].y,\n a_[0].y * b_[1].x + a_[1].y * b_[1].y,\n );\n },\n\n mat3x3f: (a: wgsl.m3x3f, b: wgsl.m3x3f) => {\n const a_ = a.columns as [wgsl.v3f, wgsl.v3f, wgsl.v3f];\n const b_ = b.columns as [wgsl.v3f, wgsl.v3f, wgsl.v3f];\n\n return mat3x3f(\n a_[0].x * b_[0].x + a_[1].x * b_[0].y + a_[2].x * b_[0].z,\n a_[0].y * b_[0].x + a_[1].y * b_[0].y + a_[2].y * b_[0].z,\n a_[0].z * b_[0].x + a_[1].z * b_[0].y + a_[2].z * b_[0].z,\n\n a_[0].x * b_[1].x + a_[1].x * b_[1].y + a_[2].x * b_[1].z,\n a_[0].y * b_[1].x + a_[1].y * b_[1].y + a_[2].y * b_[1].z,\n a_[0].z * b_[1].x + a_[1].z * b_[1].y + a_[2].z * b_[1].z,\n\n a_[0].x * b_[2].x + a_[1].x * b_[2].y + a_[2].x * b_[2].z,\n a_[0].y * b_[2].x + a_[1].y * b_[2].y + a_[2].y * b_[2].z,\n a_[0].z * b_[2].x + a_[1].z * b_[2].y + a_[2].z * b_[2].z,\n );\n },\n\n mat4x4f: (a: wgsl.m4x4f, b: wgsl.m4x4f) => {\n const a_ = a.columns as [wgsl.v4f, wgsl.v4f, wgsl.v4f, wgsl.v4f];\n const b_ = b.columns as [wgsl.v4f, wgsl.v4f, wgsl.v4f, wgsl.v4f];\n\n return mat4x4f(\n a_[0].x * b_[0].x +\n a_[1].x * b_[0].y +\n a_[2].x * b_[0].z +\n a_[3].x * b_[0].w,\n a_[0].y * b_[0].x +\n a_[1].y * b_[0].y +\n a_[2].y * b_[0].z +\n a_[3].y * b_[0].w,\n a_[0].z * b_[0].x +\n a_[1].z * b_[0].y +\n a_[2].z * b_[0].z +\n a_[3].z * b_[0].w,\n a_[0].w * b_[0].x +\n a_[1].w * b_[0].y +\n a_[2].w * b_[0].z +\n a_[3].w * b_[0].w,\n\n a_[0].x * b_[1].x +\n a_[1].x * b_[1].y +\n a_[2].x * b_[1].z +\n a_[3].x * b_[1].w,\n a_[0].y * b_[1].x +\n a_[1].y * b_[1].y +\n a_[2].y * b_[1].z +\n a_[3].y * b_[1].w,\n a_[0].z * b_[1].x +\n a_[1].z * b_[1].y +\n a_[2].z * b_[1].z +\n a_[3].z * b_[1].w,\n a_[0].w * b_[1].x +\n a_[1].w * b_[1].y +\n a_[2].w * b_[1].z +\n a_[3].w * b_[1].w,\n\n a_[0].x * b_[2].x +\n a_[1].x * b_[2].y +\n a_[2].x * b_[2].z +\n a_[3].x * b_[2].w,\n a_[0].y * b_[2].x +\n a_[1].y * b_[2].y +\n a_[2].y * b_[2].z +\n a_[3].y * b_[2].w,\n a_[0].z * b_[2].x +\n a_[1].z * b_[2].y +\n a_[2].z * b_[2].z +\n a_[3].z * b_[2].w,\n a_[0].w * b_[2].x +\n a_[1].w * b_[2].y +\n a_[2].w * b_[2].z +\n a_[3].w * b_[2].w,\n\n a_[0].x * b_[3].x +\n a_[1].x * b_[3].y +\n a_[2].x * b_[3].z +\n a_[3].x * b_[3].w,\n a_[0].y * b_[3].x +\n a_[1].y * b_[3].y +\n a_[2].y * b_[3].z +\n a_[3].y * b_[3].w,\n a_[0].z * b_[3].x +\n a_[1].z * b_[3].y +\n a_[2].z * b_[3].z +\n a_[3].z * b_[3].w,\n a_[0].w * b_[3].x +\n a_[1].w * b_[3].y +\n a_[2].w * b_[3].z +\n a_[3].w * b_[3].w,\n );\n },\n } as Record<\n VecKind | MatKind,\n <T extends vBase | wgsl.AnyMatInstance>(lhs: T, rhs: T) => T\n >,\n\n dot: {\n vec2f: dotVec2,\n vec2h: dotVec2,\n vec2i: dotVec2,\n vec2u: dotVec2,\n vec3f: dotVec3,\n vec3h: dotVec3,\n vec3i: dotVec3,\n vec3u: dotVec3,\n vec4f: dotVec4,\n vec4h: dotVec4,\n vec4i: dotVec4,\n vec4u: dotVec4,\n } as Record<VecKind, <T extends vBase>(lhs: T, rhs: T) => number>,\n\n normalize: {\n vec2f: (v: wgsl.v2f) => {\n const len = lengthVec2(v);\n return vec2f(v.x / len, v.y / len);\n },\n vec2h: (v: wgsl.v2h) => {\n const len = lengthVec2(v);\n return vec2h(v.x / len, v.y / len);\n },\n vec2i: (v: wgsl.v2i) => {\n const len = lengthVec2(v);\n return vec2i(v.x / len, v.y / len);\n },\n vec2u: (v: wgsl.v2u) => {\n const len = lengthVec2(v);\n return vec2u(v.x / len, v.y / len);\n },\n\n vec3f: (v: wgsl.v3f) => {\n const len = lengthVec3(v);\n return vec3f(v.x / len, v.y / len, v.z / len);\n },\n vec3h: (v: wgsl.v3h) => {\n const len = lengthVec3(v);\n return vec3h(v.x / len, v.y / len, v.z / len);\n },\n vec3i: (v: wgsl.v3i) => {\n const len = lengthVec3(v);\n return vec3i(v.x / len, v.y / len, v.z / len);\n },\n vec3u: (v: wgsl.v3u) => {\n const len = lengthVec3(v);\n return vec3u(v.x / len, v.y / len, v.z / len);\n },\n\n vec4f: (v: wgsl.v4f) => {\n const len = lengthVec4(v);\n return vec4f(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4h: (v: wgsl.v4h) => {\n const len = lengthVec4(v);\n return vec4h(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4i: (v: wgsl.v4i) => {\n const len = lengthVec4(v);\n return vec4i(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n vec4u: (v: wgsl.v4u) => {\n const len = lengthVec4(v);\n return vec4u(v.x / len, v.y / len, v.z / len, v.w / len);\n },\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n cross: {\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) => {\n return vec3f(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) => {\n return vec3h(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) => {\n return vec3i(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) => {\n return vec3u(\n a.y * b.z - a.z * b.y,\n a.z * b.x - a.x * b.z,\n a.x * b.y - a.y * b.x,\n );\n },\n } as Record<\n 'vec3f' | 'vec3i' | 'vec3u',\n <T extends wgsl.v3f | wgsl.v3i | wgsl.v3u>(a: T, b: T) => T\n >,\n\n floor: {\n vec2f: (v: wgsl.v2f) => vec2f(Math.floor(v.x), Math.floor(v.y)),\n vec2h: (v: wgsl.v2h) => vec2h(Math.floor(v.x), Math.floor(v.y)),\n vec2i: (v: wgsl.v2i) => vec2i(Math.floor(v.x), Math.floor(v.y)),\n vec2u: (v: wgsl.v2u) => vec2u(Math.floor(v.x), Math.floor(v.y)),\n\n vec3f: (v: wgsl.v3f) =>\n vec3f(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3h: (v: wgsl.v3h) =>\n vec3h(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3i: (v: wgsl.v3i) =>\n vec3i(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n vec3u: (v: wgsl.v3u) =>\n vec3u(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z)),\n\n vec4f: (v: wgsl.v4f) =>\n vec4f(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4h: (v: wgsl.v4h) =>\n vec4h(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4i: (v: wgsl.v4i) =>\n vec4i(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n vec4u: (v: wgsl.v4u) =>\n vec4u(Math.floor(v.x), Math.floor(v.y), Math.floor(v.z), Math.floor(v.w)),\n } as Record<VecKind, <T extends vBase>(v: T) => T>,\n\n max: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) =>\n vec2f(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) =>\n vec2h(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) =>\n vec2i(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) =>\n vec2u(Math.max(a.x, b.x), Math.max(a.y, b.y)),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) =>\n vec3f(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) =>\n vec3h(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) =>\n vec3i(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) =>\n vec3u(Math.max(a.x, b.x), Math.max(a.y, b.y), Math.max(a.z, b.z)),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(\n Math.max(a.x, b.x),\n Math.max(a.y, b.y),\n Math.max(a.z, b.z),\n Math.max(a.w, b.w),\n ),\n } as Record<VecKind, <T extends vBase>(a: T, b: T) => T>,\n\n min: {\n vec2f: (a: wgsl.v2f, b: wgsl.v2f) =>\n vec2f(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2h: (a: wgsl.v2h, b: wgsl.v2h) =>\n vec2h(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2i: (a: wgsl.v2i, b: wgsl.v2i) =>\n vec2i(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n vec2u: (a: wgsl.v2u, b: wgsl.v2u) =>\n vec2u(Math.min(a.x, b.x), Math.min(a.y, b.y)),\n\n vec3f: (a: wgsl.v3f, b: wgsl.v3f) =>\n vec3f(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3h: (a: wgsl.v3h, b: wgsl.v3h) =>\n vec3h(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3i: (a: wgsl.v3i, b: wgsl.v3i) =>\n vec3i(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n vec3u: (a: wgsl.v3u, b: wgsl.v3u) =>\n vec3u(Math.min(a.x, b.x), Math.min(a.y, b.y), Math.min(a.z, b.z)),\n\n vec4f: (a: wgsl.v4f, b: wgsl.v4f) =>\n vec4f(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4h: (a: wgsl.v4h, b: wgsl.v4h) =>\n vec4h(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4i: (a: wgsl.v4i, b: wgsl.v4i) =>\n vec4i(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n vec4u: (a: wgsl.v4u, b: wgsl.v4u) =>\n vec4u(\n Math.min(a.x, b.x),\n Math.min(a.y, b.y),\n Math.min(a.z, b.z),\n Math.min(a.w, b.w),\n ),\n } as Record<VecKind, <T extends vBase>(a: T, b: T) => T>,\n\n pow: {\n vec2f: (base: wgsl.v2f, exponent: wgsl.v2f) =>\n vec2f(base.x ** exponent.x, base.y ** exponent.y),\n vec2h: (base: wgsl.v2h, exponent: wgsl.v2h) =>\n vec2h(base.x ** exponent.x, base.y ** exponent.y),\n\n vec3f: (base: wgsl.v3f, exponent: wgsl.v3f) =>\n vec3f(base.x ** exponent.x, base.y ** exponent.y, base.z ** exponent.z),\n vec3h: (base: wgsl.v3h, exponent: wgsl.v3h) =>\n vec3h(base.x ** exponent.x, base.y ** exponent.y, base.z ** exponent.z),\n\n vec4f: (base: wgsl.v4f, exponent: wgsl.v4f) =>\n vec4f(\n base.x ** exponent.x,\n base.y ** exponent.y,\n base.z ** exponent.z,\n base.w ** exponent.w,\n ),\n vec4h: (base: wgsl.v4h, exponent: wgsl.v4h) =>\n vec4h(\n base.x ** exponent.x,\n base.y ** exponent.y,\n base.z ** exponent.z,\n base.w ** exponent.w,\n ),\n } as Record<\n 'vec2f' | 'vec3f' | 'vec4f' | 'vec2h' | 'vec3h' | 'vec4h' | 'number',\n <\n T extends\n | wgsl.v2f\n | wgsl.v3f\n | wgsl.v4f\n | wgsl.v2h\n | wgsl.v3h\n | wgsl.v4h\n | number,\n >(\n a: T,\n b: T,\n ) => T\n >,\n\n mix: {\n vec2f: (e1: wgsl.v2f, e2: wgsl.v2f, e3: wgsl.v2f | number) => {\n if (typeof e3 === 'number') {\n return vec2f(e1.x * (1 - e3) + e2.x * e3, e1.y * (1 - e3) + e2.y * e3);\n }\n return vec2f(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n );\n },\n vec2h: (e1: wgsl.v2h, e2: wgsl.v2h, e3: wgsl.v2h | number) => {\n if (typeof e3 === 'number') {\n return vec2h(e1.x * (1 - e3) + e2.x * e3, e1.y * (1 - e3) + e2.y * e3);\n }\n return vec2h(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n );\n },\n\n vec3f: (e1: wgsl.v3f, e2: wgsl.v3f, e3: wgsl.v3f | number) => {\n if (typeof e3 === 'number') {\n return vec3f(\n e1.x * (1 - e3) + e2.x * e3,\n e1.y * (1 - e3) + e2.y * e3,\n e1.z * (1 - e3) + e2.z * e3,\n );\n }\n return vec3f(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n e1.z * (1 - e3.z) + e2.z * e3.z,\n );\n },\n vec3h: (e1: wgsl.v3h, e2: wgsl.v3h, e3: wgsl.v3h | number) => {\n if (typeof e3 === 'number') {\n return vec3h(\n e1.x * (1 - e3) + e2.x * e3,\n e1.y * (1 - e3) + e2.y * e3,\n e1.z * (1 - e3) + e2.z * e3,\n );\n }\n return vec3h(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n e1.z * (1 - e3.z) + e2.z * e3.z,\n );\n },\n\n vec4f: (e1: wgsl.v4f, e2: wgsl.v4f, e3: wgsl.v4f | number) => {\n if (typeof e3 === 'number') {\n return vec4f(\n e1.x * (1 - e3) + e2.x * e3,\n e1.y * (1 - e3) + e2.y * e3,\n e1.z * (1 - e3) + e2.z * e3,\n e1.w * (1 - e3) + e2.w * e3,\n );\n }\n return vec4f(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n e1.z * (1 - e3.z) + e2.z * e3.z,\n e1.w * (1 - e3.w) + e2.w * e3.w,\n );\n },\n vec4h: (e1: wgsl.v4h, e2: wgsl.v4h, e3: wgsl.v4h | number) => {\n if (typeof e3 === 'number') {\n return vec4h(\n e1.x * (1 - e3) + e2.x * e3,\n e1.y * (1 - e3) + e2.y * e3,\n e1.z * (1 - e3) + e2.z * e3,\n e1.w * (1 - e3) + e2.w * e3,\n );\n }\n return vec4h(\n e1.x * (1 - e3.x) + e2.x * e3.x,\n e1.y * (1 - e3.y) + e2.y * e3.y,\n e1.z * (1 - e3.z) + e2.z * e3.z,\n e1.w * (1 - e3.w) + e2.w * e3.w,\n );\n },\n } as Record<\n 'vec2f' | 'vec3f' | 'vec4f' | 'vec2h' | 'vec3h' | 'vec4h',\n <T extends wgsl.v2f | wgsl.v3f | wgsl.v4f | wgsl.v2h | wgsl.v3h | wgsl.v4h>(\n a: T,\n b: T,\n c: T | number,\n ) => T\n >,\n};\n","import type { VecKind } from '../data/vector';\nimport { VectorOps } from '../data/vectorOps';\nimport type {\n AnyMatInstance,\n v2f,\n v2h,\n v3f,\n v3h,\n v3i,\n v3u,\n v4f,\n v4h,\n} from '../data/wgslTypes';\nimport { inGPUMode } from '../gpuMode';\n\ntype vBase = { kind: VecKind };\n\nexport function add<T extends vBase>(lhs: T, rhs: T): T {\n if (inGPUMode()) {\n return `(${lhs} + ${rhs})` as unknown as T;\n }\n return VectorOps.add[lhs.kind](lhs, rhs);\n}\n\nexport function sub<T extends vBase>(lhs: T, rhs: T): T {\n if (inGPUMode()) {\n return `(${lhs} - ${rhs})` as unknown as T;\n }\n return VectorOps.sub[lhs.kind](lhs, rhs);\n}\n\nexport function mul<T extends vBase | AnyMatInstance>(s: number | T, v: T): T {\n if (inGPUMode()) {\n return `(${s} * ${v})` as unknown as T;\n }\n if (typeof s === 'number') {\n return VectorOps.mulSxV[v.kind](s, v);\n }\n return VectorOps.mulVxV[v.kind](s, v);\n}\n\nexport function abs<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `abs(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.abs(value) as T;\n }\n return VectorOps.abs[value.kind](value) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#ceil-builtin\n */\nexport function ceil<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `ceil(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.ceil(value) as T;\n }\n return VectorOps.ceil[value.kind](value) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#clamp\n */\nexport function clamp<T extends vBase | number>(value: T, low: T, high: T): T {\n if (inGPUMode()) {\n return `clamp(${value}, ${low}, ${high})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.min(Math.max(low as number, value), high as number) as T;\n }\n return VectorOps.clamp[value.kind](value, low as vBase, high as vBase) as T;\n}\n\n// TODO: Accept vectors into `cos`\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#cos-builtin\n */\nexport function cos(radians: number): number {\n if (inGPUMode()) {\n return `cos(${radians})` as unknown as number;\n }\n return Math.cos(radians);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#cross-builtin\n */\nexport function cross<T extends v3f | v3i | v3u>(a: T, b: T): T {\n if (inGPUMode()) {\n return `cross(${a}, ${b})` as unknown as T;\n }\n return VectorOps.cross[a.kind](a, b);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#dot-builtin\n */\nexport function dot<T extends vBase>(lhs: T, rhs: T): number {\n if (inGPUMode()) {\n return `dot(${lhs}, ${rhs})` as unknown as number;\n }\n return VectorOps.dot[lhs.kind](lhs, rhs);\n}\n\nexport function normalize<T extends vBase>(v: T): T {\n if (inGPUMode()) {\n return `normalize(${v})` as unknown as T;\n }\n return VectorOps.normalize[v.kind](v);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#floor-builtin\n */\nexport function floor<T extends vBase | number>(value: T): T {\n if (inGPUMode()) {\n return `floor(${value})` as unknown as T;\n }\n if (typeof value === 'number') {\n return Math.floor(value) as T;\n }\n return VectorOps.floor[value.kind](value) as T;\n}\n\nexport function fract(a: number): number {\n if (inGPUMode()) {\n return `fract(${a})` as unknown as number;\n }\n return a - Math.floor(a);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#length-builtin\n */\nexport function length<T extends vBase | number>(value: T): number {\n if (inGPUMode()) {\n return `length(${value})` as unknown as number;\n }\n if (typeof value === 'number') {\n return Math.abs(value);\n }\n return VectorOps.length[value.kind](value);\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#max-float-builtin\n */\nexport function max<T extends vBase | number>(a: T, b: T): T {\n if (inGPUMode()) {\n return `max(${a}, ${b})` as unknown as T;\n }\n if (typeof a === 'number') {\n return Math.max(a, b as number) as T;\n }\n return VectorOps.max[a.kind](a, b as vBase) as T;\n}\n\n/**\n * @privateRemarks\n * https://www.w3.org/TR/WGSL/#min-float-builtin\n */\nexport function min<T extends vBase | number>(a: T, b: T): T {\n if (inGPUMode()) {\n return `min(${a}, ${b})` as unknown as T;\n }\n if (typeof a === 'number') {\n return Math.min(a, b as number) as T;\n }\n return VectorOps.min[a.kind](a, b as vBase) as T;\n}\n\nexport function sin(radians: number): number {\n if (inGPUMode()) {\n return `sin(${radians})` as unknown as number;\n }\n return Math.sin(radians);\n}\n\nexport function exp(value: number): number {\n if (inGPUMode()) {\n return `exp(${value})` as unknown as number;\n }\n return Math.exp(value);\n}\n\nexport function pow(base: number, exponent: number): number;\nexport function pow<T extends v2f | v3f | v4f | v2h | v3h | v4h>(\n base: T,\n exponent: T,\n): T;\nexport function pow<T extends v2f | v3f | v4f | v2h | v3h | v4h | number>(\n base: T,\n exponent: T,\n): T {\n if (inGPUMode()) {\n return `pow(${base}, ${exponent})` as unknown as T;\n }\n if (typeof base === 'number' && typeof exponent === 'number') {\n return (base ** exponent) as T;\n }\n if (\n typeof base === 'object' &&\n typeof exponent === 'object' &&\n 'kind' in base &&\n 'kind' in exponent\n ) {\n return VectorOps.pow[base.kind](base, exponent) as T;\n }\n throw new Error('Invalid arguments to pow()');\n}\n\nexport function mix(e1: number, e2: number, e3: number): number;\nexport function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(\n e1: T,\n e2: T,\n e3: number,\n): T;\nexport function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(\n e1: T,\n e2: T,\n e3: T,\n): T;\n\nexport function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h | number>(\n e1: T,\n e2: T,\n e3: T | number,\n): T {\n if (inGPUMode()) {\n return `mix(${e1}, ${e2}, ${e3})` as unknown as T;\n }\n\n if (typeof e1 === 'number') {\n if (typeof e3 !== 'number' || typeof e2 !== 'number') {\n throw new Error(\n 'When e1 and e2 are numbers, the blend factor must be a number.',\n );\n }\n return (e1 * (1 - e3) + e2 * e3) as T;\n }\n\n if (typeof e1 === 'number' || typeof e2 === 'number') {\n throw new Error('e1 and e2 need to both be vectors of the same kind.');\n }\n\n return VectorOps.mix[e1.kind](e1, e2, e3) as T;\n}\n"]}
package/std/index.d.cts CHANGED
@@ -1,11 +1,12 @@
1
- import { a0 as v3f, an as v3i, ao as v3u, bp as VecKind } from '../wgslTypes-DHAmU620.cjs';
1
+ import { V as VecKind } from '../vector-UFYwud47.cjs';
2
+ import { E as AnyMatInstance, af as v3f, ag as v3i, ah as v3u, ac as v2f, ai as v4f, bh as v2h, bi as v3h, bj as v4h } from '../wgslTypes-BNsjCP--.cjs';
2
3
 
3
4
  type vBase = {
4
5
  kind: VecKind;
5
6
  };
6
7
  declare function add<T extends vBase>(lhs: T, rhs: T): T;
7
8
  declare function sub<T extends vBase>(lhs: T, rhs: T): T;
8
- declare function mul<T extends vBase>(s: number | T, v: T): T;
9
+ declare function mul<T extends vBase | AnyMatInstance>(s: number | T, v: T): T;
9
10
  declare function abs<T extends vBase | number>(value: T): T;
10
11
  /**
11
12
  * @privateRemarks
@@ -56,5 +57,10 @@ declare function max<T extends vBase | number>(a: T, b: T): T;
56
57
  declare function min<T extends vBase | number>(a: T, b: T): T;
57
58
  declare function sin(radians: number): number;
58
59
  declare function exp(value: number): number;
60
+ declare function pow(base: number, exponent: number): number;
61
+ declare function pow<T extends v2f | v3f | v4f | v2h | v3h | v4h>(base: T, exponent: T): T;
62
+ declare function mix(e1: number, e2: number, e3: number): number;
63
+ declare function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(e1: T, e2: T, e3: number): T;
64
+ declare function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(e1: T, e2: T, e3: T): T;
59
65
 
60
- export { abs, add, ceil, clamp, cos, cross, dot, exp, floor, fract, length, max, min, mul, normalize, sin, sub };
66
+ export { abs, add, ceil, clamp, cos, cross, dot, exp, floor, fract, length, max, min, mix, mul, normalize, pow, sin, sub };
package/std/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
- import { a0 as v3f, an as v3i, ao as v3u, bp as VecKind } from '../wgslTypes-DHAmU620.js';
1
+ import { V as VecKind } from '../vector-CeDeofzh.js';
2
+ import { E as AnyMatInstance, af as v3f, ag as v3i, ah as v3u, ac as v2f, ai as v4f, bh as v2h, bi as v3h, bj as v4h } from '../wgslTypes-BNsjCP--.js';
2
3
 
3
4
  type vBase = {
4
5
  kind: VecKind;
5
6
  };
6
7
  declare function add<T extends vBase>(lhs: T, rhs: T): T;
7
8
  declare function sub<T extends vBase>(lhs: T, rhs: T): T;
8
- declare function mul<T extends vBase>(s: number | T, v: T): T;
9
+ declare function mul<T extends vBase | AnyMatInstance>(s: number | T, v: T): T;
9
10
  declare function abs<T extends vBase | number>(value: T): T;
10
11
  /**
11
12
  * @privateRemarks
@@ -56,5 +57,10 @@ declare function max<T extends vBase | number>(a: T, b: T): T;
56
57
  declare function min<T extends vBase | number>(a: T, b: T): T;
57
58
  declare function sin(radians: number): number;
58
59
  declare function exp(value: number): number;
60
+ declare function pow(base: number, exponent: number): number;
61
+ declare function pow<T extends v2f | v3f | v4f | v2h | v3h | v4h>(base: T, exponent: T): T;
62
+ declare function mix(e1: number, e2: number, e3: number): number;
63
+ declare function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(e1: T, e2: T, e3: number): T;
64
+ declare function mix<T extends v2f | v3f | v4f | v2h | v3h | v4h>(e1: T, e2: T, e3: T): T;
59
65
 
60
- export { abs, add, ceil, clamp, cos, cross, dot, exp, floor, fract, length, max, min, mul, normalize, sin, sub };
66
+ export { abs, add, ceil, clamp, cos, cross, dot, exp, floor, fract, length, max, min, mix, mul, normalize, pow, sin, sub };
package/std/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{m as x,n as y,o as i,p as h,q as u,r as l,s as w,t as v,u as r,v as a,w as g,x as f,y as M}from"../chunk-A2QB4MSZ.js";var o=e=>Math.sqrt(e.x**2+e.y**2),m=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),z=e=>Math.sqrt(e.x**2+e.y**2+e.z**2+e.w**2),T=(e,s)=>e.x*s.x+e.y*s.y,d=(e,s)=>e.x*s.x+e.y*s.y+e.z*s.z,p=(e,s)=>e.x*s.x+e.y*s.y+e.z*s.z+e.w*s.w,n=(e,s,t)=>Math.min(Math.max(s,e),t),c={abs:{vec2f:e=>y(Math.abs(e.x),Math.abs(e.y)),vec2h:e=>i(Math.abs(e.x),Math.abs(e.y)),vec2i:e=>h(Math.abs(e.x),Math.abs(e.y)),vec2u:e=>u(Math.abs(e.x),Math.abs(e.y)),vec3f:e=>l(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3h:e=>w(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3i:e=>v(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3u:e=>r(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec4f:e=>a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4h:e=>g(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4i:e=>f(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4u:e=>M(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))},ceil:{vec2f:e=>y(Math.ceil(e.x),Math.ceil(e.y)),vec2h:e=>i(Math.ceil(e.x),Math.ceil(e.y)),vec2i:e=>h(Math.ceil(e.x),Math.ceil(e.y)),vec2u:e=>u(Math.ceil(e.x),Math.ceil(e.y)),vec3f:e=>l(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3h:e=>w(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3i:e=>v(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3u:e=>r(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec4f:e=>a(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4h:e=>g(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4i:e=>f(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4u:e=>M(Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w))},clamp:{vec2f:(e,s,t)=>y(n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2h:(e,s,t)=>i(n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2i:(e,s,t)=>h(n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2u:(e,s,t)=>u(n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec3f:(e,s,t)=>l(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3h:(e,s,t)=>w(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3i:(e,s,t)=>v(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec3u:(e,s,t)=>r(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z)),vec4f:(e,s,t)=>a(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4h:(e,s,t)=>g(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4i:(e,s,t)=>f(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w)),vec4u:(e,s,t)=>M(n(e.x,s.x,t.x),n(e.y,s.y,t.y),n(e.z,s.z,t.z),n(e.w,s.w,t.w))},length:{vec2f:o,vec2h:o,vec2i:o,vec2u:o,vec3f:m,vec3h:m,vec3i:m,vec3u:m,vec4f:z,vec4h:z,vec4i:z,vec4u:z},add:{vec2f:(e,s)=>y(e.x+s.x,e.y+s.y),vec2h:(e,s)=>i(e.x+s.x,e.y+s.y),vec2i:(e,s)=>h(e.x+s.x,e.y+s.y),vec2u:(e,s)=>u(e.x+s.x,e.y+s.y),vec3f:(e,s)=>l(e.x+s.x,e.y+s.y,e.z+s.z),vec3h:(e,s)=>w(e.x+s.x,e.y+s.y,e.z+s.z),vec3i:(e,s)=>v(e.x+s.x,e.y+s.y,e.z+s.z),vec3u:(e,s)=>r(e.x+s.x,e.y+s.y,e.z+s.z),vec4f:(e,s)=>a(e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4h:(e,s)=>g(e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4i:(e,s)=>f(e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4u:(e,s)=>M(e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w)},sub:{vec2f:(e,s)=>y(e.x-s.x,e.y-s.y),vec2h:(e,s)=>i(e.x-s.x,e.y-s.y),vec2i:(e,s)=>h(e.x-s.x,e.y-s.y),vec2u:(e,s)=>u(e.x-s.x,e.y-s.y),vec3f:(e,s)=>l(e.x-s.x,e.y-s.y,e.z-s.z),vec3h:(e,s)=>w(e.x-s.x,e.y-s.y,e.z-s.z),vec3i:(e,s)=>v(e.x-s.x,e.y-s.y,e.z-s.z),vec3u:(e,s)=>r(e.x-s.x,e.y-s.y,e.z-s.z),vec4f:(e,s)=>a(e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4h:(e,s)=>g(e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4i:(e,s)=>f(e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4u:(e,s)=>M(e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w)},mulSxV:{vec2f:(e,s)=>y(e*s.x,e*s.y),vec2h:(e,s)=>i(e*s.x,e*s.y),vec2i:(e,s)=>h(e*s.x,e*s.y),vec2u:(e,s)=>u(e*s.x,e*s.y),vec3f:(e,s)=>l(e*s.x,e*s.y,e*s.z),vec3h:(e,s)=>w(e*s.x,e*s.y,e*s.z),vec3i:(e,s)=>v(e*s.x,e*s.y,e*s.z),vec3u:(e,s)=>r(e*s.x,e*s.y,e*s.z),vec4f:(e,s)=>a(e*s.x,e*s.y,e*s.z,e*s.w),vec4h:(e,s)=>g(e*s.x,e*s.y,e*s.z,e*s.w),vec4i:(e,s)=>f(e*s.x,e*s.y,e*s.z,e*s.w),vec4u:(e,s)=>M(e*s.x,e*s.y,e*s.z,e*s.w)},mulVxV:{vec2f:(e,s)=>y(e.x*s.x,e.y*s.y),vec2h:(e,s)=>i(e.x*s.x,e.y*s.y),vec2i:(e,s)=>h(e.x*s.x,e.y*s.y),vec2u:(e,s)=>u(e.x*s.x,e.y*s.y),vec3f:(e,s)=>l(e.x*s.x,e.y*s.y,e.z*s.z),vec3h:(e,s)=>w(e.x*s.x,e.y*s.y,e.z*s.z),vec3i:(e,s)=>v(e.x*s.x,e.y*s.y,e.z*s.z),vec3u:(e,s)=>r(e.x*s.x,e.y*s.y,e.z*s.z),vec4f:(e,s)=>a(e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4h:(e,s)=>g(e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4i:(e,s)=>f(e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4u:(e,s)=>M(e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w)},dot:{vec2f:T,vec2h:T,vec2i:T,vec2u:T,vec3f:d,vec3h:d,vec3i:d,vec3u:d,vec4f:p,vec4h:p,vec4i:p,vec4u:p},normalize:{vec2f:e=>{let s=o(e);return y(e.x/s,e.y/s)},vec2h:e=>{let s=o(e);return i(e.x/s,e.y/s)},vec2i:e=>{let s=o(e);return h(e.x/s,e.y/s)},vec2u:e=>{let s=o(e);return u(e.x/s,e.y/s)},vec3f:e=>{let s=m(e);return l(e.x/s,e.y/s,e.z/s)},vec3h:e=>{let s=m(e);return w(e.x/s,e.y/s,e.z/s)},vec3i:e=>{let s=m(e);return v(e.x/s,e.y/s,e.z/s)},vec3u:e=>{let s=m(e);return r(e.x/s,e.y/s,e.z/s)},vec4f:e=>{let s=z(e);return a(e.x/s,e.y/s,e.z/s,e.w/s)},vec4h:e=>{let s=z(e);return g(e.x/s,e.y/s,e.z/s,e.w/s)},vec4i:e=>{let s=z(e);return f(e.x/s,e.y/s,e.z/s,e.w/s)},vec4u:e=>{let s=z(e);return M(e.x/s,e.y/s,e.z/s,e.w/s)}},cross:{vec3f:(e,s)=>l(e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3h:(e,s)=>w(e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3i:(e,s)=>v(e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x),vec3u:(e,s)=>r(e.y*s.z-e.z*s.y,e.z*s.x-e.x*s.z,e.x*s.y-e.y*s.x)},floor:{vec2f:e=>y(Math.floor(e.x),Math.floor(e.y)),vec2h:e=>i(Math.floor(e.x),Math.floor(e.y)),vec2i:e=>h(Math.floor(e.x),Math.floor(e.y)),vec2u:e=>u(Math.floor(e.x),Math.floor(e.y)),vec3f:e=>l(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3h:e=>w(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3i:e=>v(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3u:e=>r(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec4f:e=>a(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4h:e=>g(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4i:e=>f(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4u:e=>M(Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w))},max:{vec2f:(e,s)=>y(Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2h:(e,s)=>i(Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2i:(e,s)=>h(Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2u:(e,s)=>u(Math.max(e.x,s.x),Math.max(e.y,s.y)),vec3f:(e,s)=>l(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3h:(e,s)=>w(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3i:(e,s)=>v(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3u:(e,s)=>r(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec4f:(e,s)=>a(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4h:(e,s)=>g(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4i:(e,s)=>f(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w)),vec4u:(e,s)=>M(Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z),Math.max(e.w,s.w))},min:{vec2f:(e,s)=>y(Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2h:(e,s)=>i(Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2i:(e,s)=>h(Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2u:(e,s)=>u(Math.min(e.x,s.x),Math.min(e.y,s.y)),vec3f:(e,s)=>l(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3h:(e,s)=>w(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3i:(e,s)=>v(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3u:(e,s)=>r(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec4f:(e,s)=>a(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4h:(e,s)=>g(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4i:(e,s)=>f(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w)),vec4u:(e,s)=>M(Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z),Math.min(e.w,s.w))}};function k(e,s){return x()?`(${e} + ${s})`:c.add[e.kind](e,s)}function B(e,s){return x()?`(${e} - ${s})`:c.sub[e.kind](e,s)}function V(e,s){return x()?`(${e} * ${s})`:typeof e=="number"?c.mulSxV[s.kind](e,s):c.mulVxV[s.kind](e,s)}function $(e){return x()?`abs(${e})`:typeof e=="number"?Math.abs(e):c.abs[e.kind](e)}function K(e){return x()?`ceil(${e})`:typeof e=="number"?Math.ceil(e):c.ceil[e.kind](e)}function R(e,s,t){return x()?`clamp(${e}, ${s}, ${t})`:typeof e=="number"?Math.min(Math.max(s,e),t):c.clamp[e.kind](e,s,t)}function q(e){return x()?`cos(${e})`:Math.cos(e)}function O(e,s){return x()?`cross(${e}, ${s})`:c.cross[e.kind](e,s)}function S(e,s){return x()?`dot(${e}, ${s})`:c.dot[e.kind](e,s)}function G(e){return x()?`normalize(${e})`:c.normalize[e.kind](e)}function P(e){return x()?`floor(${e})`:typeof e=="number"?Math.floor(e):c.floor[e.kind](e)}function U(e){return x()?`fract(${e})`:e-Math.floor(e)}function j(e){return x()?`length(${e})`:typeof e=="number"?Math.abs(e):c.length[e.kind](e)}function A(e,s){return x()?`max(${e}, ${s})`:typeof e=="number"?Math.max(e,s):c.max[e.kind](e,s)}function C(e,s){return x()?`min(${e}, ${s})`:typeof e=="number"?Math.min(e,s):c.min[e.kind](e,s)}function D(e){return x()?`sin(${e})`:Math.sin(e)}function E(e){return x()?`exp(${e})`:Math.exp(e)}export{$ as abs,k as add,K as ceil,R as clamp,q as cos,O as cross,S as dot,E as exp,P as floor,U as fract,j as length,A as max,C as min,V as mul,G as normalize,D as sin,B as sub};
1
+ import{A as d,B as $,m as w,n as r,o as c,p as i,q as a,r as l,s as y,t as g,u as h,v as f,w as u,x as z,y as m,z as V}from"../chunk-YLI4IK35.js";var o=s=>Math.sqrt(s.x**2+s.y**2),M=s=>Math.sqrt(s.x**2+s.y**2+s.z**2),T=s=>Math.sqrt(s.x**2+s.y**2+s.z**2+s.w**2),p=(s,x)=>s.x*x.x+s.y*x.y,k=(s,x)=>s.x*x.x+s.y*x.y+s.z*x.z,B=(s,x)=>s.x*x.x+s.y*x.y+s.z*x.z+s.w*x.w,n=(s,x,t)=>Math.min(Math.max(x,s),t),v={abs:{vec2f:s=>r(Math.abs(s.x),Math.abs(s.y)),vec2h:s=>c(Math.abs(s.x),Math.abs(s.y)),vec2i:s=>i(Math.abs(s.x),Math.abs(s.y)),vec2u:s=>a(Math.abs(s.x),Math.abs(s.y)),vec3f:s=>l(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3h:s=>y(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3i:s=>g(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec3u:s=>h(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z)),vec4f:s=>f(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4h:s=>u(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4i:s=>z(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w)),vec4u:s=>m(Math.abs(s.x),Math.abs(s.y),Math.abs(s.z),Math.abs(s.w))},ceil:{vec2f:s=>r(Math.ceil(s.x),Math.ceil(s.y)),vec2h:s=>c(Math.ceil(s.x),Math.ceil(s.y)),vec2i:s=>i(Math.ceil(s.x),Math.ceil(s.y)),vec2u:s=>a(Math.ceil(s.x),Math.ceil(s.y)),vec3f:s=>l(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3h:s=>y(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3i:s=>g(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec3u:s=>h(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z)),vec4f:s=>f(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4h:s=>u(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4i:s=>z(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w)),vec4u:s=>m(Math.ceil(s.x),Math.ceil(s.y),Math.ceil(s.z),Math.ceil(s.w))},clamp:{vec2f:(s,x,t)=>r(n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2h:(s,x,t)=>c(n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2i:(s,x,t)=>i(n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec2u:(s,x,t)=>a(n(s.x,x.x,t.x),n(s.y,x.y,t.y)),vec3f:(s,x,t)=>l(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3h:(s,x,t)=>y(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3i:(s,x,t)=>g(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec3u:(s,x,t)=>h(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z)),vec4f:(s,x,t)=>f(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4h:(s,x,t)=>u(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4i:(s,x,t)=>z(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w)),vec4u:(s,x,t)=>m(n(s.x,x.x,t.x),n(s.y,x.y,t.y),n(s.z,x.z,t.z),n(s.w,x.w,t.w))},length:{vec2f:o,vec2h:o,vec2i:o,vec2u:o,vec3f:M,vec3h:M,vec3i:M,vec3u:M,vec4f:T,vec4h:T,vec4i:T,vec4u:T},add:{vec2f:(s,x)=>r(s.x+x.x,s.y+x.y),vec2h:(s,x)=>c(s.x+x.x,s.y+x.y),vec2i:(s,x)=>i(s.x+x.x,s.y+x.y),vec2u:(s,x)=>a(s.x+x.x,s.y+x.y),vec3f:(s,x)=>l(s.x+x.x,s.y+x.y,s.z+x.z),vec3h:(s,x)=>y(s.x+x.x,s.y+x.y,s.z+x.z),vec3i:(s,x)=>g(s.x+x.x,s.y+x.y,s.z+x.z),vec3u:(s,x)=>h(s.x+x.x,s.y+x.y,s.z+x.z),vec4f:(s,x)=>f(s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4h:(s,x)=>u(s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4i:(s,x)=>z(s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w),vec4u:(s,x)=>m(s.x+x.x,s.y+x.y,s.z+x.z,s.w+x.w)},sub:{vec2f:(s,x)=>r(s.x-x.x,s.y-x.y),vec2h:(s,x)=>c(s.x-x.x,s.y-x.y),vec2i:(s,x)=>i(s.x-x.x,s.y-x.y),vec2u:(s,x)=>a(s.x-x.x,s.y-x.y),vec3f:(s,x)=>l(s.x-x.x,s.y-x.y,s.z-x.z),vec3h:(s,x)=>y(s.x-x.x,s.y-x.y,s.z-x.z),vec3i:(s,x)=>g(s.x-x.x,s.y-x.y,s.z-x.z),vec3u:(s,x)=>h(s.x-x.x,s.y-x.y,s.z-x.z),vec4f:(s,x)=>f(s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4h:(s,x)=>u(s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4i:(s,x)=>z(s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w),vec4u:(s,x)=>m(s.x-x.x,s.y-x.y,s.z-x.z,s.w-x.w)},mulSxV:{vec2f:(s,x)=>r(s*x.x,s*x.y),vec2h:(s,x)=>c(s*x.x,s*x.y),vec2i:(s,x)=>i(s*x.x,s*x.y),vec2u:(s,x)=>a(s*x.x,s*x.y),vec3f:(s,x)=>l(s*x.x,s*x.y,s*x.z),vec3h:(s,x)=>y(s*x.x,s*x.y,s*x.z),vec3i:(s,x)=>g(s*x.x,s*x.y,s*x.z),vec3u:(s,x)=>h(s*x.x,s*x.y,s*x.z),vec4f:(s,x)=>f(s*x.x,s*x.y,s*x.z,s*x.w),vec4h:(s,x)=>u(s*x.x,s*x.y,s*x.z,s*x.w),vec4i:(s,x)=>z(s*x.x,s*x.y,s*x.z,s*x.w),vec4u:(s,x)=>m(s*x.x,s*x.y,s*x.z,s*x.w),mat2x2f:(s,x)=>{let t=x.columns;return V(s*t[0].x,s*t[0].y,s*t[1].x,s*t[1].y)},mat3x3f:(s,x)=>{let t=x.columns;return d(s*t[0].x,s*t[0].y,s*t[0].z,s*t[1].x,s*t[1].y,s*t[1].z,s*t[2].x,s*t[2].y,s*t[2].z)},mat4x4f:(s,x)=>{let t=x.columns;return d(s*t[0].x,s*t[0].y,s*t[0].z,s*t[0].w,s*t[1].x,s*t[1].y,s*t[1].z,s*t[1].w,s*t[2].x,s*t[2].y,s*t[2].z,s*t[2].w,s*t[3].x,s*t[3].y,s*t[3].z,s*t[3].w)}},mulVxV:{vec2f:(s,x)=>r(s.x*x.x,s.y*x.y),vec2h:(s,x)=>c(s.x*x.x,s.y*x.y),vec2i:(s,x)=>i(s.x*x.x,s.y*x.y),vec2u:(s,x)=>a(s.x*x.x,s.y*x.y),vec3f:(s,x)=>l(s.x*x.x,s.y*x.y,s.z*x.z),vec3h:(s,x)=>y(s.x*x.x,s.y*x.y,s.z*x.z),vec3i:(s,x)=>g(s.x*x.x,s.y*x.y,s.z*x.z),vec3u:(s,x)=>h(s.x*x.x,s.y*x.y,s.z*x.z),vec4f:(s,x)=>f(s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4h:(s,x)=>u(s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4i:(s,x)=>z(s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),vec4u:(s,x)=>m(s.x*x.x,s.y*x.y,s.z*x.z,s.w*x.w),mat2x2f:(s,x)=>{let t=s.columns,e=x.columns;return V(t[0].x*e[0].x+t[1].x*e[0].y,t[0].y*e[0].x+t[1].y*e[0].y,t[0].x*e[1].x+t[1].x*e[1].y,t[0].y*e[1].x+t[1].y*e[1].y)},mat3x3f:(s,x)=>{let t=s.columns,e=x.columns;return d(t[0].x*e[0].x+t[1].x*e[0].y+t[2].x*e[0].z,t[0].y*e[0].x+t[1].y*e[0].y+t[2].y*e[0].z,t[0].z*e[0].x+t[1].z*e[0].y+t[2].z*e[0].z,t[0].x*e[1].x+t[1].x*e[1].y+t[2].x*e[1].z,t[0].y*e[1].x+t[1].y*e[1].y+t[2].y*e[1].z,t[0].z*e[1].x+t[1].z*e[1].y+t[2].z*e[1].z,t[0].x*e[2].x+t[1].x*e[2].y+t[2].x*e[2].z,t[0].y*e[2].x+t[1].y*e[2].y+t[2].y*e[2].z,t[0].z*e[2].x+t[1].z*e[2].y+t[2].z*e[2].z)},mat4x4f:(s,x)=>{let t=s.columns,e=x.columns;return $(t[0].x*e[0].x+t[1].x*e[0].y+t[2].x*e[0].z+t[3].x*e[0].w,t[0].y*e[0].x+t[1].y*e[0].y+t[2].y*e[0].z+t[3].y*e[0].w,t[0].z*e[0].x+t[1].z*e[0].y+t[2].z*e[0].z+t[3].z*e[0].w,t[0].w*e[0].x+t[1].w*e[0].y+t[2].w*e[0].z+t[3].w*e[0].w,t[0].x*e[1].x+t[1].x*e[1].y+t[2].x*e[1].z+t[3].x*e[1].w,t[0].y*e[1].x+t[1].y*e[1].y+t[2].y*e[1].z+t[3].y*e[1].w,t[0].z*e[1].x+t[1].z*e[1].y+t[2].z*e[1].z+t[3].z*e[1].w,t[0].w*e[1].x+t[1].w*e[1].y+t[2].w*e[1].z+t[3].w*e[1].w,t[0].x*e[2].x+t[1].x*e[2].y+t[2].x*e[2].z+t[3].x*e[2].w,t[0].y*e[2].x+t[1].y*e[2].y+t[2].y*e[2].z+t[3].y*e[2].w,t[0].z*e[2].x+t[1].z*e[2].y+t[2].z*e[2].z+t[3].z*e[2].w,t[0].w*e[2].x+t[1].w*e[2].y+t[2].w*e[2].z+t[3].w*e[2].w,t[0].x*e[3].x+t[1].x*e[3].y+t[2].x*e[3].z+t[3].x*e[3].w,t[0].y*e[3].x+t[1].y*e[3].y+t[2].y*e[3].z+t[3].y*e[3].w,t[0].z*e[3].x+t[1].z*e[3].y+t[2].z*e[3].z+t[3].z*e[3].w,t[0].w*e[3].x+t[1].w*e[3].y+t[2].w*e[3].z+t[3].w*e[3].w)}},dot:{vec2f:p,vec2h:p,vec2i:p,vec2u:p,vec3f:k,vec3h:k,vec3i:k,vec3u:k,vec4f:B,vec4h:B,vec4i:B,vec4u:B},normalize:{vec2f:s=>{let x=o(s);return r(s.x/x,s.y/x)},vec2h:s=>{let x=o(s);return c(s.x/x,s.y/x)},vec2i:s=>{let x=o(s);return i(s.x/x,s.y/x)},vec2u:s=>{let x=o(s);return a(s.x/x,s.y/x)},vec3f:s=>{let x=M(s);return l(s.x/x,s.y/x,s.z/x)},vec3h:s=>{let x=M(s);return y(s.x/x,s.y/x,s.z/x)},vec3i:s=>{let x=M(s);return g(s.x/x,s.y/x,s.z/x)},vec3u:s=>{let x=M(s);return h(s.x/x,s.y/x,s.z/x)},vec4f:s=>{let x=T(s);return f(s.x/x,s.y/x,s.z/x,s.w/x)},vec4h:s=>{let x=T(s);return u(s.x/x,s.y/x,s.z/x,s.w/x)},vec4i:s=>{let x=T(s);return z(s.x/x,s.y/x,s.z/x,s.w/x)},vec4u:s=>{let x=T(s);return m(s.x/x,s.y/x,s.z/x,s.w/x)}},cross:{vec3f:(s,x)=>l(s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3h:(s,x)=>y(s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3i:(s,x)=>g(s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x),vec3u:(s,x)=>h(s.y*x.z-s.z*x.y,s.z*x.x-s.x*x.z,s.x*x.y-s.y*x.x)},floor:{vec2f:s=>r(Math.floor(s.x),Math.floor(s.y)),vec2h:s=>c(Math.floor(s.x),Math.floor(s.y)),vec2i:s=>i(Math.floor(s.x),Math.floor(s.y)),vec2u:s=>a(Math.floor(s.x),Math.floor(s.y)),vec3f:s=>l(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3h:s=>y(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3i:s=>g(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec3u:s=>h(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z)),vec4f:s=>f(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4h:s=>u(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4i:s=>z(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w)),vec4u:s=>m(Math.floor(s.x),Math.floor(s.y),Math.floor(s.z),Math.floor(s.w))},max:{vec2f:(s,x)=>r(Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2h:(s,x)=>c(Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2i:(s,x)=>i(Math.max(s.x,x.x),Math.max(s.y,x.y)),vec2u:(s,x)=>a(Math.max(s.x,x.x),Math.max(s.y,x.y)),vec3f:(s,x)=>l(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3h:(s,x)=>y(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3i:(s,x)=>g(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec3u:(s,x)=>h(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z)),vec4f:(s,x)=>f(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4h:(s,x)=>u(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4i:(s,x)=>z(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w)),vec4u:(s,x)=>m(Math.max(s.x,x.x),Math.max(s.y,x.y),Math.max(s.z,x.z),Math.max(s.w,x.w))},min:{vec2f:(s,x)=>r(Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2h:(s,x)=>c(Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2i:(s,x)=>i(Math.min(s.x,x.x),Math.min(s.y,x.y)),vec2u:(s,x)=>a(Math.min(s.x,x.x),Math.min(s.y,x.y)),vec3f:(s,x)=>l(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3h:(s,x)=>y(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3i:(s,x)=>g(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec3u:(s,x)=>h(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z)),vec4f:(s,x)=>f(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4h:(s,x)=>u(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4i:(s,x)=>z(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w)),vec4u:(s,x)=>m(Math.min(s.x,x.x),Math.min(s.y,x.y),Math.min(s.z,x.z),Math.min(s.w,x.w))},pow:{vec2f:(s,x)=>r(s.x**x.x,s.y**x.y),vec2h:(s,x)=>c(s.x**x.x,s.y**x.y),vec3f:(s,x)=>l(s.x**x.x,s.y**x.y,s.z**x.z),vec3h:(s,x)=>y(s.x**x.x,s.y**x.y,s.z**x.z),vec4f:(s,x)=>f(s.x**x.x,s.y**x.y,s.z**x.z,s.w**x.w),vec4h:(s,x)=>u(s.x**x.x,s.y**x.y,s.z**x.z,s.w**x.w)},mix:{vec2f:(s,x,t)=>typeof t=="number"?r(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t):r(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y),vec2h:(s,x,t)=>typeof t=="number"?c(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t):c(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y),vec3f:(s,x,t)=>typeof t=="number"?l(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t):l(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z),vec3h:(s,x,t)=>typeof t=="number"?y(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t):y(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z),vec4f:(s,x,t)=>typeof t=="number"?f(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t,s.w*(1-t)+x.w*t):f(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z,s.w*(1-t.w)+x.w*t.w),vec4h:(s,x,t)=>typeof t=="number"?u(s.x*(1-t)+x.x*t,s.y*(1-t)+x.y*t,s.z*(1-t)+x.z*t,s.w*(1-t)+x.w*t):u(s.x*(1-t.x)+x.x*t.x,s.y*(1-t.y)+x.y*t.y,s.z*(1-t.z)+x.z*t.z,s.w*(1-t.w)+x.w*t.w)}};function K(s,x){return w()?`(${s} + ${x})`:v.add[s.kind](s,x)}function R(s,x){return w()?`(${s} - ${x})`:v.sub[s.kind](s,x)}function _(s,x){return w()?`(${s} * ${x})`:typeof s=="number"?v.mulSxV[x.kind](s,x):v.mulVxV[x.kind](s,x)}function I(s){return w()?`abs(${s})`:typeof s=="number"?Math.abs(s):v.abs[s.kind](s)}function A(s){return w()?`ceil(${s})`:typeof s=="number"?Math.ceil(s):v.ceil[s.kind](s)}function q(s,x,t){return w()?`clamp(${s}, ${x}, ${t})`:typeof s=="number"?Math.min(Math.max(x,s),t):v.clamp[s.kind](s,x,t)}function E(s){return w()?`cos(${s})`:Math.cos(s)}function j(s,x){return w()?`cross(${s}, ${x})`:v.cross[s.kind](s,x)}function O(s,x){return w()?`dot(${s}, ${x})`:v.dot[s.kind](s,x)}function S(s){return w()?`normalize(${s})`:v.normalize[s.kind](s)}function G(s){return w()?`floor(${s})`:typeof s=="number"?Math.floor(s):v.floor[s.kind](s)}function P(s){return w()?`fract(${s})`:s-Math.floor(s)}function U(s){return w()?`length(${s})`:typeof s=="number"?Math.abs(s):v.length[s.kind](s)}function W(s,x){return w()?`max(${s}, ${x})`:typeof s=="number"?Math.max(s,x):v.max[s.kind](s,x)}function C(s,x){return w()?`min(${s}, ${x})`:typeof s=="number"?Math.min(s,x):v.min[s.kind](s,x)}function D(s){return w()?`sin(${s})`:Math.sin(s)}function F(s){return w()?`exp(${s})`:Math.exp(s)}function H(s,x){if(w())return`pow(${s}, ${x})`;if(typeof s=="number"&&typeof x=="number")return s**x;if(typeof s=="object"&&typeof x=="object"&&"kind"in s&&"kind"in x)return v.pow[s.kind](s,x);throw new Error("Invalid arguments to pow()")}function J(s,x,t){if(w())return`mix(${s}, ${x}, ${t})`;if(typeof s=="number"){if(typeof t!="number"||typeof x!="number")throw new Error("When e1 and e2 are numbers, the blend factor must be a number.");return s*(1-t)+x*t}if(typeof s=="number"||typeof x=="number")throw new Error("e1 and e2 need to both be vectors of the same kind.");return v.mix[s.kind](s,x,t)}export{I as abs,K as add,A as ceil,q as clamp,E as cos,j as cross,O as dot,F as exp,G as floor,P as fract,U as length,W as max,C as min,J as mix,_ as mul,S as normalize,H as pow,D as sin,R as sub};
2
2
  //# sourceMappingURL=index.js.map