@fimbul-works/vec 1.0.3 → 2.0.0
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/README.md +208 -85
- package/dist/cjs/2d/add-2d.d.ts +8 -0
- package/dist/cjs/2d/add-2d.js +11 -0
- package/dist/cjs/2d/angle-between-2d.d.ts +8 -0
- package/dist/cjs/2d/angle-between-2d.js +11 -0
- package/dist/cjs/2d/angle-x-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-x-2d.js +10 -0
- package/dist/cjs/2d/angle-y-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-y-2d.js +10 -0
- package/dist/cjs/2d/clamp-2d.d.ts +10 -0
- package/dist/cjs/2d/clamp-2d.js +14 -0
- package/dist/cjs/2d/clone-2d.d.ts +7 -0
- package/dist/cjs/2d/clone-2d.js +10 -0
- package/dist/cjs/2d/cross-2d.d.ts +8 -0
- package/dist/cjs/2d/cross-2d.js +11 -0
- package/dist/cjs/2d/distance-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-2d.js +11 -0
- package/dist/cjs/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-chebyshev-2d.js +15 -0
- package/dist/cjs/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-manhattan-2d.js +11 -0
- package/dist/cjs/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/cjs/2d/distance-minkowski-2d.js +12 -0
- package/dist/cjs/2d/distance-sq-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-sq-2d.js +11 -0
- package/dist/cjs/2d/divide-2d.d.ts +8 -0
- package/dist/cjs/2d/divide-2d.js +14 -0
- package/dist/cjs/2d/dot-2d.d.ts +8 -0
- package/dist/cjs/2d/dot-2d.js +11 -0
- package/dist/cjs/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-x-2d.js +14 -0
- package/dist/cjs/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-y-2d.js +14 -0
- package/dist/cjs/2d/from-object-2d.d.ts +10 -0
- package/dist/cjs/2d/from-object-2d.js +10 -0
- package/dist/cjs/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/cjs/2d/from-polar-coords-2d.js +11 -0
- package/dist/cjs/2d/immutable-2d.d.ts +7 -0
- package/dist/cjs/2d/immutable-2d.js +10 -0
- package/dist/cjs/2d/index.d.ts +47 -0
- package/dist/cjs/2d/index.js +63 -0
- package/dist/cjs/2d/is-equal-2d.d.ts +8 -0
- package/dist/cjs/2d/is-equal-2d.js +11 -0
- package/dist/cjs/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/cjs/2d/is-equal-approx-2d.js +12 -0
- package/dist/cjs/2d/is-infinite-2d.d.ts +7 -0
- package/dist/cjs/2d/is-infinite-2d.js +13 -0
- package/dist/cjs/2d/is-nan-2d.d.ts +7 -0
- package/dist/cjs/2d/is-nan-2d.js +10 -0
- package/dist/cjs/2d/is-opposite-2d.d.ts +8 -0
- package/dist/cjs/2d/is-opposite-2d.js +11 -0
- package/dist/cjs/2d/is-zero-2d.d.ts +7 -0
- package/dist/cjs/2d/is-zero-2d.js +10 -0
- package/dist/cjs/2d/lerp-2d.d.ts +9 -0
- package/dist/cjs/2d/lerp-2d.js +15 -0
- package/dist/cjs/2d/limit-max-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-max-2d.js +13 -0
- package/dist/cjs/2d/limit-min-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-min-2d.js +13 -0
- package/dist/cjs/2d/look-at-2d.d.ts +10 -0
- package/dist/cjs/2d/look-at-2d.js +14 -0
- package/dist/cjs/2d/magnitude-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-2d.js +10 -0
- package/dist/cjs/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-sq-2d.js +10 -0
- package/dist/cjs/2d/multiply-2d.d.ts +8 -0
- package/dist/cjs/2d/multiply-2d.js +11 -0
- package/dist/cjs/2d/negate-2d.d.ts +7 -0
- package/dist/cjs/2d/negate-2d.js +10 -0
- package/dist/cjs/2d/normalize-2d.d.ts +8 -0
- package/dist/cjs/2d/normalize-2d.js +12 -0
- package/dist/cjs/2d/one-2d.d.ts +6 -0
- package/dist/cjs/2d/one-2d.js +9 -0
- package/dist/cjs/2d/project-2d.d.ts +10 -0
- package/dist/cjs/2d/project-2d.js +17 -0
- package/dist/cjs/2d/random-2d.d.ts +7 -0
- package/dist/cjs/2d/random-2d.js +13 -0
- package/dist/cjs/2d/reflect-2d.d.ts +9 -0
- package/dist/cjs/2d/reflect-2d.js +16 -0
- package/dist/cjs/2d/rotate-2d.d.ts +9 -0
- package/dist/cjs/2d/rotate-2d.js +27 -0
- package/dist/cjs/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/cjs/2d/set-magnitude-2d.js +16 -0
- package/dist/cjs/2d/subtract-2d.d.ts +8 -0
- package/dist/cjs/2d/subtract-2d.js +11 -0
- package/dist/cjs/2d/types.d.ts +4 -0
- package/dist/cjs/2d/types.js +2 -0
- package/dist/cjs/2d/zero-2d.d.ts +6 -0
- package/dist/cjs/2d/zero-2d.js +9 -0
- package/dist/cjs/3d/add-3d.d.ts +8 -0
- package/dist/cjs/3d/add-3d.js +15 -0
- package/dist/cjs/3d/angle-between-3d.d.ts +10 -0
- package/dist/cjs/3d/angle-between-3d.js +14 -0
- package/dist/cjs/3d/angle-x-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-x-3d.js +10 -0
- package/dist/cjs/3d/angle-y-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-y-3d.js +10 -0
- package/dist/cjs/3d/angle-z-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-z-3d.js +10 -0
- package/dist/cjs/3d/clamp-3d.d.ts +10 -0
- package/dist/cjs/3d/clamp-3d.js +18 -0
- package/dist/cjs/3d/clone-3d.d.ts +7 -0
- package/dist/cjs/3d/clone-3d.js +10 -0
- package/dist/cjs/3d/cross-3d.d.ts +8 -0
- package/dist/cjs/3d/cross-3d.js +15 -0
- package/dist/cjs/3d/distance-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-3d.js +11 -0
- package/dist/cjs/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-chebyshev-3d.js +16 -0
- package/dist/cjs/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-manhattan-3d.js +11 -0
- package/dist/cjs/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/cjs/3d/distance-minkowski-3d.js +12 -0
- package/dist/cjs/3d/distance-sq-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-sq-3d.js +11 -0
- package/dist/cjs/3d/divide-3d.d.ts +8 -0
- package/dist/cjs/3d/divide-3d.js +15 -0
- package/dist/cjs/3d/dot-3d.d.ts +8 -0
- package/dist/cjs/3d/dot-3d.js +11 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.js +16 -0
- package/dist/cjs/3d/from-object-3d.d.ts +11 -0
- package/dist/cjs/3d/from-object-3d.js +10 -0
- package/dist/cjs/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-spherical-coords-3d.js +16 -0
- package/dist/cjs/3d/immutable-3d.d.ts +7 -0
- package/dist/cjs/3d/immutable-3d.js +10 -0
- package/dist/cjs/3d/index.d.ts +49 -0
- package/dist/cjs/3d/index.js +65 -0
- package/dist/cjs/3d/is-equal-3d.d.ts +8 -0
- package/dist/cjs/3d/is-equal-3d.js +11 -0
- package/dist/cjs/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/cjs/3d/is-equal-approx-3d.js +14 -0
- package/dist/cjs/3d/is-infinite-3d.d.ts +7 -0
- package/dist/cjs/3d/is-infinite-3d.js +15 -0
- package/dist/cjs/3d/is-nan-3d.d.ts +7 -0
- package/dist/cjs/3d/is-nan-3d.js +10 -0
- package/dist/cjs/3d/is-opposite-3d.d.ts +8 -0
- package/dist/cjs/3d/is-opposite-3d.js +11 -0
- package/dist/cjs/3d/is-zero-3d.d.ts +7 -0
- package/dist/cjs/3d/is-zero-3d.js +10 -0
- package/dist/cjs/3d/lerp-3d.d.ts +9 -0
- package/dist/cjs/3d/lerp-3d.js +16 -0
- package/dist/cjs/3d/limit-max-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-max-3d.js +13 -0
- package/dist/cjs/3d/limit-min-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-min-3d.js +13 -0
- package/dist/cjs/3d/look-at-3d.d.ts +10 -0
- package/dist/cjs/3d/look-at-3d.js +14 -0
- package/dist/cjs/3d/magnitude-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-3d.js +10 -0
- package/dist/cjs/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-sq-3d.js +10 -0
- package/dist/cjs/3d/multiply-3d.d.ts +8 -0
- package/dist/cjs/3d/multiply-3d.js +15 -0
- package/dist/cjs/3d/negate-3d.d.ts +7 -0
- package/dist/cjs/3d/negate-3d.js +10 -0
- package/dist/cjs/3d/normalize-3d.d.ts +8 -0
- package/dist/cjs/3d/normalize-3d.js +12 -0
- package/dist/cjs/3d/one-3d.d.ts +6 -0
- package/dist/cjs/3d/one-3d.js +9 -0
- package/dist/cjs/3d/project-3d.d.ts +10 -0
- package/dist/cjs/3d/project-3d.js +17 -0
- package/dist/cjs/3d/random-3d.d.ts +7 -0
- package/dist/cjs/3d/random-3d.js +11 -0
- package/dist/cjs/3d/reflect-3d.d.ts +9 -0
- package/dist/cjs/3d/reflect-3d.js +16 -0
- package/dist/cjs/3d/rotate-x-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-x-3d.js +26 -0
- package/dist/cjs/3d/rotate-y-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-y-3d.js +26 -0
- package/dist/cjs/3d/rotate-z-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-z-3d.js +26 -0
- package/dist/cjs/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/cjs/3d/set-magnitude-3d.js +13 -0
- package/dist/cjs/3d/subtract-3d.d.ts +8 -0
- package/dist/cjs/3d/subtract-3d.js +15 -0
- package/dist/cjs/3d/types.d.ts +4 -0
- package/dist/cjs/3d/types.js +2 -0
- package/dist/cjs/3d/zero-3d.d.ts +6 -0
- package/dist/cjs/3d/zero-3d.js +9 -0
- package/dist/cjs/4d/add-4d.d.ts +8 -0
- package/dist/cjs/4d/add-4d.js +16 -0
- package/dist/cjs/4d/angle-between-4d.d.ts +10 -0
- package/dist/cjs/4d/angle-between-4d.js +15 -0
- package/dist/cjs/4d/angle-w-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-w-4d.js +10 -0
- package/dist/cjs/4d/angle-x-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-x-4d.js +10 -0
- package/dist/cjs/4d/angle-y-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-y-4d.js +10 -0
- package/dist/cjs/4d/angle-z-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-z-4d.js +10 -0
- package/dist/cjs/4d/clamp-4d.d.ts +10 -0
- package/dist/cjs/4d/clamp-4d.js +18 -0
- package/dist/cjs/4d/clone-4d.d.ts +7 -0
- package/dist/cjs/4d/clone-4d.js +10 -0
- package/dist/cjs/4d/distance-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-4d.js +11 -0
- package/dist/cjs/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-chebyshev-4d.js +23 -0
- package/dist/cjs/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-manhattan-4d.js +14 -0
- package/dist/cjs/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-minkowski-4d.js +16 -0
- package/dist/cjs/4d/distance-sq-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-sq-4d.js +12 -0
- package/dist/cjs/4d/divide-4d.d.ts +8 -0
- package/dist/cjs/4d/divide-4d.js +16 -0
- package/dist/cjs/4d/dot-4d.d.ts +8 -0
- package/dist/cjs/4d/dot-4d.js +11 -0
- package/dist/cjs/4d/from-object-4d.d.ts +12 -0
- package/dist/cjs/4d/from-object-4d.js +15 -0
- package/dist/cjs/4d/immutable-4d.d.ts +7 -0
- package/dist/cjs/4d/immutable-4d.js +10 -0
- package/dist/cjs/4d/index.d.ts +44 -0
- package/dist/cjs/4d/index.js +60 -0
- package/dist/cjs/4d/is-equal-4d.d.ts +8 -0
- package/dist/cjs/4d/is-equal-4d.js +11 -0
- package/dist/cjs/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/cjs/4d/is-equal-approx-4d.js +15 -0
- package/dist/cjs/4d/is-infinite-4d.d.ts +7 -0
- package/dist/cjs/4d/is-infinite-4d.js +17 -0
- package/dist/cjs/4d/is-nan-4d.d.ts +7 -0
- package/dist/cjs/4d/is-nan-4d.js +10 -0
- package/dist/cjs/4d/is-opposite-4d.d.ts +8 -0
- package/dist/cjs/4d/is-opposite-4d.js +11 -0
- package/dist/cjs/4d/is-zero-4d.d.ts +7 -0
- package/dist/cjs/4d/is-zero-4d.js +10 -0
- package/dist/cjs/4d/lerp-4d.d.ts +9 -0
- package/dist/cjs/4d/lerp-4d.js +17 -0
- package/dist/cjs/4d/limit-max-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-max-4d.js +13 -0
- package/dist/cjs/4d/limit-min-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-min-4d.js +13 -0
- package/dist/cjs/4d/look-at-4d.d.ts +10 -0
- package/dist/cjs/4d/look-at-4d.js +14 -0
- package/dist/cjs/4d/magnitude-4d.d.ts +7 -0
- package/dist/cjs/4d/magnitude-4d.js +10 -0
- package/dist/cjs/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/cjs/4d/magnitude-sq-4d.js +11 -0
- package/dist/cjs/4d/multiply-4d.d.ts +8 -0
- package/dist/cjs/4d/multiply-4d.js +16 -0
- package/dist/cjs/4d/negate-4d.d.ts +7 -0
- package/dist/cjs/4d/negate-4d.js +10 -0
- package/dist/cjs/4d/normalize-4d.d.ts +8 -0
- package/dist/cjs/4d/normalize-4d.js +17 -0
- package/dist/cjs/4d/one-4d.d.ts +6 -0
- package/dist/cjs/4d/one-4d.js +9 -0
- package/dist/cjs/4d/project-4d.d.ts +10 -0
- package/dist/cjs/4d/project-4d.js +18 -0
- package/dist/cjs/4d/random-4d.d.ts +7 -0
- package/dist/cjs/4d/random-4d.js +21 -0
- package/dist/cjs/4d/reflect-4d.d.ts +9 -0
- package/dist/cjs/4d/reflect-4d.js +21 -0
- package/dist/cjs/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/cjs/4d/set-magnitude-4d.js +18 -0
- package/dist/cjs/4d/subtract-4d.d.ts +8 -0
- package/dist/cjs/4d/subtract-4d.js +16 -0
- package/dist/cjs/4d/types.d.ts +4 -0
- package/dist/cjs/4d/types.js +2 -0
- package/dist/cjs/4d/zero-4d.d.ts +6 -0
- package/dist/cjs/4d/zero-4d.js +9 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/slerp.d.ts +21 -0
- package/dist/cjs/slerp.js +28 -0
- package/dist/{vec2.d.ts → cjs/vec2.d.ts} +10 -4
- package/dist/cjs/vec2.js +889 -0
- package/dist/{vec3.d.ts → cjs/vec3.d.ts} +159 -100
- package/dist/cjs/vec3.js +1045 -0
- package/dist/cjs/vec4.d.ts +602 -0
- package/dist/cjs/vec4.js +1101 -0
- package/dist/esm/2d/add-2d.d.ts +8 -0
- package/dist/esm/2d/add-2d.js +7 -0
- package/dist/esm/2d/angle-between-2d.d.ts +8 -0
- package/dist/esm/2d/angle-between-2d.js +7 -0
- package/dist/esm/2d/angle-x-2d.d.ts +7 -0
- package/dist/esm/2d/angle-x-2d.js +6 -0
- package/dist/esm/2d/angle-y-2d.d.ts +7 -0
- package/dist/esm/2d/angle-y-2d.js +6 -0
- package/dist/esm/2d/clamp-2d.d.ts +10 -0
- package/dist/esm/2d/clamp-2d.js +10 -0
- package/dist/esm/2d/clone-2d.d.ts +7 -0
- package/dist/esm/2d/clone-2d.js +6 -0
- package/dist/esm/2d/cross-2d.d.ts +8 -0
- package/dist/esm/2d/cross-2d.js +7 -0
- package/dist/esm/2d/distance-2d.d.ts +8 -0
- package/dist/esm/2d/distance-2d.js +7 -0
- package/dist/esm/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/esm/2d/distance-chebyshev-2d.js +11 -0
- package/dist/esm/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/esm/2d/distance-manhattan-2d.js +7 -0
- package/dist/esm/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/esm/2d/distance-minkowski-2d.js +8 -0
- package/dist/esm/2d/distance-sq-2d.d.ts +8 -0
- package/dist/esm/2d/distance-sq-2d.js +7 -0
- package/dist/esm/2d/divide-2d.d.ts +8 -0
- package/dist/esm/2d/divide-2d.js +10 -0
- package/dist/esm/2d/dot-2d.d.ts +8 -0
- package/dist/esm/2d/dot-2d.js +7 -0
- package/dist/esm/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-x-2d.js +10 -0
- package/dist/esm/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-y-2d.js +10 -0
- package/dist/esm/2d/from-object-2d.d.ts +10 -0
- package/dist/esm/2d/from-object-2d.js +6 -0
- package/dist/esm/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/esm/2d/from-polar-coords-2d.js +7 -0
- package/dist/esm/2d/immutable-2d.d.ts +7 -0
- package/dist/esm/2d/immutable-2d.js +6 -0
- package/dist/esm/2d/index.d.ts +47 -0
- package/dist/esm/2d/index.js +47 -0
- package/dist/esm/2d/is-equal-2d.d.ts +8 -0
- package/dist/esm/2d/is-equal-2d.js +7 -0
- package/dist/esm/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/esm/2d/is-equal-approx-2d.js +8 -0
- package/dist/esm/2d/is-infinite-2d.d.ts +7 -0
- package/dist/esm/2d/is-infinite-2d.js +9 -0
- package/dist/esm/2d/is-nan-2d.d.ts +7 -0
- package/dist/esm/2d/is-nan-2d.js +6 -0
- package/dist/esm/2d/is-opposite-2d.d.ts +8 -0
- package/dist/esm/2d/is-opposite-2d.js +7 -0
- package/dist/esm/2d/is-zero-2d.d.ts +7 -0
- package/dist/esm/2d/is-zero-2d.js +6 -0
- package/dist/esm/2d/lerp-2d.d.ts +9 -0
- package/dist/esm/2d/lerp-2d.js +11 -0
- package/dist/esm/2d/limit-max-2d.d.ts +9 -0
- package/dist/esm/2d/limit-max-2d.js +9 -0
- package/dist/esm/2d/limit-min-2d.d.ts +9 -0
- package/dist/esm/2d/limit-min-2d.js +9 -0
- package/dist/esm/2d/look-at-2d.d.ts +10 -0
- package/dist/esm/2d/look-at-2d.js +10 -0
- package/dist/esm/2d/magnitude-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-2d.js +6 -0
- package/dist/esm/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-sq-2d.js +6 -0
- package/dist/esm/2d/multiply-2d.d.ts +8 -0
- package/dist/esm/2d/multiply-2d.js +7 -0
- package/dist/esm/2d/negate-2d.d.ts +7 -0
- package/dist/esm/2d/negate-2d.js +6 -0
- package/dist/esm/2d/normalize-2d.d.ts +8 -0
- package/dist/esm/2d/normalize-2d.js +8 -0
- package/dist/esm/2d/one-2d.d.ts +6 -0
- package/dist/esm/2d/one-2d.js +5 -0
- package/dist/esm/2d/project-2d.d.ts +10 -0
- package/dist/esm/2d/project-2d.js +13 -0
- package/dist/esm/2d/random-2d.d.ts +7 -0
- package/dist/esm/2d/random-2d.js +9 -0
- package/dist/esm/2d/reflect-2d.d.ts +9 -0
- package/dist/esm/2d/reflect-2d.js +12 -0
- package/dist/esm/2d/rotate-2d.d.ts +9 -0
- package/dist/esm/2d/rotate-2d.js +23 -0
- package/dist/esm/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/esm/2d/set-magnitude-2d.js +12 -0
- package/dist/esm/2d/subtract-2d.d.ts +8 -0
- package/dist/esm/2d/subtract-2d.js +7 -0
- package/dist/esm/2d/types.d.ts +4 -0
- package/dist/esm/2d/types.js +1 -0
- package/dist/esm/2d/zero-2d.d.ts +6 -0
- package/dist/esm/2d/zero-2d.js +5 -0
- package/dist/esm/3d/add-3d.d.ts +8 -0
- package/dist/esm/3d/add-3d.js +11 -0
- package/dist/esm/3d/angle-between-3d.d.ts +10 -0
- package/dist/esm/3d/angle-between-3d.js +10 -0
- package/dist/esm/3d/angle-x-3d.d.ts +7 -0
- package/dist/esm/3d/angle-x-3d.js +6 -0
- package/dist/esm/3d/angle-y-3d.d.ts +7 -0
- package/dist/esm/3d/angle-y-3d.js +6 -0
- package/dist/esm/3d/angle-z-3d.d.ts +7 -0
- package/dist/esm/3d/angle-z-3d.js +6 -0
- package/dist/esm/3d/clamp-3d.d.ts +10 -0
- package/dist/esm/3d/clamp-3d.js +14 -0
- package/dist/esm/3d/clone-3d.d.ts +7 -0
- package/dist/esm/3d/clone-3d.js +6 -0
- package/dist/esm/3d/cross-3d.d.ts +8 -0
- package/dist/esm/3d/cross-3d.js +11 -0
- package/dist/esm/3d/distance-3d.d.ts +8 -0
- package/dist/esm/3d/distance-3d.js +7 -0
- package/dist/esm/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/esm/3d/distance-chebyshev-3d.js +12 -0
- package/dist/esm/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/esm/3d/distance-manhattan-3d.js +7 -0
- package/dist/esm/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/esm/3d/distance-minkowski-3d.js +8 -0
- package/dist/esm/3d/distance-sq-3d.d.ts +8 -0
- package/dist/esm/3d/distance-sq-3d.js +7 -0
- package/dist/esm/3d/divide-3d.d.ts +8 -0
- package/dist/esm/3d/divide-3d.js +11 -0
- package/dist/esm/3d/dot-3d.d.ts +8 -0
- package/dist/esm/3d/dot-3d.js +7 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.js +12 -0
- package/dist/esm/3d/from-object-3d.d.ts +11 -0
- package/dist/esm/3d/from-object-3d.js +6 -0
- package/dist/esm/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-spherical-coords-3d.js +12 -0
- package/dist/esm/3d/immutable-3d.d.ts +7 -0
- package/dist/esm/3d/immutable-3d.js +6 -0
- package/dist/esm/3d/index.d.ts +49 -0
- package/dist/esm/3d/index.js +49 -0
- package/dist/esm/3d/is-equal-3d.d.ts +8 -0
- package/dist/esm/3d/is-equal-3d.js +7 -0
- package/dist/esm/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/esm/3d/is-equal-approx-3d.js +10 -0
- package/dist/esm/3d/is-infinite-3d.d.ts +7 -0
- package/dist/esm/3d/is-infinite-3d.js +11 -0
- package/dist/esm/3d/is-nan-3d.d.ts +7 -0
- package/dist/esm/3d/is-nan-3d.js +6 -0
- package/dist/esm/3d/is-opposite-3d.d.ts +8 -0
- package/dist/esm/3d/is-opposite-3d.js +7 -0
- package/dist/esm/3d/is-zero-3d.d.ts +7 -0
- package/dist/esm/3d/is-zero-3d.js +6 -0
- package/dist/esm/3d/lerp-3d.d.ts +9 -0
- package/dist/esm/3d/lerp-3d.js +12 -0
- package/dist/esm/3d/limit-max-3d.d.ts +9 -0
- package/dist/esm/3d/limit-max-3d.js +9 -0
- package/dist/esm/3d/limit-min-3d.d.ts +9 -0
- package/dist/esm/3d/limit-min-3d.js +9 -0
- package/dist/esm/3d/look-at-3d.d.ts +10 -0
- package/dist/esm/3d/look-at-3d.js +10 -0
- package/dist/esm/3d/magnitude-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-3d.js +6 -0
- package/dist/esm/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-sq-3d.js +6 -0
- package/dist/esm/3d/multiply-3d.d.ts +8 -0
- package/dist/esm/3d/multiply-3d.js +11 -0
- package/dist/esm/3d/negate-3d.d.ts +7 -0
- package/dist/esm/3d/negate-3d.js +6 -0
- package/dist/esm/3d/normalize-3d.d.ts +8 -0
- package/dist/esm/3d/normalize-3d.js +8 -0
- package/dist/esm/3d/one-3d.d.ts +6 -0
- package/dist/esm/3d/one-3d.js +5 -0
- package/dist/esm/3d/project-3d.d.ts +10 -0
- package/dist/esm/3d/project-3d.js +13 -0
- package/dist/esm/3d/random-3d.d.ts +7 -0
- package/dist/esm/3d/random-3d.js +7 -0
- package/dist/esm/3d/reflect-3d.d.ts +9 -0
- package/dist/esm/3d/reflect-3d.js +12 -0
- package/dist/esm/3d/rotate-x-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-x-3d.js +22 -0
- package/dist/esm/3d/rotate-y-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-y-3d.js +22 -0
- package/dist/esm/3d/rotate-z-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-z-3d.js +22 -0
- package/dist/esm/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/esm/3d/set-magnitude-3d.js +9 -0
- package/dist/esm/3d/subtract-3d.d.ts +8 -0
- package/dist/esm/3d/subtract-3d.js +11 -0
- package/dist/esm/3d/types.d.ts +4 -0
- package/dist/esm/3d/types.js +1 -0
- package/dist/esm/3d/zero-3d.d.ts +6 -0
- package/dist/esm/3d/zero-3d.js +5 -0
- package/dist/esm/4d/add-4d.d.ts +8 -0
- package/dist/esm/4d/add-4d.js +12 -0
- package/dist/esm/4d/angle-between-4d.d.ts +10 -0
- package/dist/esm/4d/angle-between-4d.js +11 -0
- package/dist/esm/4d/angle-w-4d.d.ts +7 -0
- package/dist/esm/4d/angle-w-4d.js +6 -0
- package/dist/esm/4d/angle-x-4d.d.ts +7 -0
- package/dist/esm/4d/angle-x-4d.js +6 -0
- package/dist/esm/4d/angle-y-4d.d.ts +7 -0
- package/dist/esm/4d/angle-y-4d.js +6 -0
- package/dist/esm/4d/angle-z-4d.d.ts +7 -0
- package/dist/esm/4d/angle-z-4d.js +6 -0
- package/dist/esm/4d/clamp-4d.d.ts +10 -0
- package/dist/esm/4d/clamp-4d.js +14 -0
- package/dist/esm/4d/clone-4d.d.ts +7 -0
- package/dist/esm/4d/clone-4d.js +6 -0
- package/dist/esm/4d/distance-4d.d.ts +8 -0
- package/dist/esm/4d/distance-4d.js +7 -0
- package/dist/esm/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/esm/4d/distance-chebyshev-4d.js +19 -0
- package/dist/esm/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/esm/4d/distance-manhattan-4d.js +10 -0
- package/dist/esm/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/esm/4d/distance-minkowski-4d.js +12 -0
- package/dist/esm/4d/distance-sq-4d.d.ts +9 -0
- package/dist/esm/4d/distance-sq-4d.js +8 -0
- package/dist/esm/4d/divide-4d.d.ts +8 -0
- package/dist/esm/4d/divide-4d.js +12 -0
- package/dist/esm/4d/dot-4d.d.ts +8 -0
- package/dist/esm/4d/dot-4d.js +7 -0
- package/dist/esm/4d/from-object-4d.d.ts +12 -0
- package/dist/esm/4d/from-object-4d.js +11 -0
- package/dist/esm/4d/immutable-4d.d.ts +7 -0
- package/dist/esm/4d/immutable-4d.js +6 -0
- package/dist/esm/4d/index.d.ts +44 -0
- package/dist/esm/4d/index.js +44 -0
- package/dist/esm/4d/is-equal-4d.d.ts +8 -0
- package/dist/esm/4d/is-equal-4d.js +7 -0
- package/dist/esm/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/esm/4d/is-equal-approx-4d.js +11 -0
- package/dist/esm/4d/is-infinite-4d.d.ts +7 -0
- package/dist/esm/4d/is-infinite-4d.js +13 -0
- package/dist/esm/4d/is-nan-4d.d.ts +7 -0
- package/dist/esm/4d/is-nan-4d.js +6 -0
- package/dist/esm/4d/is-opposite-4d.d.ts +8 -0
- package/dist/esm/4d/is-opposite-4d.js +7 -0
- package/dist/esm/4d/is-zero-4d.d.ts +7 -0
- package/dist/esm/4d/is-zero-4d.js +6 -0
- package/dist/esm/4d/lerp-4d.d.ts +9 -0
- package/dist/esm/4d/lerp-4d.js +13 -0
- package/dist/esm/4d/limit-max-4d.d.ts +9 -0
- package/dist/esm/4d/limit-max-4d.js +9 -0
- package/dist/esm/4d/limit-min-4d.d.ts +9 -0
- package/dist/esm/4d/limit-min-4d.js +9 -0
- package/dist/esm/4d/look-at-4d.d.ts +10 -0
- package/dist/esm/4d/look-at-4d.js +10 -0
- package/dist/esm/4d/magnitude-4d.d.ts +7 -0
- package/dist/esm/4d/magnitude-4d.js +6 -0
- package/dist/esm/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/esm/4d/magnitude-sq-4d.js +7 -0
- package/dist/esm/4d/multiply-4d.d.ts +8 -0
- package/dist/esm/4d/multiply-4d.js +12 -0
- package/dist/esm/4d/negate-4d.d.ts +7 -0
- package/dist/esm/4d/negate-4d.js +6 -0
- package/dist/esm/4d/normalize-4d.d.ts +8 -0
- package/dist/esm/4d/normalize-4d.js +13 -0
- package/dist/esm/4d/one-4d.d.ts +6 -0
- package/dist/esm/4d/one-4d.js +5 -0
- package/dist/esm/4d/project-4d.d.ts +10 -0
- package/dist/esm/4d/project-4d.js +14 -0
- package/dist/esm/4d/random-4d.d.ts +7 -0
- package/dist/esm/4d/random-4d.js +17 -0
- package/dist/esm/4d/reflect-4d.d.ts +9 -0
- package/dist/esm/4d/reflect-4d.js +17 -0
- package/dist/esm/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/esm/4d/set-magnitude-4d.js +14 -0
- package/dist/esm/4d/subtract-4d.d.ts +8 -0
- package/dist/esm/4d/subtract-4d.js +12 -0
- package/dist/esm/4d/types.d.ts +4 -0
- package/dist/esm/4d/types.js +1 -0
- package/dist/esm/4d/zero-4d.d.ts +6 -0
- package/dist/esm/4d/zero-4d.js +5 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/slerp.d.ts +21 -0
- package/dist/esm/slerp.js +23 -0
- package/dist/{vec4.d.ts → esm/vec2.d.ts} +165 -157
- package/dist/{vec2.js → esm/vec2.js} +14 -6
- package/dist/esm/vec3.d.ts +614 -0
- package/dist/{vec3.js → esm/vec3.js} +190 -123
- package/dist/esm/vec4.d.ts +602 -0
- package/dist/{vec4.js → esm/vec4.js} +211 -130
- package/docs/ArrayVector2D.md +1090 -0
- package/docs/ArrayVector3D.md +1162 -0
- package/docs/ArrayVector4D.md +1019 -0
- package/docs/README.md +13 -0
- package/docs/Slerp.md +64 -0
- package/docs/Vec2.md +1827 -0
- package/docs/Vec3.md +2084 -0
- package/docs/Vec4.md +2031 -0
- package/package.json +95 -70
- package/VEC2.md +0 -147
- package/VEC3.md +0 -159
- package/VEC4.md +0 -146
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
|
@@ -1,72 +1,74 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Documentation for 2D Vector class.
|
|
3
|
+
* @module Vec2
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Represents a 2D vector with various operations.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Vec2 {
|
|
5
9
|
#private;
|
|
6
10
|
/**
|
|
7
|
-
* Creates a new
|
|
8
|
-
* @param x - The x-coordinate of the vector.
|
|
9
|
-
* @param y - The y-coordinate of the vector.
|
|
10
|
-
* @param z - The z-coordinate of the vector.
|
|
11
|
-
* @param w - The w-coordinate of the vector.
|
|
11
|
+
* Creates a new Vec2 instance.
|
|
12
|
+
* @param {number} x - The x-coordinate of the vector.
|
|
13
|
+
* @param {number} y - The y-coordinate of the vector.
|
|
12
14
|
*/
|
|
13
|
-
constructor(x?: number, y?: number
|
|
15
|
+
constructor(x?: number, y?: number);
|
|
14
16
|
/**
|
|
15
17
|
* Adds two vectors.
|
|
16
18
|
* @param v - The first vector.
|
|
17
19
|
* @param w - The second vector.
|
|
18
|
-
* @returns A new
|
|
20
|
+
* @returns A new Vec2 instance representing the sum.
|
|
19
21
|
*/
|
|
20
|
-
static add(v:
|
|
22
|
+
static add(v: Vec2, w: Vec2): Vec2;
|
|
21
23
|
/**
|
|
22
24
|
* Subtracts one vector from another.
|
|
23
25
|
* @param v - The vector to subtract from.
|
|
24
26
|
* @param w - The vector to subtract.
|
|
25
27
|
* @returns A new Vec2 instance representing the difference.
|
|
26
28
|
*/
|
|
27
|
-
static subtract(v:
|
|
29
|
+
static subtract(v: Vec2, w: Vec2): Vec2;
|
|
28
30
|
/**
|
|
29
31
|
* Multiplies one vector with another.
|
|
30
32
|
* @param v - The first vector.
|
|
31
33
|
* @param w - The second vector.
|
|
32
|
-
* @returns A new
|
|
34
|
+
* @returns A new Vec2 instance representing the multiplied value.
|
|
33
35
|
*/
|
|
34
|
-
static multiply(v:
|
|
36
|
+
static multiply(v: Vec2, w: Vec2): Vec2;
|
|
35
37
|
/**
|
|
36
38
|
* Divides one vector with another.
|
|
37
39
|
* @param v - Divident.
|
|
38
40
|
* @param w - Divisor.
|
|
39
|
-
* @returns A new
|
|
41
|
+
* @returns A new Vec2 instance representing the divided value.
|
|
40
42
|
*/
|
|
41
|
-
static divide(v:
|
|
43
|
+
static divide(v: Vec2, w: Vec2): Vec2;
|
|
42
44
|
/**
|
|
43
45
|
* Calculates the angle between two vectors.
|
|
44
46
|
* @param v - The first vector.
|
|
45
47
|
* @param w - The second vector.
|
|
46
48
|
* @returns The angle between the vectors in radians.
|
|
47
49
|
*/
|
|
48
|
-
static angleBetween(v:
|
|
50
|
+
static angleBetween(v: Vec2, w: Vec2): number;
|
|
49
51
|
/**
|
|
50
52
|
* Calculates the Euclidean distance between two vectors.
|
|
51
53
|
* @param v - The first vector.
|
|
52
54
|
* @param w - The second vector.
|
|
53
55
|
* @returns The distance between the vectors.
|
|
54
56
|
*/
|
|
55
|
-
static distance(v:
|
|
57
|
+
static distance(v: Vec2, w: Vec2): number;
|
|
56
58
|
/**
|
|
57
59
|
* Calculates the Chebyshev distance between two vectors.
|
|
58
60
|
* @param v - The first vector.
|
|
59
61
|
* @param w - The second vector.
|
|
60
62
|
* @returns The Chebyshev distance between the vectors.
|
|
61
63
|
*/
|
|
62
|
-
static distanceChebyshev(v:
|
|
64
|
+
static distanceChebyshev(v: Vec2, w: Vec2): number;
|
|
63
65
|
/**
|
|
64
66
|
* Calculates the Manhattan distance between two vectors.
|
|
65
67
|
* @param v - The first vector.
|
|
66
68
|
* @param w - The second vector.
|
|
67
69
|
* @returns The Manhattan distance between the vectors.
|
|
68
70
|
*/
|
|
69
|
-
static distanceManhattan(v:
|
|
71
|
+
static distanceManhattan(v: Vec2, w: Vec2): number;
|
|
70
72
|
/**
|
|
71
73
|
* Calculates the Minkowski distance between two vectors.
|
|
72
74
|
* @param v - The first vector.
|
|
@@ -74,69 +76,78 @@ export declare class Vec4 {
|
|
|
74
76
|
* @param p - The order of the Minkowski distance.
|
|
75
77
|
* @returns The Minkowski distance between the vectors.
|
|
76
78
|
*/
|
|
77
|
-
static distanceMinkowski(v:
|
|
79
|
+
static distanceMinkowski(v: Vec2, w: Vec2, p: number): number;
|
|
78
80
|
/**
|
|
79
81
|
* Calculates the squared Euclidean distance between two vectors.
|
|
80
82
|
* @param v - The first vector.
|
|
81
83
|
* @param w - The second vector.
|
|
82
84
|
* @returns The squared distance between the vectors.
|
|
83
85
|
*/
|
|
84
|
-
static distanceSq(v:
|
|
86
|
+
static distanceSq(v: Vec2, w: Vec2): number;
|
|
85
87
|
/**
|
|
86
88
|
* Calculates the dot product of two vectors.
|
|
87
89
|
* @param v - The first vector.
|
|
88
90
|
* @param w - The second vector.
|
|
89
|
-
* @returns The dot product of the
|
|
91
|
+
* @returns The dot product of the vectors.
|
|
92
|
+
*/
|
|
93
|
+
static dot(v: Vec2, w: Vec2): number;
|
|
94
|
+
/**
|
|
95
|
+
* Calculates the cross product of two vectors.
|
|
96
|
+
* @param v - The first vector.
|
|
97
|
+
* @param w - The second vector.
|
|
98
|
+
* @returns The cross product scalar value.
|
|
90
99
|
*/
|
|
91
|
-
static
|
|
100
|
+
static cross(v: Vec2, w: Vec2): number;
|
|
92
101
|
/**
|
|
93
|
-
* Reflects
|
|
94
|
-
* The normal vector should be normalized (unit length).
|
|
102
|
+
* Reflects the vector across a normal vector.
|
|
95
103
|
* @param v - The vector to reflect.
|
|
96
104
|
* @param normal - The normal vector to reflect across (must be normalized).
|
|
97
|
-
* @returns A new
|
|
105
|
+
* @returns A new Vec2 instance representing the reflected vector.
|
|
106
|
+
*/
|
|
107
|
+
static reflect(v: Vec2, normal: Vec2): Vec2;
|
|
108
|
+
/**
|
|
109
|
+
* Creates a Vec2 instance from polar coordinates.
|
|
110
|
+
* @param r - The radius.
|
|
111
|
+
* @param theta - The angle in radians.
|
|
112
|
+
* @returns A new Vec2 instance.
|
|
98
113
|
*/
|
|
99
|
-
static
|
|
114
|
+
static fromPolarCoords(r: number, theta: number): Vec2;
|
|
100
115
|
/**
|
|
101
|
-
* Creates an immutable
|
|
116
|
+
* Creates an immutable Vec2-like object.
|
|
102
117
|
* @param x - The x-coordinate of the vector.
|
|
103
118
|
* @param y - The y-coordinate of the vector.
|
|
104
|
-
* @returns An immutable object with
|
|
105
|
-
*/
|
|
106
|
-
static immutable(x?: number, y?: number
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
readonly
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
readonly isInfinite: boolean;
|
|
119
|
-
readonly isNaN: boolean;
|
|
120
|
-
readonly isZero: boolean;
|
|
121
|
-
};
|
|
119
|
+
* @returns An immutable object with Vec2-like properties.
|
|
120
|
+
*/
|
|
121
|
+
static immutable(x?: number, y?: number): Readonly<{
|
|
122
|
+
angleX: number;
|
|
123
|
+
angleY: number;
|
|
124
|
+
isInfinite: boolean;
|
|
125
|
+
isNaN: boolean;
|
|
126
|
+
isZero: boolean;
|
|
127
|
+
magnitude: number;
|
|
128
|
+
magnitudeSq: number;
|
|
129
|
+
x: number;
|
|
130
|
+
xy: readonly number[];
|
|
131
|
+
y: number;
|
|
132
|
+
}>;
|
|
122
133
|
/**
|
|
123
134
|
* Checks if a vector has infinite components.
|
|
124
135
|
* @param v - The vector to check.
|
|
125
136
|
* @returns True if the vector has infinite components, false otherwise.
|
|
126
137
|
*/
|
|
127
|
-
static isInfinite(v:
|
|
138
|
+
static isInfinite(v: Vec2): boolean;
|
|
128
139
|
/**
|
|
129
140
|
* Checks if a vector has NaN components.
|
|
130
141
|
* @param v - The vector to check.
|
|
131
142
|
* @returns True if the vector has NaN components, false otherwise.
|
|
132
143
|
*/
|
|
133
|
-
static isNaN(v:
|
|
144
|
+
static isNaN(v: Vec2): boolean;
|
|
134
145
|
/**
|
|
135
146
|
* Checks if a vector is zero.
|
|
136
147
|
* @param v - The vector to check.
|
|
137
148
|
* @returns True if the vector is zero, false otherwise.
|
|
138
149
|
*/
|
|
139
|
-
static isZero(v:
|
|
150
|
+
static isZero(v: Vec2): boolean;
|
|
140
151
|
/**
|
|
141
152
|
* Performs linear interpolation between two vectors.
|
|
142
153
|
* @param v - The first vector.
|
|
@@ -144,46 +155,46 @@ export declare class Vec4 {
|
|
|
144
155
|
* @param t - The interpolation parameter (0 to 1).
|
|
145
156
|
* @returns A new Vec2 instance representing the interpolated vector.
|
|
146
157
|
*/
|
|
147
|
-
static lerp(v:
|
|
158
|
+
static lerp(v: Vec2, w: Vec2, t: number): Vec2;
|
|
148
159
|
/**
|
|
149
160
|
* Negates a vector.
|
|
150
161
|
* @param v - The vector to negate.
|
|
151
162
|
* @returns A new Vec2 instance representing the negated vector.
|
|
152
163
|
*/
|
|
153
|
-
static negate(v:
|
|
164
|
+
static negate(v: Vec2): Vec2;
|
|
154
165
|
/**
|
|
155
166
|
* Normalizes a vector.
|
|
156
167
|
* @param v - The vector to normalize.
|
|
157
168
|
* @returns A new Vec2 instance representing the normalized vector.
|
|
158
169
|
*/
|
|
159
|
-
static normalize(v:
|
|
170
|
+
static normalize(v: Vec2): Vec2;
|
|
160
171
|
/**
|
|
161
172
|
* Projects one vector onto another.
|
|
162
173
|
* @param v - The vector to project.
|
|
163
174
|
* @param w - The vector to project onto.
|
|
164
175
|
* @returns A new Vec2 instance representing the projected vector.
|
|
165
176
|
*/
|
|
166
|
-
static project(v:
|
|
177
|
+
static project(v: Vec2, w: Vec2): Vec2;
|
|
167
178
|
/**
|
|
168
179
|
* Creates a random unit vector.
|
|
169
180
|
* @param random - A function that returns a random number between 0 and 1.
|
|
170
|
-
* @returns A new
|
|
181
|
+
* @returns A new Vec2 instance representing a random unit vector.
|
|
171
182
|
*/
|
|
172
|
-
static random(random?: () => number):
|
|
183
|
+
static random(random?: () => number): Vec2;
|
|
173
184
|
/**
|
|
174
185
|
* Checks if two vectors are equal.
|
|
175
186
|
* @param v - The first vector.
|
|
176
187
|
* @param w - The second vector.
|
|
177
188
|
* @returns True if the vectors are equal, false otherwise.
|
|
178
189
|
*/
|
|
179
|
-
static satisfyEquality(v:
|
|
190
|
+
static satisfyEquality(v: Vec2, w: Vec2): boolean;
|
|
180
191
|
/**
|
|
181
192
|
* Checks if two vectors are opposite.
|
|
182
193
|
* @param v - The first vector.
|
|
183
194
|
* @param w - The second vector.
|
|
184
195
|
* @returns True if the vectors are opposite, false otherwise.
|
|
185
196
|
*/
|
|
186
|
-
static satisfyOpposition(v:
|
|
197
|
+
static satisfyOpposition(v: Vec2, w: Vec2): boolean;
|
|
187
198
|
/**
|
|
188
199
|
* Compares a vector with another vector using an epsilon value for floating-point comparison.
|
|
189
200
|
* @param v - The first vector.
|
|
@@ -191,50 +202,48 @@ export declare class Vec4 {
|
|
|
191
202
|
* @param epsilon - The maximum difference between components to consider them equal.
|
|
192
203
|
* @returns True if the vectors are equal within epsilon, false otherwise.
|
|
193
204
|
*/
|
|
194
|
-
static equals(v:
|
|
205
|
+
static equals(v: Vec2, w: Vec2, epsilon?: number): boolean;
|
|
195
206
|
/**
|
|
196
207
|
* Scales a vector by a scalar value.
|
|
197
208
|
* @param v - The vector to scale.
|
|
198
209
|
* @param c - The scalar value.
|
|
199
210
|
* @returns A new Vec2 instance representing the scaled vector.
|
|
200
211
|
*/
|
|
201
|
-
static scale(v:
|
|
212
|
+
static scale(v: Vec2, c: number): Vec2;
|
|
202
213
|
/**
|
|
203
214
|
* Creates a zero vector.
|
|
204
|
-
* @returns A new
|
|
215
|
+
* @returns A new Vec2 instance representing a zero vector.
|
|
205
216
|
*/
|
|
206
|
-
static zero():
|
|
217
|
+
static zero(): Vec2;
|
|
207
218
|
/**
|
|
208
219
|
* Creates a vector with all components set to 1.0.
|
|
209
|
-
* @returns A new
|
|
220
|
+
* @returns A new Vec2 instance representing a vector with all components set to 1.0.
|
|
210
221
|
*/
|
|
211
|
-
static one():
|
|
222
|
+
static one(): Vec2;
|
|
212
223
|
/**
|
|
213
|
-
* Creates a
|
|
214
|
-
* @
|
|
224
|
+
* Creates a Vec2 from an array.
|
|
225
|
+
* @param {[number, number] | number[]} arr - An array containing the x and y coordinates.
|
|
226
|
+
* @returns {Vec2} A new Vec2 instance.
|
|
215
227
|
*/
|
|
216
|
-
static fromArray(arr: [number, number
|
|
228
|
+
static fromArray(arr: [number, number] | number[]): Vec2;
|
|
217
229
|
/**
|
|
218
|
-
* Creates a
|
|
219
|
-
* @
|
|
230
|
+
* Creates a Vec2 from an object with x and y properties.
|
|
231
|
+
* @param {{ x: number; y: number }} obj - An object with x and y properties.
|
|
232
|
+
* @returns {Vec2} A new Vec2 instance.
|
|
220
233
|
*/
|
|
221
234
|
static fromObject(obj: {
|
|
222
235
|
x: number;
|
|
223
236
|
y: number;
|
|
224
|
-
|
|
225
|
-
w: number;
|
|
226
|
-
}): Vec4;
|
|
237
|
+
}): Vec2;
|
|
227
238
|
/**
|
|
228
|
-
* Creates a
|
|
239
|
+
* Creates a Vec2 instance from a JSON-parsed object.
|
|
229
240
|
* @param json - The JSON-parsed object containing x and y properties.
|
|
230
|
-
* @returns A new
|
|
241
|
+
* @returns A new Vec2 instance.
|
|
231
242
|
*/
|
|
232
243
|
static fromJSON(json: {
|
|
233
244
|
x: number;
|
|
234
245
|
y: number;
|
|
235
|
-
|
|
236
|
-
w: number;
|
|
237
|
-
}): Vec4;
|
|
246
|
+
}): Vec2;
|
|
238
247
|
/**
|
|
239
248
|
* Gets the x-component of the vector.
|
|
240
249
|
* @returns The x-component.
|
|
@@ -251,168 +260,153 @@ export declare class Vec4 {
|
|
|
251
260
|
*/
|
|
252
261
|
get y(): number;
|
|
253
262
|
/**
|
|
254
|
-
* Sets the
|
|
255
|
-
* @param y - The new
|
|
263
|
+
* Sets the y-component of the vector.
|
|
264
|
+
* @param y - The new y-component.
|
|
256
265
|
*/
|
|
257
266
|
set y(y: number);
|
|
258
|
-
/**
|
|
259
|
-
* Gets the z-component of the vector.
|
|
260
|
-
* @returns The z-component.
|
|
261
|
-
*/
|
|
262
|
-
get z(): number;
|
|
263
|
-
/**
|
|
264
|
-
* Sets the z-component of the vector.
|
|
265
|
-
* @param z - The new z-component.
|
|
266
|
-
*/
|
|
267
|
-
set z(z: number);
|
|
268
|
-
/**
|
|
269
|
-
* Gets the w-component of the vector.
|
|
270
|
-
* @returns The w-component.
|
|
271
|
-
*/
|
|
272
|
-
get w(): number;
|
|
273
|
-
/**
|
|
274
|
-
* Sets the w-component of the vector.
|
|
275
|
-
* @param w - The new w-component.
|
|
276
|
-
*/
|
|
277
|
-
set w(w: number);
|
|
278
267
|
/**
|
|
279
268
|
* Gets a copy of the vector's components as an array.
|
|
280
|
-
* @returns An array containing the x
|
|
269
|
+
* @returns An array containing the x and y components of the vector.
|
|
281
270
|
*/
|
|
282
|
-
get
|
|
271
|
+
get xy(): [number, number];
|
|
283
272
|
/**
|
|
284
273
|
* Sets both components of the vector at once.
|
|
285
|
-
* @param
|
|
274
|
+
* @param xy - An array containing the new x and y components.
|
|
286
275
|
*/
|
|
287
|
-
set
|
|
276
|
+
set xy(xy: [number, number] | number[]);
|
|
288
277
|
/**
|
|
289
278
|
* Gets the angle between the vector and the positive x-axis in radians.
|
|
290
279
|
* @returns The angle in radians, always in the range [0, 2π).
|
|
291
280
|
*/
|
|
292
281
|
get angleX(): number;
|
|
282
|
+
/**
|
|
283
|
+
* Sets the angle between the vector and the positive x-axis, maintaining the vector's magnitude.
|
|
284
|
+
* @param phi - The new angle in radians.
|
|
285
|
+
*/
|
|
286
|
+
set angleX(phi: number);
|
|
293
287
|
/**
|
|
294
288
|
* Gets the angle between the vector and the positive y-axis in radians.
|
|
295
289
|
* @returns The angle in radians, always in the range [0, 2π).
|
|
296
290
|
*/
|
|
297
291
|
get angleY(): number;
|
|
298
292
|
/**
|
|
299
|
-
*
|
|
300
|
-
* @
|
|
293
|
+
* Sets the angle between the vector and the positive y-axis, maintaining the vector's magnitude.
|
|
294
|
+
* @param phi - The new angle in radians.
|
|
301
295
|
*/
|
|
302
|
-
|
|
296
|
+
set angleY(phi: number);
|
|
303
297
|
/**
|
|
304
|
-
* Gets the
|
|
305
|
-
* @returns The
|
|
298
|
+
* Gets the magnitude (length) of the vector.
|
|
299
|
+
* @returns The magnitude of the vector.
|
|
306
300
|
*/
|
|
307
|
-
get
|
|
301
|
+
get magnitude(): number;
|
|
308
302
|
/**
|
|
309
303
|
* Sets the magnitude (length) of the vector, maintaining its direction.
|
|
310
304
|
* @param m - The new magnitude.
|
|
311
305
|
*/
|
|
312
|
-
|
|
306
|
+
set magnitude(m: number);
|
|
313
307
|
/**
|
|
314
308
|
* Gets the squared magnitude of the vector.
|
|
315
309
|
* This is faster to compute than the actual magnitude and is useful for comparisons.
|
|
316
310
|
* @returns The squared magnitude of the vector.
|
|
317
311
|
*/
|
|
318
312
|
get magnitudeSq(): number;
|
|
319
|
-
/**
|
|
320
|
-
* Sets the magnitude (length) of the vector, maintaining its direction.
|
|
321
|
-
* @param m - The new magnitude.
|
|
322
|
-
*/
|
|
323
|
-
set magnitude(m: number);
|
|
324
313
|
/**
|
|
325
314
|
* Adds another vector to this vector.
|
|
326
315
|
* @param v - The vector to add.
|
|
327
|
-
* @returns This
|
|
316
|
+
* @returns This Vec2 instance for method chaining.
|
|
328
317
|
*/
|
|
329
|
-
add(v:
|
|
318
|
+
add(v: Vec2): this;
|
|
330
319
|
/**
|
|
331
320
|
* Subtracts another vector from this vector.
|
|
332
321
|
* @param v - The vector to subtract.
|
|
333
|
-
* @returns This
|
|
322
|
+
* @returns This Vec2 instance for method chaining.
|
|
334
323
|
*/
|
|
335
|
-
subtract(v:
|
|
324
|
+
subtract(v: Vec2): this;
|
|
336
325
|
/**
|
|
337
326
|
* Multiplies this vector with another vector.
|
|
338
327
|
* @param v - The vector to multiply with.
|
|
339
|
-
* @returns This
|
|
328
|
+
* @returns This Vec2 instance for method chaining.
|
|
340
329
|
*/
|
|
341
|
-
multiply(v:
|
|
330
|
+
multiply(v: Vec2): this;
|
|
342
331
|
/**
|
|
343
332
|
* Divides this vector with another vector.
|
|
344
333
|
* @param v - The vector to divide with.
|
|
345
|
-
* @returns This
|
|
334
|
+
* @returns This Vec2 instance for method chaining.
|
|
346
335
|
*/
|
|
347
|
-
divide(v:
|
|
336
|
+
divide(v: Vec2): this;
|
|
348
337
|
/**
|
|
349
338
|
* Calculates the angle between this vector and another vector.
|
|
350
339
|
* @param v - The other vector.
|
|
351
340
|
* @returns The angle between the vectors in radians.
|
|
352
341
|
*/
|
|
353
|
-
angleBetween(v:
|
|
342
|
+
angleBetween(v: Vec2): number;
|
|
354
343
|
/**
|
|
355
344
|
* Clamps the magnitude of this vector between a minimum and maximum value.
|
|
356
345
|
* @param min - The minimum magnitude.
|
|
357
346
|
* @param max - The maximum magnitude.
|
|
358
|
-
* @returns This
|
|
347
|
+
* @returns This Vec2 instance for method chaining.
|
|
359
348
|
*/
|
|
360
349
|
clamp(min: number, max: number): this;
|
|
361
350
|
/**
|
|
362
351
|
* Creates a copy of this vector.
|
|
363
|
-
* @returns A new
|
|
352
|
+
* @returns A new Vec2 instance with the same components.
|
|
364
353
|
*/
|
|
365
|
-
clone():
|
|
354
|
+
clone(): Vec2;
|
|
366
355
|
/**
|
|
367
356
|
* Copies the components of another vector to this vector.
|
|
368
357
|
* @param v - The vector to copy from.
|
|
369
358
|
* @returns This Vec2 instance for method chaining.
|
|
370
359
|
*/
|
|
371
|
-
copy(v:
|
|
360
|
+
copy(v: Vec2): this;
|
|
372
361
|
/**
|
|
373
362
|
* Calculates the distance between this vector and another vector.
|
|
374
363
|
* @param v - The other vector.
|
|
375
364
|
* @returns The distance between the vectors.
|
|
376
365
|
*/
|
|
377
|
-
distance(v:
|
|
366
|
+
distance(v: Vec2): number;
|
|
378
367
|
/**
|
|
379
368
|
* Calculates the Chebyshev distance between this vector and another vector.
|
|
380
|
-
* @param v - The
|
|
369
|
+
* @param v - The other vector.
|
|
381
370
|
* @returns The Chebyshev distance between the vectors.
|
|
382
371
|
*/
|
|
383
|
-
distanceChebyshev(v:
|
|
372
|
+
distanceChebyshev(v: Vec2): number;
|
|
384
373
|
/**
|
|
385
374
|
* Calculates the Manhattan distance between this vector and another vector.
|
|
386
375
|
* @param v - The other vector.
|
|
387
376
|
* @returns The Manhattan distance between the vectors.
|
|
388
377
|
*/
|
|
389
|
-
distanceManhattan(v:
|
|
378
|
+
distanceManhattan(v: Vec2): number;
|
|
390
379
|
/**
|
|
391
|
-
* Calculates the Minkowski distance between
|
|
380
|
+
* Calculates the Minkowski distance between this vector and another vector.
|
|
392
381
|
* @param v - The other vector.
|
|
393
382
|
* @param p - The order of the Minkowski distance.
|
|
394
383
|
* @returns The Minkowski distance between the vectors.
|
|
395
384
|
*/
|
|
396
|
-
distanceMinkowski(v:
|
|
385
|
+
distanceMinkowski(v: Vec2, p: number): number;
|
|
397
386
|
/**
|
|
398
387
|
* Calculates the squared distance between this vector and another vector.
|
|
399
388
|
* @param v - The other vector.
|
|
400
389
|
* @returns The squared distance between the vectors.
|
|
401
390
|
*/
|
|
402
|
-
distanceSq(v:
|
|
391
|
+
distanceSq(v: Vec2): number;
|
|
403
392
|
/**
|
|
404
393
|
* Calculates the dot product of this vector with another vector.
|
|
405
394
|
* @param v - The other vector.
|
|
406
395
|
* @returns The dot product of the vectors.
|
|
407
396
|
*/
|
|
408
|
-
dot(v:
|
|
397
|
+
dot(v: Vec2): number;
|
|
398
|
+
/**
|
|
399
|
+
* Calculates the cross product of this vector with another vector.
|
|
400
|
+
* @param v - The other vector.
|
|
401
|
+
* @returns The cross product of the vectors.
|
|
402
|
+
*/
|
|
403
|
+
cross(v: Vec2): number;
|
|
409
404
|
/**
|
|
410
405
|
* Reflects this vector across a normal vector.
|
|
411
|
-
* The normal vector should be normalized (unit length).
|
|
412
406
|
* @param normal - The normal vector to reflect across (must be normalized).
|
|
413
|
-
* @returns
|
|
407
|
+
* @returns A new Vec2 instance representing the reflected vector.
|
|
414
408
|
*/
|
|
415
|
-
reflect(normal:
|
|
409
|
+
reflect(normal: Vec2): Vec2;
|
|
416
410
|
/**
|
|
417
411
|
* Checks if this vector has infinite components.
|
|
418
412
|
* @returns True if the vector has infinite components, false otherwise.
|
|
@@ -437,86 +431,100 @@ export declare class Vec4 {
|
|
|
437
431
|
/**
|
|
438
432
|
* Limits the minimum magnitude of this vector.
|
|
439
433
|
* @param min - The minimum magnitude.
|
|
440
|
-
* @returns This
|
|
434
|
+
* @returns This Vec2 instance for method chaining.
|
|
441
435
|
*/
|
|
442
436
|
limitMin(min: number): this;
|
|
443
437
|
/**
|
|
444
438
|
* Sets this vector to point towards another vector.
|
|
445
439
|
* @param v - The vector to look at.
|
|
446
|
-
* @returns This
|
|
440
|
+
* @returns This Vec2 instance for method chaining.
|
|
447
441
|
*/
|
|
448
|
-
lookAt(v:
|
|
442
|
+
lookAt(v: Vec2): this;
|
|
449
443
|
/**
|
|
450
444
|
* Negates this vector.
|
|
451
|
-
* @returns This
|
|
445
|
+
* @returns This Vec2 instance for method chaining.
|
|
452
446
|
*/
|
|
453
447
|
negate(): this;
|
|
454
448
|
/**
|
|
455
449
|
* Normalizes this vector.
|
|
456
|
-
* @returns This
|
|
450
|
+
* @returns This Vec2 instance for method chaining.
|
|
457
451
|
*/
|
|
458
452
|
normalize(): this;
|
|
459
453
|
/**
|
|
460
454
|
* Projects this vector onto another vector.
|
|
461
455
|
* @param v - The vector to project onto.
|
|
462
|
-
* @returns This
|
|
456
|
+
* @returns This Vec2 instance for method chaining.
|
|
463
457
|
*/
|
|
464
|
-
project(v:
|
|
458
|
+
project(v: Vec2): this;
|
|
465
459
|
/**
|
|
466
460
|
* Sets this vector to a random direction with the same magnitude.
|
|
467
461
|
* @param random - A function that returns a random number between 0 and 1.
|
|
468
|
-
* @returns This
|
|
462
|
+
* @returns This Vec2 instance for method chaining.
|
|
469
463
|
*/
|
|
470
464
|
random(random?: () => number): this;
|
|
465
|
+
/**
|
|
466
|
+
* Rotates this vector around the Z-axis.
|
|
467
|
+
* @param phi - The angle of rotation in radians.
|
|
468
|
+
* @returns This Vec2 instance for method chaining.
|
|
469
|
+
*/
|
|
470
|
+
rotateZ(phi: number): this;
|
|
471
471
|
/**
|
|
472
472
|
* Checks if this vector is equal to another vector.
|
|
473
473
|
* @param v - The other vector.
|
|
474
474
|
* @returns True if the vectors are equal, false otherwise.
|
|
475
475
|
*/
|
|
476
|
-
satisfyEquality(v:
|
|
476
|
+
satisfyEquality(v: Vec2): boolean;
|
|
477
477
|
/**
|
|
478
478
|
* Checks if this vector is opposite to another vector.
|
|
479
479
|
* @param v - The other vector.
|
|
480
480
|
* @returns True if the vectors are opposite, false otherwise.
|
|
481
481
|
*/
|
|
482
|
-
satisfyOpposition(v:
|
|
482
|
+
satisfyOpposition(v: Vec2): boolean;
|
|
483
483
|
/**
|
|
484
484
|
* Compares this vector with another vector using an epsilon value for floating-point comparison.
|
|
485
485
|
* @param v - The vector to compare with.
|
|
486
486
|
* @param epsilon - The maximum difference between components to consider them equal.
|
|
487
487
|
* @returns True if the vectors are equal within epsilon, false otherwise.
|
|
488
488
|
*/
|
|
489
|
-
equals(v:
|
|
489
|
+
equals(v: Vec2, epsilon?: number): boolean;
|
|
490
490
|
/**
|
|
491
491
|
* Scales this vector by a scalar value.
|
|
492
492
|
* @param c - The scalar value.
|
|
493
|
-
* @returns This
|
|
493
|
+
* @returns This Vec2 instance for method chaining.
|
|
494
494
|
*/
|
|
495
495
|
scale(c: number): this;
|
|
496
|
+
/**
|
|
497
|
+
* Rotates this vector 90 degrees to the left.
|
|
498
|
+
* @returns This Vec2 instance for method chaining.
|
|
499
|
+
*/
|
|
500
|
+
turnLeft(): this;
|
|
501
|
+
/**
|
|
502
|
+
* Rotates this vector 90 degrees to the right.
|
|
503
|
+
* @returns This Vec2 instance for method chaining.
|
|
504
|
+
*/
|
|
505
|
+
turnRight(): this;
|
|
496
506
|
/**
|
|
497
507
|
* Sets this vector to zero.
|
|
498
|
-
* @returns This
|
|
508
|
+
* @returns This Vec2 instance for method chaining.
|
|
499
509
|
*/
|
|
500
510
|
zero(): this;
|
|
501
511
|
/**
|
|
502
|
-
* Makes the
|
|
503
|
-
* @yields The x
|
|
512
|
+
* Makes the Vec2 instance iterable.
|
|
513
|
+
* @yields The x and y components of the vector.
|
|
504
514
|
*/
|
|
505
515
|
[Symbol.iterator](): IterableIterator<number>;
|
|
506
516
|
/**
|
|
507
517
|
* Returns a string representation of the vector.
|
|
508
|
-
* @returns A string in the format "
|
|
518
|
+
* @returns A string in the format "Vec2(x, y)".
|
|
509
519
|
*/
|
|
510
520
|
toString(): string;
|
|
511
521
|
/**
|
|
512
522
|
* Converts the vector to a plain object.
|
|
513
|
-
* @returns An object with x
|
|
523
|
+
* @returns An object with x and y properties.
|
|
514
524
|
*/
|
|
515
525
|
toObject(): {
|
|
516
526
|
x: number;
|
|
517
527
|
y: number;
|
|
518
|
-
z: number;
|
|
519
|
-
w: number;
|
|
520
528
|
};
|
|
521
529
|
/**
|
|
522
530
|
* Serializes the vector to a JSON-friendly format.
|