typegpu 0.3.0 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- package/chunk-47YH5LQ7.cjs +4 -0
- package/chunk-47YH5LQ7.cjs.map +1 -0
- package/chunk-BGPVBIFN.js +4 -0
- package/chunk-BGPVBIFN.js.map +1 -0
- package/chunk-MCUGRE3S.js +2 -0
- package/chunk-MCUGRE3S.js.map +1 -0
- package/chunk-OHFPIYFY.cjs +2 -0
- package/chunk-OHFPIYFY.cjs.map +1 -0
- package/data/index.cjs +1 -1
- package/data/index.d.cts +2 -329
- package/data/index.d.ts +2 -329
- package/data/index.js +1 -1
- package/index-BM7ZTN7E.d.ts +749 -0
- package/index-CopjPGJg.d.cts +749 -0
- package/index.cjs +10 -10
- package/index.cjs.map +1 -1
- package/index.d.cts +1147 -10
- package/index.d.ts +1147 -10
- package/index.js +10 -10
- package/index.js.map +1 -1
- package/package.json +1 -7
- package/std/index.cjs +2 -0
- package/std/index.cjs.map +1 -0
- package/std/index.d.cts +59 -0
- package/std/index.d.ts +59 -0
- package/std/index.js +2 -0
- package/std/index.js.map +1 -0
- package/vector-BSez01sn.d.cts +961 -0
- package/vector-BSez01sn.d.ts +961 -0
- package/chunk-5DF7EEAZ.cjs +0 -4
- package/chunk-5DF7EEAZ.cjs.map +0 -1
- package/chunk-PN2EAL4B.js +0 -4
- package/chunk-PN2EAL4B.js.map +0 -1
- package/wgslTypes-BsqIvRBG.d.cts +0 -1814
- package/wgslTypes-BsqIvRBG.d.ts +0 -1814
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "typegpu",
|
3
3
|
"private": false,
|
4
|
-
"version": "0.3.
|
4
|
+
"version": "0.3.2",
|
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",
|
@@ -21,12 +21,6 @@
|
|
21
21
|
"import": "./data/index.js",
|
22
22
|
"default": "./data/index.cjs"
|
23
23
|
},
|
24
|
-
"./experimental": {
|
25
|
-
"types": "./experimental/index.d.ts",
|
26
|
-
"module": "./experimental/index.js",
|
27
|
-
"import": "./experimental/index.js",
|
28
|
-
"default": "./experimental/index.cjs"
|
29
|
-
},
|
30
24
|
"./std": {
|
31
25
|
"types": "./std/index.d.ts",
|
32
26
|
"module": "./std/index.js",
|
package/std/index.cjs
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk47YH5LQ7cjs = require('../chunk-47YH5LQ7.cjs');var o=e=>Math.sqrt(e.x**2+e.y**2),z=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),m=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=>_chunk47YH5LQ7cjs.m.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2h:e=>_chunk47YH5LQ7cjs.n.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2i:e=>_chunk47YH5LQ7cjs.o.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec2u:e=>_chunk47YH5LQ7cjs.p.call(void 0, Math.abs(e.x),Math.abs(e.y)),vec3f:e=>_chunk47YH5LQ7cjs.q.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3h:e=>_chunk47YH5LQ7cjs.r.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3i:e=>_chunk47YH5LQ7cjs.s.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec3u:e=>_chunk47YH5LQ7cjs.t.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),vec4f:e=>_chunk47YH5LQ7cjs.u.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4h:e=>_chunk47YH5LQ7cjs.v.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4i:e=>_chunk47YH5LQ7cjs.w.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w)),vec4u:e=>_chunk47YH5LQ7cjs.x.call(void 0, Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))},ceil:{vec2f:e=>_chunk47YH5LQ7cjs.m.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2h:e=>_chunk47YH5LQ7cjs.n.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2i:e=>_chunk47YH5LQ7cjs.o.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec2u:e=>_chunk47YH5LQ7cjs.p.call(void 0, Math.ceil(e.x),Math.ceil(e.y)),vec3f:e=>_chunk47YH5LQ7cjs.q.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3h:e=>_chunk47YH5LQ7cjs.r.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3i:e=>_chunk47YH5LQ7cjs.s.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec3u:e=>_chunk47YH5LQ7cjs.t.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z)),vec4f:e=>_chunk47YH5LQ7cjs.u.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4h:e=>_chunk47YH5LQ7cjs.v.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4i:e=>_chunk47YH5LQ7cjs.w.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w)),vec4u:e=>_chunk47YH5LQ7cjs.x.call(void 0, Math.ceil(e.x),Math.ceil(e.y),Math.ceil(e.z),Math.ceil(e.w))},clamp:{vec2f:(e,s,t)=>_chunk47YH5LQ7cjs.m.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2h:(e,s,t)=>_chunk47YH5LQ7cjs.n.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2i:(e,s,t)=>_chunk47YH5LQ7cjs.o.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec2u:(e,s,t)=>_chunk47YH5LQ7cjs.p.call(void 0, n(e.x,s.x,t.x),n(e.y,s.y,t.y)),vec3f:(e,s,t)=>_chunk47YH5LQ7cjs.q.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)=>_chunk47YH5LQ7cjs.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)),vec3i:(e,s,t)=>_chunk47YH5LQ7cjs.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)),vec3u:(e,s,t)=>_chunk47YH5LQ7cjs.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)),vec4f:(e,s,t)=>_chunk47YH5LQ7cjs.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),n(e.w,s.w,t.w)),vec4h:(e,s,t)=>_chunk47YH5LQ7cjs.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)),vec4i:(e,s,t)=>_chunk47YH5LQ7cjs.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)),vec4u:(e,s,t)=>_chunk47YH5LQ7cjs.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))},length:{vec2f:o,vec2h:o,vec2i:o,vec2u:o,vec3f:z,vec3h:z,vec3i:z,vec3u:z,vec4f:m,vec4h:m,vec4i:m,vec4u:m},add:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, e.x+s.x,e.y+s.y),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, e.x+s.x,e.y+s.y),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, e.x+s.x,e.y+s.y),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, e.x+s.x,e.y+s.y),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4h:(e,s)=>_chunk47YH5LQ7cjs.v.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4i:(e,s)=>_chunk47YH5LQ7cjs.w.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w),vec4u:(e,s)=>_chunk47YH5LQ7cjs.x.call(void 0, e.x+s.x,e.y+s.y,e.z+s.z,e.w+s.w)},sub:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, e.x-s.x,e.y-s.y),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, e.x-s.x,e.y-s.y),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, e.x-s.x,e.y-s.y),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, e.x-s.x,e.y-s.y),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4h:(e,s)=>_chunk47YH5LQ7cjs.v.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4i:(e,s)=>_chunk47YH5LQ7cjs.w.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w),vec4u:(e,s)=>_chunk47YH5LQ7cjs.x.call(void 0, e.x-s.x,e.y-s.y,e.z-s.z,e.w-s.w)},mulSxV:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, e*s.x,e*s.y),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, e*s.x,e*s.y),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, e*s.x,e*s.y),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, e*s.x,e*s.y),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, e*s.x,e*s.y,e*s.z),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, e*s.x,e*s.y,e*s.z),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, e*s.x,e*s.y,e*s.z),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, e*s.x,e*s.y,e*s.z),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4h:(e,s)=>_chunk47YH5LQ7cjs.v.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4i:(e,s)=>_chunk47YH5LQ7cjs.w.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w),vec4u:(e,s)=>_chunk47YH5LQ7cjs.x.call(void 0, e*s.x,e*s.y,e*s.z,e*s.w)},mulVxV:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, e.x*s.x,e.y*s.y),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, e.x*s.x,e.y*s.y),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, e.x*s.x,e.y*s.y),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, e.x*s.x,e.y*s.y),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4h:(e,s)=>_chunk47YH5LQ7cjs.v.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4i:(e,s)=>_chunk47YH5LQ7cjs.w.call(void 0, e.x*s.x,e.y*s.y,e.z*s.z,e.w*s.w),vec4u:(e,s)=>_chunk47YH5LQ7cjs.x.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 _chunk47YH5LQ7cjs.m.call(void 0, e.x/s,e.y/s)},vec2h:e=>{let s=o(e);return _chunk47YH5LQ7cjs.n.call(void 0, e.x/s,e.y/s)},vec2i:e=>{let s=o(e);return _chunk47YH5LQ7cjs.o.call(void 0, e.x/s,e.y/s)},vec2u:e=>{let s=o(e);return _chunk47YH5LQ7cjs.p.call(void 0, e.x/s,e.y/s)},vec3f:e=>{let s=z(e);return _chunk47YH5LQ7cjs.q.call(void 0, e.x/s,e.y/s,e.z/s)},vec3h:e=>{let s=z(e);return _chunk47YH5LQ7cjs.r.call(void 0, e.x/s,e.y/s,e.z/s)},vec3i:e=>{let s=z(e);return _chunk47YH5LQ7cjs.s.call(void 0, e.x/s,e.y/s,e.z/s)},vec3u:e=>{let s=z(e);return _chunk47YH5LQ7cjs.t.call(void 0, e.x/s,e.y/s,e.z/s)},vec4f:e=>{let s=m(e);return _chunk47YH5LQ7cjs.u.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4h:e=>{let s=m(e);return _chunk47YH5LQ7cjs.v.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4i:e=>{let s=m(e);return _chunk47YH5LQ7cjs.w.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)},vec4u:e=>{let s=m(e);return _chunk47YH5LQ7cjs.x.call(void 0, e.x/s,e.y/s,e.z/s,e.w/s)}},cross:{vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.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)=>_chunk47YH5LQ7cjs.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),vec3i:(e,s)=>_chunk47YH5LQ7cjs.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),vec3u:(e,s)=>_chunk47YH5LQ7cjs.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)},floor:{vec2f:e=>_chunk47YH5LQ7cjs.m.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2h:e=>_chunk47YH5LQ7cjs.n.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2i:e=>_chunk47YH5LQ7cjs.o.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec2u:e=>_chunk47YH5LQ7cjs.p.call(void 0, Math.floor(e.x),Math.floor(e.y)),vec3f:e=>_chunk47YH5LQ7cjs.q.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3h:e=>_chunk47YH5LQ7cjs.r.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3i:e=>_chunk47YH5LQ7cjs.s.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec3u:e=>_chunk47YH5LQ7cjs.t.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z)),vec4f:e=>_chunk47YH5LQ7cjs.u.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4h:e=>_chunk47YH5LQ7cjs.v.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4i:e=>_chunk47YH5LQ7cjs.w.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w)),vec4u:e=>_chunk47YH5LQ7cjs.x.call(void 0, Math.floor(e.x),Math.floor(e.y),Math.floor(e.z),Math.floor(e.w))},max:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y)),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, Math.max(e.x,s.x),Math.max(e.y,s.y),Math.max(e.z,s.z)),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.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)=>_chunk47YH5LQ7cjs.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)),vec4i:(e,s)=>_chunk47YH5LQ7cjs.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)),vec4u:(e,s)=>_chunk47YH5LQ7cjs.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))},min:{vec2f:(e,s)=>_chunk47YH5LQ7cjs.m.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2h:(e,s)=>_chunk47YH5LQ7cjs.n.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2i:(e,s)=>_chunk47YH5LQ7cjs.o.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec2u:(e,s)=>_chunk47YH5LQ7cjs.p.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y)),vec3f:(e,s)=>_chunk47YH5LQ7cjs.q.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3h:(e,s)=>_chunk47YH5LQ7cjs.r.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3i:(e,s)=>_chunk47YH5LQ7cjs.s.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec3u:(e,s)=>_chunk47YH5LQ7cjs.t.call(void 0, Math.min(e.x,s.x),Math.min(e.y,s.y),Math.min(e.z,s.z)),vec4f:(e,s)=>_chunk47YH5LQ7cjs.u.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)=>_chunk47YH5LQ7cjs.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)),vec4i:(e,s)=>_chunk47YH5LQ7cjs.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)),vec4u:(e,s)=>_chunk47YH5LQ7cjs.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))}};function k(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`(${e} + ${s})`:c.add[e.kind](e,s)}function B(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`(${e} - ${s})`:c.sub[e.kind](e,s)}function V(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`(${e} * ${s})`:typeof e=="number"?c.mulSxV[s.kind](e,s):c.mulVxV[s.kind](e,s)}function $(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`abs(${e})`:typeof e=="number"?Math.abs(e):c.abs[e.kind](e)}function K(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`ceil(${e})`:typeof e=="number"?Math.ceil(e):c.ceil[e.kind](e)}function R(e,s,t){return _chunk47YH5LQ7cjs.l.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 _chunk47YH5LQ7cjs.l.call(void 0, )?`cos(${e})`:Math.cos(e)}function O(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`cross(${e}, ${s})`:c.cross[e.kind](e,s)}function S(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`dot(${e}, ${s})`:c.dot[e.kind](e,s)}function G(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`normalize(${e})`:c.normalize[e.kind](e)}function P(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`floor(${e})`:typeof e=="number"?Math.floor(e):c.floor[e.kind](e)}function U(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`fract(${e})`:e-Math.floor(e)}function j(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`length(${e})`:typeof e=="number"?Math.abs(e):c.length[e.kind](e)}function A(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`max(${e}, ${s})`:typeof e=="number"?Math.max(e,s):c.max[e.kind](e,s)}function C(e,s){return _chunk47YH5LQ7cjs.l.call(void 0, )?`min(${e}, ${s})`:typeof e=="number"?Math.min(e,s):c.min[e.kind](e,s)}function D(e){return _chunk47YH5LQ7cjs.l.call(void 0, )?`sin(${e})`:Math.sin(e)}exports.abs = $; exports.add = k; exports.ceil = K; exports.clamp = R; exports.cos = q; exports.cross = O; exports.dot = S; 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;
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
@@ -0,0 +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"],"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"]}
|
package/std/index.d.cts
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
import { P as v3f, ae as v3i, af as v3u, au as VecKind } from '../vector-BSez01sn.cjs';
|
2
|
+
|
3
|
+
type vBase = {
|
4
|
+
kind: VecKind;
|
5
|
+
};
|
6
|
+
declare function add<T extends vBase>(lhs: T, rhs: T): T;
|
7
|
+
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 abs<T extends vBase | number>(value: T): T;
|
10
|
+
/**
|
11
|
+
* @privateRemarks
|
12
|
+
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
13
|
+
*/
|
14
|
+
declare function ceil<T extends vBase | number>(value: T): T;
|
15
|
+
/**
|
16
|
+
* @privateRemarks
|
17
|
+
* https://www.w3.org/TR/WGSL/#clamp
|
18
|
+
*/
|
19
|
+
declare function clamp<T extends vBase | number>(value: T, low: T, high: T): T;
|
20
|
+
/**
|
21
|
+
* @privateRemarks
|
22
|
+
* https://www.w3.org/TR/WGSL/#cos-builtin
|
23
|
+
*/
|
24
|
+
declare function cos(radians: number): number;
|
25
|
+
/**
|
26
|
+
* @privateRemarks
|
27
|
+
* https://www.w3.org/TR/WGSL/#cross-builtin
|
28
|
+
*/
|
29
|
+
declare function cross<T extends v3f | v3i | v3u>(a: T, b: T): T;
|
30
|
+
/**
|
31
|
+
* @privateRemarks
|
32
|
+
* https://www.w3.org/TR/WGSL/#dot-builtin
|
33
|
+
*/
|
34
|
+
declare function dot<T extends vBase>(lhs: T, rhs: T): number;
|
35
|
+
declare function normalize<T extends vBase>(v: T): T;
|
36
|
+
/**
|
37
|
+
* @privateRemarks
|
38
|
+
* https://www.w3.org/TR/WGSL/#floor-builtin
|
39
|
+
*/
|
40
|
+
declare function floor<T extends vBase | number>(value: T): T;
|
41
|
+
declare function fract(a: number): number;
|
42
|
+
/**
|
43
|
+
* @privateRemarks
|
44
|
+
* https://www.w3.org/TR/WGSL/#length-builtin
|
45
|
+
*/
|
46
|
+
declare function length<T extends vBase | number>(value: T): number;
|
47
|
+
/**
|
48
|
+
* @privateRemarks
|
49
|
+
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
50
|
+
*/
|
51
|
+
declare function max<T extends vBase | number>(a: T, b: T): T;
|
52
|
+
/**
|
53
|
+
* @privateRemarks
|
54
|
+
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
55
|
+
*/
|
56
|
+
declare function min<T extends vBase | number>(a: T, b: T): T;
|
57
|
+
declare function sin(radians: number): number;
|
58
|
+
|
59
|
+
export { abs, add, ceil, clamp, cos, cross, dot, floor, fract, length, max, min, mul, normalize, sin, sub };
|
package/std/index.d.ts
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
import { P as v3f, ae as v3i, af as v3u, au as VecKind } from '../vector-BSez01sn.js';
|
2
|
+
|
3
|
+
type vBase = {
|
4
|
+
kind: VecKind;
|
5
|
+
};
|
6
|
+
declare function add<T extends vBase>(lhs: T, rhs: T): T;
|
7
|
+
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 abs<T extends vBase | number>(value: T): T;
|
10
|
+
/**
|
11
|
+
* @privateRemarks
|
12
|
+
* https://www.w3.org/TR/WGSL/#ceil-builtin
|
13
|
+
*/
|
14
|
+
declare function ceil<T extends vBase | number>(value: T): T;
|
15
|
+
/**
|
16
|
+
* @privateRemarks
|
17
|
+
* https://www.w3.org/TR/WGSL/#clamp
|
18
|
+
*/
|
19
|
+
declare function clamp<T extends vBase | number>(value: T, low: T, high: T): T;
|
20
|
+
/**
|
21
|
+
* @privateRemarks
|
22
|
+
* https://www.w3.org/TR/WGSL/#cos-builtin
|
23
|
+
*/
|
24
|
+
declare function cos(radians: number): number;
|
25
|
+
/**
|
26
|
+
* @privateRemarks
|
27
|
+
* https://www.w3.org/TR/WGSL/#cross-builtin
|
28
|
+
*/
|
29
|
+
declare function cross<T extends v3f | v3i | v3u>(a: T, b: T): T;
|
30
|
+
/**
|
31
|
+
* @privateRemarks
|
32
|
+
* https://www.w3.org/TR/WGSL/#dot-builtin
|
33
|
+
*/
|
34
|
+
declare function dot<T extends vBase>(lhs: T, rhs: T): number;
|
35
|
+
declare function normalize<T extends vBase>(v: T): T;
|
36
|
+
/**
|
37
|
+
* @privateRemarks
|
38
|
+
* https://www.w3.org/TR/WGSL/#floor-builtin
|
39
|
+
*/
|
40
|
+
declare function floor<T extends vBase | number>(value: T): T;
|
41
|
+
declare function fract(a: number): number;
|
42
|
+
/**
|
43
|
+
* @privateRemarks
|
44
|
+
* https://www.w3.org/TR/WGSL/#length-builtin
|
45
|
+
*/
|
46
|
+
declare function length<T extends vBase | number>(value: T): number;
|
47
|
+
/**
|
48
|
+
* @privateRemarks
|
49
|
+
* https://www.w3.org/TR/WGSL/#max-float-builtin
|
50
|
+
*/
|
51
|
+
declare function max<T extends vBase | number>(a: T, b: T): T;
|
52
|
+
/**
|
53
|
+
* @privateRemarks
|
54
|
+
* https://www.w3.org/TR/WGSL/#min-float-builtin
|
55
|
+
*/
|
56
|
+
declare function min<T extends vBase | number>(a: T, b: T): T;
|
57
|
+
declare function sin(radians: number): number;
|
58
|
+
|
59
|
+
export { abs, add, ceil, clamp, cos, cross, dot, floor, fract, length, max, min, mul, normalize, sin, sub };
|
package/std/index.js
ADDED
@@ -0,0 +1,2 @@
|
|
1
|
+
import{l as x,m as y,n as i,o as h,p as u,q as l,r as w,s as v,t as r,u as a,v as g,w as f,x as M}from"../chunk-BGPVBIFN.js";var o=e=>Math.sqrt(e.x**2+e.y**2),z=e=>Math.sqrt(e.x**2+e.y**2+e.z**2),m=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:z,vec3h:z,vec3i:z,vec3u:z,vec4f:m,vec4h:m,vec4i:m,vec4u:m},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=z(e);return l(e.x/s,e.y/s,e.z/s)},vec3h:e=>{let s=z(e);return w(e.x/s,e.y/s,e.z/s)},vec3i:e=>{let s=z(e);return v(e.x/s,e.y/s,e.z/s)},vec3u:e=>{let s=z(e);return r(e.x/s,e.y/s,e.z/s)},vec4f:e=>{let s=m(e);return a(e.x/s,e.y/s,e.z/s,e.w/s)},vec4h:e=>{let s=m(e);return g(e.x/s,e.y/s,e.z/s,e.w/s)},vec4i:e=>{let s=m(e);return f(e.x/s,e.y/s,e.z/s,e.w/s)},vec4u:e=>{let s=m(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)}export{$ as abs,k as add,K as ceil,R as clamp,q as cos,O as cross,S as dot,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};
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/std/index.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/data/vectorOps.ts","../../src/std/numeric.ts"],"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"],"mappings":"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","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","lhs","rhs","inGPUMode","VectorOps","sub","mul","s","v","abs","value","ceil","clamp","low","high","cos","radians","cross","a","b","dot","normalize","floor","fract","length","max","min","sin"]}
|