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