@vived/core 1.2.2 → 1.2.3

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 (570) hide show
  1. package/dist/cjs/AppObject/AppObject.js +59 -0
  2. package/dist/cjs/AppObject/AppObject.js.map +1 -0
  3. package/dist/cjs/AppObject/AppObject.test.js +113 -0
  4. package/dist/cjs/AppObject/AppObject.test.js.map +1 -0
  5. package/dist/cjs/AppObject/AppObjectComponent.js +82 -0
  6. package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -0
  7. package/dist/cjs/AppObject/AppObjectComponent.test.js +132 -0
  8. package/dist/cjs/AppObject/AppObjectComponent.test.js.map +1 -0
  9. package/dist/cjs/AppObject/AppObjectController.js +12 -0
  10. package/dist/cjs/AppObject/AppObjectController.js.map +1 -0
  11. package/dist/cjs/AppObject/AppObjectEntity.js +38 -0
  12. package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -0
  13. package/dist/cjs/AppObject/AppObjectEntity.test.js +108 -0
  14. package/dist/cjs/AppObject/AppObjectEntity.test.js.map +1 -0
  15. package/dist/cjs/AppObject/AppObjectEntityRepo.js +56 -0
  16. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -0
  17. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js +149 -0
  18. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  19. package/dist/cjs/AppObject/AppObjectPM.js +40 -0
  20. package/dist/cjs/AppObject/AppObjectPM.js.map +1 -0
  21. package/dist/cjs/AppObject/AppObjectPM.test.js +103 -0
  22. package/dist/cjs/AppObject/AppObjectPM.test.js.map +1 -0
  23. package/dist/cjs/AppObject/AppObjectRepo.js +133 -0
  24. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -0
  25. package/dist/cjs/AppObject/AppObjectRepo.test.js +213 -0
  26. package/dist/cjs/AppObject/AppObjectRepo.test.js.map +1 -0
  27. package/dist/cjs/AppObject/AppObjectUC.js +12 -0
  28. package/dist/cjs/AppObject/AppObjectUC.js.map +1 -0
  29. package/dist/cjs/AppObject/AppObjectView.js +12 -0
  30. package/dist/cjs/AppObject/AppObjectView.js.map +1 -0
  31. package/dist/cjs/AppObject/getSingletonComponent.js +7 -0
  32. package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -0
  33. package/dist/cjs/AppObject/getSingletonComponent.test.js +13 -0
  34. package/dist/cjs/AppObject/getSingletonComponent.test.js.map +1 -0
  35. package/dist/cjs/AppObject/index.js +27 -0
  36. package/dist/cjs/AppObject/index.js.map +1 -0
  37. package/dist/cjs/AppObject/printAppObjectDetails.js +18 -0
  38. package/dist/cjs/AppObject/printAppObjectDetails.js.map +1 -0
  39. package/dist/cjs/Entities/MemoizedAngle.js +23 -0
  40. package/dist/cjs/Entities/MemoizedAngle.js.map +1 -0
  41. package/dist/cjs/Entities/MemoizedAngle.test.js +30 -0
  42. package/dist/cjs/Entities/MemoizedAngle.test.js.map +1 -0
  43. package/dist/cjs/Entities/MemoizedBoolean.js +23 -0
  44. package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -0
  45. package/dist/cjs/Entities/MemoizedBoolean.test.js +34 -0
  46. package/dist/cjs/Entities/MemoizedBoolean.test.js.map +1 -0
  47. package/dist/cjs/Entities/MemoizedColor.js +24 -0
  48. package/dist/cjs/Entities/MemoizedColor.js.map +1 -0
  49. package/dist/cjs/Entities/MemoizedColor.test.js +32 -0
  50. package/dist/cjs/Entities/MemoizedColor.test.js.map +1 -0
  51. package/dist/cjs/Entities/MemoizedNumber.js +23 -0
  52. package/dist/cjs/Entities/MemoizedNumber.js.map +1 -0
  53. package/dist/cjs/Entities/MemoizedNumber.test.js +29 -0
  54. package/dist/cjs/Entities/MemoizedNumber.test.js.map +1 -0
  55. package/dist/cjs/Entities/MemoizedQuaternion.js +24 -0
  56. package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -0
  57. package/dist/cjs/Entities/MemoizedQuaternion.test.js +32 -0
  58. package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +1 -0
  59. package/dist/cjs/Entities/MemoizedString.js +23 -0
  60. package/dist/cjs/Entities/MemoizedString.js.map +1 -0
  61. package/dist/cjs/Entities/MemoizedString.test.js +29 -0
  62. package/dist/cjs/Entities/MemoizedString.test.js.map +1 -0
  63. package/dist/cjs/Entities/MemoizedVector2.js +24 -0
  64. package/dist/cjs/Entities/MemoizedVector2.js.map +1 -0
  65. package/dist/cjs/Entities/MemoizedVector2.test.js +32 -0
  66. package/dist/cjs/Entities/MemoizedVector2.test.js.map +1 -0
  67. package/dist/cjs/Entities/MemoizedVector3.js +24 -0
  68. package/dist/cjs/Entities/MemoizedVector3.js.map +1 -0
  69. package/dist/cjs/Entities/MemoizedVector3.test.js +32 -0
  70. package/dist/cjs/Entities/MemoizedVector3.test.js.map +1 -0
  71. package/dist/cjs/Entities/ObservableEntity.js +20 -0
  72. package/dist/cjs/Entities/ObservableEntity.js.map +1 -0
  73. package/dist/cjs/Entities/ObservableEntity.test.js +25 -0
  74. package/dist/cjs/Entities/ObservableEntity.test.js.map +1 -0
  75. package/dist/cjs/Entities/ObserverList.js +27 -0
  76. package/dist/cjs/Entities/ObserverList.js.map +1 -0
  77. package/dist/cjs/Entities/ObserverList.test.js +44 -0
  78. package/dist/cjs/Entities/ObserverList.test.js.map +1 -0
  79. package/dist/cjs/Entities/RangedNumber.js +36 -0
  80. package/dist/cjs/Entities/RangedNumber.js.map +1 -0
  81. package/dist/cjs/Entities/RangedNumber.test.js +96 -0
  82. package/dist/cjs/Entities/RangedNumber.test.js.map +1 -0
  83. package/dist/cjs/Entities/index.js +28 -0
  84. package/dist/cjs/Entities/index.js.map +1 -0
  85. package/dist/cjs/Types/AppBoundary.js +3 -0
  86. package/dist/cjs/Types/AppBoundary.js.map +1 -0
  87. package/dist/cjs/Types/EaseFn.js +3 -0
  88. package/dist/cjs/Types/EaseFn.js.map +1 -0
  89. package/dist/cjs/Types/PmAdapter.js +3 -0
  90. package/dist/cjs/Types/PmAdapter.js.map +1 -0
  91. package/dist/cjs/Types/SingletonPmAdapter.js +3 -0
  92. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -0
  93. package/dist/cjs/Types/index.js +21 -0
  94. package/dist/cjs/Types/index.js.map +1 -0
  95. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  96. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  97. package/dist/cjs/Utilities/LengthConverters.test.js +24 -0
  98. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -0
  99. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  100. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  101. package/dist/cjs/Utilities/LerpNumber.test.js +90 -0
  102. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -0
  103. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  104. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  105. package/dist/cjs/Utilities/degreesToRadians.test.js +9 -0
  106. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -0
  107. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  108. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  109. package/dist/cjs/Utilities/easeFunctions.test.js +209 -0
  110. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -0
  111. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  112. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  113. package/dist/cjs/Utilities/index.js +22 -0
  114. package/dist/cjs/Utilities/index.js.map +1 -0
  115. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  116. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  117. package/dist/cjs/Utilities/interpolateNumber.test.js +26 -0
  118. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -0
  119. package/dist/cjs/ValueObjects/Angle.js +47 -0
  120. package/dist/cjs/ValueObjects/Angle.js.map +1 -0
  121. package/dist/cjs/ValueObjects/Angle.test.js +28 -0
  122. package/dist/cjs/ValueObjects/Angle.test.js.map +1 -0
  123. package/dist/cjs/ValueObjects/Color.js +859 -0
  124. package/dist/cjs/ValueObjects/Color.js.map +1 -0
  125. package/dist/cjs/ValueObjects/Color.test.js +147 -0
  126. package/dist/cjs/ValueObjects/Color.test.js.map +1 -0
  127. package/dist/cjs/ValueObjects/LineSegment2D.js +72 -0
  128. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -0
  129. package/dist/cjs/ValueObjects/LineSegment2D.test.js +102 -0
  130. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +1 -0
  131. package/dist/cjs/ValueObjects/Matrix.js +466 -0
  132. package/dist/cjs/ValueObjects/Matrix.js.map +1 -0
  133. package/dist/cjs/ValueObjects/Matrix.test.js +385 -0
  134. package/dist/cjs/ValueObjects/Matrix.test.js.map +1 -0
  135. package/dist/cjs/ValueObjects/ParametricLine.js +77 -0
  136. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -0
  137. package/dist/cjs/ValueObjects/ParametricLine.test.js +126 -0
  138. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +1 -0
  139. package/dist/cjs/ValueObjects/ParametricPlane.js +65 -0
  140. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -0
  141. package/dist/cjs/ValueObjects/ParametricPlane.test.js +101 -0
  142. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +1 -0
  143. package/dist/cjs/ValueObjects/Quaternion.js +290 -0
  144. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -0
  145. package/dist/cjs/ValueObjects/Quaternion.test.js +240 -0
  146. package/dist/cjs/ValueObjects/Quaternion.test.js.map +1 -0
  147. package/dist/cjs/ValueObjects/Rectangle.js +24 -0
  148. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -0
  149. package/dist/cjs/ValueObjects/Rectangle.test.js +32 -0
  150. package/dist/cjs/ValueObjects/Rectangle.test.js.map +1 -0
  151. package/dist/cjs/ValueObjects/Vector2.js +184 -0
  152. package/dist/cjs/ValueObjects/Vector2.js.map +1 -0
  153. package/dist/cjs/ValueObjects/Vector2.test.js +136 -0
  154. package/dist/cjs/ValueObjects/Vector2.test.js.map +1 -0
  155. package/dist/cjs/ValueObjects/Vector3.js +231 -0
  156. package/dist/cjs/ValueObjects/Vector3.js.map +1 -0
  157. package/dist/cjs/ValueObjects/Vector3.test.js +188 -0
  158. package/dist/cjs/ValueObjects/Vector3.test.js.map +1 -0
  159. package/dist/cjs/ValueObjects/index.js +27 -0
  160. package/dist/cjs/ValueObjects/index.js.map +1 -0
  161. package/dist/cjs/index.js +22 -0
  162. package/dist/cjs/index.js.map +1 -0
  163. package/dist/esm/AppObject/AppObject.js +54 -0
  164. package/dist/esm/AppObject/AppObject.js.map +1 -0
  165. package/dist/esm/AppObject/AppObject.test.js +110 -0
  166. package/dist/esm/AppObject/AppObject.test.js.map +1 -0
  167. package/dist/esm/AppObject/AppObjectComponent.js +78 -0
  168. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -0
  169. package/dist/esm/AppObject/AppObjectComponent.test.js +130 -0
  170. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -0
  171. package/dist/esm/AppObject/AppObjectController.js +8 -0
  172. package/dist/esm/AppObject/AppObjectController.js.map +1 -0
  173. package/dist/esm/AppObject/AppObjectEntity.js +34 -0
  174. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -0
  175. package/dist/esm/AppObject/AppObjectEntity.test.js +106 -0
  176. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -0
  177. package/dist/esm/AppObject/AppObjectEntityRepo.js +52 -0
  178. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -0
  179. package/dist/esm/AppObject/AppObjectEntityRepo.test.js +147 -0
  180. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  181. package/dist/esm/AppObject/AppObjectPM.js +36 -0
  182. package/dist/esm/AppObject/AppObjectPM.js.map +1 -0
  183. package/dist/esm/AppObject/AppObjectPM.test.js +101 -0
  184. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -0
  185. package/dist/esm/AppObject/AppObjectRepo.js +128 -0
  186. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -0
  187. package/dist/esm/AppObject/AppObjectRepo.test.js +211 -0
  188. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -0
  189. package/dist/esm/AppObject/AppObjectUC.js +8 -0
  190. package/dist/esm/AppObject/AppObjectUC.js.map +1 -0
  191. package/dist/esm/AppObject/AppObjectView.js +8 -0
  192. package/dist/esm/AppObject/AppObjectView.js.map +1 -0
  193. package/dist/esm/AppObject/getSingletonComponent.js +4 -0
  194. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -0
  195. package/dist/esm/AppObject/getSingletonComponent.test.js +11 -0
  196. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -0
  197. package/dist/esm/AppObject/index.js +11 -0
  198. package/dist/esm/AppObject/index.js.map +1 -0
  199. package/dist/esm/AppObject/printAppObjectDetails.js +15 -0
  200. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -0
  201. package/dist/esm/Entities/MemoizedAngle.js +19 -0
  202. package/dist/esm/Entities/MemoizedAngle.js.map +1 -0
  203. package/dist/esm/Entities/MemoizedAngle.test.js +28 -0
  204. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -0
  205. package/dist/esm/Entities/MemoizedBoolean.js +19 -0
  206. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -0
  207. package/dist/esm/Entities/MemoizedBoolean.test.js +32 -0
  208. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -0
  209. package/dist/esm/Entities/MemoizedColor.js +20 -0
  210. package/dist/esm/Entities/MemoizedColor.js.map +1 -0
  211. package/dist/esm/Entities/MemoizedColor.test.js +30 -0
  212. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -0
  213. package/dist/esm/Entities/MemoizedNumber.js +19 -0
  214. package/dist/esm/Entities/MemoizedNumber.js.map +1 -0
  215. package/dist/esm/Entities/MemoizedNumber.test.js +27 -0
  216. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -0
  217. package/dist/esm/Entities/MemoizedQuaternion.js +20 -0
  218. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -0
  219. package/dist/esm/Entities/MemoizedQuaternion.test.js +30 -0
  220. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -0
  221. package/dist/esm/Entities/MemoizedString.js +19 -0
  222. package/dist/esm/Entities/MemoizedString.js.map +1 -0
  223. package/dist/esm/Entities/MemoizedString.test.js +27 -0
  224. package/dist/esm/Entities/MemoizedString.test.js.map +1 -0
  225. package/dist/esm/Entities/MemoizedVector2.js +20 -0
  226. package/dist/esm/Entities/MemoizedVector2.js.map +1 -0
  227. package/dist/esm/Entities/MemoizedVector2.test.js +30 -0
  228. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -0
  229. package/dist/esm/Entities/MemoizedVector3.js +20 -0
  230. package/dist/esm/Entities/MemoizedVector3.js.map +1 -0
  231. package/dist/esm/Entities/MemoizedVector3.test.js +30 -0
  232. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -0
  233. package/dist/esm/Entities/ObservableEntity.js +16 -0
  234. package/dist/esm/Entities/ObservableEntity.js.map +1 -0
  235. package/dist/esm/Entities/ObservableEntity.test.js +23 -0
  236. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -0
  237. package/dist/esm/Entities/ObserverList.js +23 -0
  238. package/dist/esm/Entities/ObserverList.js.map +1 -0
  239. package/dist/esm/Entities/ObserverList.test.js +42 -0
  240. package/dist/esm/Entities/ObserverList.test.js.map +1 -0
  241. package/dist/esm/Entities/RangedNumber.js +32 -0
  242. package/dist/esm/Entities/RangedNumber.js.map +1 -0
  243. package/dist/esm/Entities/RangedNumber.test.js +94 -0
  244. package/dist/esm/Entities/RangedNumber.test.js.map +1 -0
  245. package/{src/Entities/index.ts → dist/esm/Entities/index.js} +12 -11
  246. package/dist/esm/Entities/index.js.map +1 -0
  247. package/dist/esm/Types/AppBoundary.js +2 -0
  248. package/dist/esm/Types/AppBoundary.js.map +1 -0
  249. package/dist/esm/Types/EaseFn.js +2 -0
  250. package/dist/esm/Types/EaseFn.js.map +1 -0
  251. package/dist/esm/Types/PmAdapter.js +2 -0
  252. package/dist/esm/Types/PmAdapter.js.map +1 -0
  253. package/dist/esm/Types/SingletonPmAdapter.js +2 -0
  254. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -0
  255. package/{src/Types/index.ts → dist/esm/Types/index.js} +5 -4
  256. package/dist/esm/Types/index.js.map +1 -0
  257. package/dist/esm/Utilities/LengthConverters.js +15 -0
  258. package/dist/esm/Utilities/LengthConverters.js.map +1 -0
  259. package/dist/esm/Utilities/LengthConverters.test.js +22 -0
  260. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -0
  261. package/dist/esm/Utilities/LerpNumber.js +81 -0
  262. package/dist/esm/Utilities/LerpNumber.js.map +1 -0
  263. package/dist/esm/Utilities/LerpNumber.test.js +88 -0
  264. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -0
  265. package/dist/esm/Utilities/degreesToRadians.js +4 -0
  266. package/dist/esm/Utilities/degreesToRadians.js.map +1 -0
  267. package/dist/esm/Utilities/degreesToRadians.test.js +7 -0
  268. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -0
  269. package/dist/esm/Utilities/easeFunctions.js +183 -0
  270. package/dist/esm/Utilities/easeFunctions.js.map +1 -0
  271. package/dist/esm/Utilities/easeFunctions.test.js +207 -0
  272. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -0
  273. package/dist/esm/Utilities/generateUniqueID.js +5 -0
  274. package/dist/esm/Utilities/generateUniqueID.js.map +1 -0
  275. package/{src/Utilities/index.ts → dist/esm/Utilities/index.js} +6 -6
  276. package/dist/esm/Utilities/index.js.map +1 -0
  277. package/dist/esm/Utilities/interpolateNumber.js +15 -0
  278. package/dist/esm/Utilities/interpolateNumber.js.map +1 -0
  279. package/dist/esm/Utilities/interpolateNumber.test.js +24 -0
  280. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -0
  281. package/dist/esm/ValueObjects/Angle.js +43 -0
  282. package/dist/esm/ValueObjects/Angle.js.map +1 -0
  283. package/dist/esm/ValueObjects/Angle.test.js +26 -0
  284. package/dist/esm/ValueObjects/Angle.test.js.map +1 -0
  285. package/dist/esm/ValueObjects/Color.js +855 -0
  286. package/dist/esm/ValueObjects/Color.js.map +1 -0
  287. package/dist/esm/ValueObjects/Color.test.js +145 -0
  288. package/dist/esm/ValueObjects/Color.test.js.map +1 -0
  289. package/dist/esm/ValueObjects/LineSegment2D.js +68 -0
  290. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -0
  291. package/dist/esm/ValueObjects/LineSegment2D.test.js +100 -0
  292. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -0
  293. package/dist/esm/ValueObjects/Matrix.js +462 -0
  294. package/dist/esm/ValueObjects/Matrix.js.map +1 -0
  295. package/dist/esm/ValueObjects/Matrix.test.js +383 -0
  296. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -0
  297. package/dist/esm/ValueObjects/ParametricLine.js +73 -0
  298. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -0
  299. package/dist/esm/ValueObjects/ParametricLine.test.js +124 -0
  300. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -0
  301. package/dist/esm/ValueObjects/ParametricPlane.js +61 -0
  302. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -0
  303. package/dist/esm/ValueObjects/ParametricPlane.test.js +99 -0
  304. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -0
  305. package/dist/esm/ValueObjects/Quaternion.js +286 -0
  306. package/dist/esm/ValueObjects/Quaternion.js.map +1 -0
  307. package/dist/esm/ValueObjects/Quaternion.test.js +238 -0
  308. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -0
  309. package/dist/esm/ValueObjects/Rectangle.js +20 -0
  310. package/dist/esm/ValueObjects/Rectangle.js.map +1 -0
  311. package/dist/esm/ValueObjects/Rectangle.test.js +30 -0
  312. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -0
  313. package/dist/esm/ValueObjects/Vector2.js +180 -0
  314. package/dist/esm/ValueObjects/Vector2.js.map +1 -0
  315. package/dist/esm/ValueObjects/Vector2.test.js +134 -0
  316. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -0
  317. package/dist/esm/ValueObjects/Vector3.js +227 -0
  318. package/dist/esm/ValueObjects/Vector3.js.map +1 -0
  319. package/dist/esm/ValueObjects/Vector3.test.js +186 -0
  320. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -0
  321. package/{src/ValueObjects/index.ts → dist/esm/ValueObjects/index.js} +11 -14
  322. package/dist/esm/ValueObjects/index.js.map +1 -0
  323. package/{src/index.ts → dist/esm/index.js} +6 -5
  324. package/dist/esm/index.js.map +1 -0
  325. package/dist/types/AppObject/AppObject.d.ts +15 -0
  326. package/dist/types/AppObject/AppObject.d.ts.map +1 -0
  327. package/dist/types/AppObject/AppObject.test.d.ts +7 -0
  328. package/dist/types/AppObject/AppObject.test.d.ts.map +1 -0
  329. package/dist/types/AppObject/AppObjectComponent.d.ts +26 -0
  330. package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -0
  331. package/dist/types/AppObject/AppObjectComponent.test.d.ts +2 -0
  332. package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +1 -0
  333. package/dist/types/AppObject/AppObjectController.d.ts +5 -0
  334. package/dist/types/AppObject/AppObjectController.d.ts.map +1 -0
  335. package/dist/types/AppObject/AppObjectEntity.d.ts +16 -0
  336. package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -0
  337. package/dist/types/AppObject/AppObjectEntity.test.d.ts +2 -0
  338. package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +1 -0
  339. package/dist/types/AppObject/AppObjectEntityRepo.d.ts +16 -0
  340. package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -0
  341. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts +2 -0
  342. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +1 -0
  343. package/dist/types/AppObject/AppObjectPM.d.ts +13 -0
  344. package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -0
  345. package/dist/types/AppObject/AppObjectPM.test.d.ts +2 -0
  346. package/dist/types/AppObject/AppObjectPM.test.d.ts.map +1 -0
  347. package/dist/types/AppObject/AppObjectRepo.d.ts +26 -0
  348. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -0
  349. package/dist/types/AppObject/AppObjectRepo.test.d.ts +2 -0
  350. package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +1 -0
  351. package/dist/types/AppObject/AppObjectUC.d.ts +5 -0
  352. package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -0
  353. package/dist/types/AppObject/AppObjectView.d.ts +5 -0
  354. package/dist/types/AppObject/AppObjectView.d.ts.map +1 -0
  355. package/dist/types/AppObject/getSingletonComponent.d.ts +4 -0
  356. package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -0
  357. package/dist/types/AppObject/getSingletonComponent.test.d.ts +2 -0
  358. package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +1 -0
  359. package/dist/types/AppObject/index.d.ts +11 -0
  360. package/dist/types/AppObject/index.d.ts.map +1 -0
  361. package/dist/types/AppObject/printAppObjectDetails.d.ts +3 -0
  362. package/dist/types/AppObject/printAppObjectDetails.d.ts.map +1 -0
  363. package/dist/types/Entities/MemoizedAngle.d.ts +10 -0
  364. package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -0
  365. package/dist/types/Entities/MemoizedAngle.test.d.ts +2 -0
  366. package/dist/types/Entities/MemoizedAngle.test.d.ts.map +1 -0
  367. package/dist/types/Entities/MemoizedBoolean.d.ts +9 -0
  368. package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -0
  369. package/dist/types/Entities/MemoizedBoolean.test.d.ts +2 -0
  370. package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +1 -0
  371. package/dist/types/Entities/MemoizedColor.d.ts +10 -0
  372. package/dist/types/Entities/MemoizedColor.d.ts.map +1 -0
  373. package/dist/types/Entities/MemoizedColor.test.d.ts +2 -0
  374. package/dist/types/Entities/MemoizedColor.test.d.ts.map +1 -0
  375. package/dist/types/Entities/MemoizedNumber.d.ts +9 -0
  376. package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -0
  377. package/dist/types/Entities/MemoizedNumber.test.d.ts +2 -0
  378. package/dist/types/Entities/MemoizedNumber.test.d.ts.map +1 -0
  379. package/dist/types/Entities/MemoizedQuaternion.d.ts +10 -0
  380. package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -0
  381. package/dist/types/Entities/MemoizedQuaternion.test.d.ts +2 -0
  382. package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +1 -0
  383. package/dist/types/Entities/MemoizedString.d.ts +9 -0
  384. package/dist/types/Entities/MemoizedString.d.ts.map +1 -0
  385. package/dist/types/Entities/MemoizedString.test.d.ts +2 -0
  386. package/dist/types/Entities/MemoizedString.test.d.ts.map +1 -0
  387. package/dist/types/Entities/MemoizedVector2.d.ts +10 -0
  388. package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -0
  389. package/dist/types/Entities/MemoizedVector2.test.d.ts +2 -0
  390. package/dist/types/Entities/MemoizedVector2.test.d.ts.map +1 -0
  391. package/dist/types/Entities/MemoizedVector3.d.ts +10 -0
  392. package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -0
  393. package/dist/types/Entities/MemoizedVector3.test.d.ts +2 -0
  394. package/dist/types/Entities/MemoizedVector3.test.d.ts.map +1 -0
  395. package/dist/types/Entities/ObservableEntity.d.ts +8 -0
  396. package/dist/types/Entities/ObservableEntity.d.ts.map +1 -0
  397. package/dist/types/Entities/ObservableEntity.test.d.ts +2 -0
  398. package/dist/types/Entities/ObservableEntity.test.d.ts.map +1 -0
  399. package/dist/types/Entities/ObserverList.d.ts +8 -0
  400. package/dist/types/Entities/ObserverList.d.ts.map +1 -0
  401. package/dist/types/Entities/ObserverList.test.d.ts +2 -0
  402. package/dist/types/Entities/ObserverList.test.d.ts.map +1 -0
  403. package/dist/types/Entities/RangedNumber.d.ts +17 -0
  404. package/dist/types/Entities/RangedNumber.d.ts.map +1 -0
  405. package/dist/types/Entities/RangedNumber.test.d.ts +2 -0
  406. package/dist/types/Entities/RangedNumber.test.d.ts.map +1 -0
  407. package/dist/types/Entities/index.d.ts +12 -0
  408. package/dist/types/Entities/index.d.ts.map +1 -0
  409. package/dist/types/Types/AppBoundary.d.ts +11 -0
  410. package/dist/types/Types/AppBoundary.d.ts.map +1 -0
  411. package/dist/types/Types/EaseFn.d.ts +2 -0
  412. package/dist/types/Types/EaseFn.d.ts.map +1 -0
  413. package/dist/types/Types/PmAdapter.d.ts +7 -0
  414. package/dist/types/Types/PmAdapter.d.ts.map +1 -0
  415. package/dist/types/Types/SingletonPmAdapter.d.ts +7 -0
  416. package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -0
  417. package/dist/types/Types/index.d.ts +5 -0
  418. package/dist/types/Types/index.d.ts.map +1 -0
  419. package/dist/types/Utilities/LengthConverters.d.ts +5 -0
  420. package/dist/types/Utilities/LengthConverters.d.ts.map +1 -0
  421. package/dist/types/Utilities/LengthConverters.test.d.ts +2 -0
  422. package/dist/types/Utilities/LengthConverters.test.d.ts.map +1 -0
  423. package/dist/types/Utilities/LerpNumber.d.ts +57 -0
  424. package/dist/types/Utilities/LerpNumber.d.ts.map +1 -0
  425. package/dist/types/Utilities/LerpNumber.test.d.ts +2 -0
  426. package/dist/types/Utilities/LerpNumber.test.d.ts.map +1 -0
  427. package/dist/types/Utilities/degreesToRadians.d.ts +2 -0
  428. package/dist/types/Utilities/degreesToRadians.d.ts.map +1 -0
  429. package/dist/types/Utilities/degreesToRadians.test.d.ts +2 -0
  430. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +1 -0
  431. package/dist/types/Utilities/easeFunctions.d.ts +24 -0
  432. package/dist/types/Utilities/easeFunctions.d.ts.map +1 -0
  433. package/dist/types/Utilities/easeFunctions.test.d.ts +2 -0
  434. package/dist/types/Utilities/easeFunctions.test.d.ts.map +1 -0
  435. package/dist/types/Utilities/generateUniqueID.d.ts +2 -0
  436. package/dist/types/Utilities/generateUniqueID.d.ts.map +1 -0
  437. package/dist/types/Utilities/index.d.ts +6 -0
  438. package/dist/types/Utilities/index.d.ts.map +1 -0
  439. package/dist/types/Utilities/interpolateNumber.d.ts +2 -0
  440. package/dist/types/Utilities/interpolateNumber.d.ts.map +1 -0
  441. package/dist/types/Utilities/interpolateNumber.test.d.ts +2 -0
  442. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +1 -0
  443. package/dist/types/ValueObjects/Angle.d.ts +27 -0
  444. package/dist/types/ValueObjects/Angle.d.ts.map +1 -0
  445. package/dist/types/ValueObjects/Angle.test.d.ts +2 -0
  446. package/dist/types/ValueObjects/Angle.test.d.ts.map +1 -0
  447. package/dist/types/ValueObjects/Color.d.ts +83 -0
  448. package/dist/types/ValueObjects/Color.d.ts.map +1 -0
  449. package/dist/types/ValueObjects/Color.test.d.ts +2 -0
  450. package/dist/types/ValueObjects/Color.test.d.ts.map +1 -0
  451. package/dist/types/ValueObjects/LineSegment2D.d.ts +12 -0
  452. package/dist/types/ValueObjects/LineSegment2D.d.ts.map +1 -0
  453. package/dist/types/ValueObjects/LineSegment2D.test.d.ts +2 -0
  454. package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +1 -0
  455. package/dist/types/ValueObjects/Matrix.d.ts +124 -0
  456. package/dist/types/ValueObjects/Matrix.d.ts.map +1 -0
  457. package/dist/types/ValueObjects/Matrix.test.d.ts +2 -0
  458. package/dist/types/ValueObjects/Matrix.test.d.ts.map +1 -0
  459. package/dist/types/ValueObjects/ParametricLine.d.ts +31 -0
  460. package/dist/types/ValueObjects/ParametricLine.d.ts.map +1 -0
  461. package/dist/types/ValueObjects/ParametricLine.test.d.ts +2 -0
  462. package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +1 -0
  463. package/dist/types/ValueObjects/ParametricPlane.d.ts +21 -0
  464. package/dist/types/ValueObjects/ParametricPlane.d.ts.map +1 -0
  465. package/dist/types/ValueObjects/ParametricPlane.test.d.ts +2 -0
  466. package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +1 -0
  467. package/dist/types/ValueObjects/Quaternion.d.ts +113 -0
  468. package/dist/types/ValueObjects/Quaternion.d.ts.map +1 -0
  469. package/dist/types/ValueObjects/Quaternion.test.d.ts +2 -0
  470. package/dist/types/ValueObjects/Quaternion.test.d.ts.map +1 -0
  471. package/dist/types/ValueObjects/Rectangle.d.ts +16 -0
  472. package/dist/types/ValueObjects/Rectangle.d.ts.map +1 -0
  473. package/dist/types/ValueObjects/Rectangle.test.d.ts +2 -0
  474. package/dist/types/ValueObjects/Rectangle.test.d.ts.map +1 -0
  475. package/dist/types/ValueObjects/Vector2.d.ts +121 -0
  476. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -0
  477. package/dist/types/ValueObjects/Vector2.test.d.ts +2 -0
  478. package/dist/types/ValueObjects/Vector2.test.d.ts.map +1 -0
  479. package/dist/types/ValueObjects/Vector3.d.ts +150 -0
  480. package/dist/types/ValueObjects/Vector3.d.ts.map +1 -0
  481. package/dist/types/ValueObjects/Vector3.test.d.ts +2 -0
  482. package/dist/types/ValueObjects/Vector3.test.d.ts.map +1 -0
  483. package/dist/types/ValueObjects/index.d.ts +11 -0
  484. package/dist/types/ValueObjects/index.d.ts.map +1 -0
  485. package/dist/types/index.d.ts +6 -0
  486. package/dist/types/index.d.ts.map +1 -0
  487. package/package.json +5 -2
  488. package/babel.config.js +0 -12
  489. package/jestconfig.json +0 -10
  490. package/src/AppObject/AppObject.test.ts +0 -158
  491. package/src/AppObject/AppObject.ts +0 -83
  492. package/src/AppObject/AppObjectComponent.test.ts +0 -219
  493. package/src/AppObject/AppObjectComponent.ts +0 -100
  494. package/src/AppObject/AppObjectController.ts +0 -8
  495. package/src/AppObject/AppObjectEntity.test.ts +0 -151
  496. package/src/AppObject/AppObjectEntity.ts +0 -45
  497. package/src/AppObject/AppObjectEntityRepo.test.ts +0 -211
  498. package/src/AppObject/AppObjectEntityRepo.ts +0 -61
  499. package/src/AppObject/AppObjectPM.test.ts +0 -152
  500. package/src/AppObject/AppObjectPM.ts +0 -43
  501. package/src/AppObject/AppObjectRepo.test.ts +0 -317
  502. package/src/AppObject/AppObjectRepo.ts +0 -203
  503. package/src/AppObject/AppObjectUC.ts +0 -5
  504. package/src/AppObject/AppObjectView.ts +0 -5
  505. package/src/AppObject/getSingletonComponent.test.ts +0 -17
  506. package/src/AppObject/getSingletonComponent.ts +0 -9
  507. package/src/AppObject/index.ts +0 -10
  508. package/src/AppObject/printAppObjectDetails.ts +0 -17
  509. package/src/Entities/MemoizedAngle.test.ts +0 -38
  510. package/src/Entities/MemoizedAngle.ts +0 -25
  511. package/src/Entities/MemoizedBoolean.test.ts +0 -45
  512. package/src/Entities/MemoizedBoolean.ts +0 -23
  513. package/src/Entities/MemoizedColor.test.ts +0 -39
  514. package/src/Entities/MemoizedColor.ts +0 -27
  515. package/src/Entities/MemoizedNumber.test.ts +0 -37
  516. package/src/Entities/MemoizedNumber.ts +0 -23
  517. package/src/Entities/MemoizedQuaternion.test.ts +0 -39
  518. package/src/Entities/MemoizedQuaternion.ts +0 -27
  519. package/src/Entities/MemoizedString.test.ts +0 -37
  520. package/src/Entities/MemoizedString.ts +0 -23
  521. package/src/Entities/MemoizedVector2.test.ts +0 -39
  522. package/src/Entities/MemoizedVector2.ts +0 -27
  523. package/src/Entities/MemoizedVector3.test.ts +0 -39
  524. package/src/Entities/MemoizedVector3.ts +0 -27
  525. package/src/Entities/ObservableEntity.test.ts +0 -28
  526. package/src/Entities/ObservableEntity.ts +0 -17
  527. package/src/Entities/ObserverList.test.ts +0 -61
  528. package/src/Entities/ObserverList.ts +0 -24
  529. package/src/Entities/RangedNumber.test.ts +0 -118
  530. package/src/Entities/RangedNumber.ts +0 -45
  531. package/src/Types/AppBoundary.ts +0 -13
  532. package/src/Types/EaseFn.ts +0 -1
  533. package/src/Types/PmAdapter.ts +0 -15
  534. package/src/Types/SingletonPmAdapter.ts +0 -7
  535. package/src/Utilities/LengthConverters.test.ts +0 -30
  536. package/src/Utilities/LengthConverters.ts +0 -18
  537. package/src/Utilities/LerpNumber.test.ts +0 -109
  538. package/src/Utilities/LerpNumber.ts +0 -109
  539. package/src/Utilities/degreesToRadians.test.ts +0 -8
  540. package/src/Utilities/degreesToRadians.ts +0 -3
  541. package/src/Utilities/easeFunctions.test.ts +0 -251
  542. package/src/Utilities/easeFunctions.ts +0 -180
  543. package/src/Utilities/generateUniqueID.ts +0 -5
  544. package/src/Utilities/interpolateNumber.test.ts +0 -28
  545. package/src/Utilities/interpolateNumber.ts +0 -21
  546. package/src/ValueObjects/Angle.test.ts +0 -30
  547. package/src/ValueObjects/Angle.ts +0 -47
  548. package/src/ValueObjects/Color.test.ts +0 -181
  549. package/src/ValueObjects/Color.ts +0 -891
  550. package/src/ValueObjects/LineSegment2D.test.ts +0 -144
  551. package/src/ValueObjects/LineSegment2D.ts +0 -93
  552. package/src/ValueObjects/Matrix.test.ts +0 -498
  553. package/src/ValueObjects/Matrix.ts +0 -567
  554. package/src/ValueObjects/ParametricLine.test.ts +0 -155
  555. package/src/ValueObjects/ParametricLine.ts +0 -114
  556. package/src/ValueObjects/ParametricPlane.test.ts +0 -122
  557. package/src/ValueObjects/ParametricPlane.ts +0 -82
  558. package/src/ValueObjects/Quaternion.test.ts +0 -356
  559. package/src/ValueObjects/Quaternion.ts +0 -353
  560. package/src/ValueObjects/Rectangle.test.ts +0 -32
  561. package/src/ValueObjects/Rectangle.ts +0 -33
  562. package/src/ValueObjects/Vector2.test.ts +0 -167
  563. package/src/ValueObjects/Vector2.ts +0 -209
  564. package/src/ValueObjects/Vector3.test.ts +0 -228
  565. package/src/ValueObjects/Vector3.ts +0 -269
  566. package/tsconfig.build.json +0 -7
  567. package/tsconfig.cjs.json +0 -9
  568. package/tsconfig.esm.json +0 -12
  569. package/tsconfig.json +0 -19
  570. package/tslint.json +0 -11
@@ -1,209 +0,0 @@
1
- import { Angle } from ".";
2
-
3
- export class Vector2 {
4
- /**
5
- * Creates a zero vector
6
- * @returns Vector [0,0]
7
- */
8
- public static Zero(): Vector2 {
9
- return new Vector2(0, 0);
10
- }
11
-
12
- /**
13
- * Creates a one vector
14
- * @returns Vector [1,1]
15
- */
16
- public static One(): Vector2 {
17
- return new Vector2(1, 1);
18
- }
19
-
20
- /**
21
- * Checks to see if Vector A equals Vector B
22
- * @param a Vector A
23
- * @param b Vector B
24
- * @returns True if Vector A === Vector B
25
- */
26
- public static Equal(a: Vector2, b: Vector2): boolean {
27
- if (a.x !== b.x) return false;
28
- if (a.y !== b.y) return false;
29
- return true;
30
- }
31
-
32
- /**
33
- * Creates a Vector from a Data Transfer Object
34
- * @param dto The Data Transfer Object
35
- * @returns The Vector
36
- */
37
- public static FromDTO(dto: { x: number; y: number }): Vector2 {
38
- return new Vector2(dto.x, dto.y);
39
- }
40
-
41
- /**
42
- * Adds Vector B to Vector A
43
- * @param a Vector A
44
- * @param b Vector B
45
- * @returns A + B
46
- */
47
- public static Add(a: Vector2, b: Vector2): Vector2 {
48
- return new Vector2(a.x + b.x, a.y + b.y);
49
- }
50
-
51
- /**
52
- * Subtracts Vector B from Vector A
53
- * @param a Vector A
54
- * @param b Vector B
55
- * @returns A - B
56
- */
57
- public static Subtract(a: Vector2, b: Vector2): Vector2 {
58
- return new Vector2(a.x - b.x, a.y - b.y);
59
- }
60
-
61
- /**
62
- * Checks to see if Vector A is close to Vector B
63
- * @param a Vector A
64
- * @param b Vector B
65
- * @param threshold Tolerance to define "close". Defaults to 0.01
66
- * @returns True if A and B are close enough
67
- */
68
- public static Close = (
69
- a: Vector2,
70
- b: Vector2,
71
- threshold: number = 0.01
72
- ): boolean => {
73
- const diff = Vector2.Subtract(a, b);
74
- const diffMag = diff.magnitued;
75
-
76
- if (diffMag < threshold) return true;
77
- else return false;
78
- };
79
-
80
- /**
81
- * Rotates a vector by an angle
82
- * @param vec The original vector
83
- * @param angle The angle
84
- * @returns A new Vector that has been rotated from the original by an angle
85
- */
86
- public static Rotate = (vec: Vector2, angle: Angle): Vector2 => {
87
- const x = vec.x * Math.cos(angle.radians) - vec.y * Math.sin(angle.radians);
88
- const y = vec.x * Math.sin(angle.radians) + vec.y * Math.cos(angle.radians);
89
- return new Vector2(x, y);
90
- };
91
-
92
- /**
93
- * Scales a vector uniformly
94
- * @param vector The original vector
95
- * @param scale Scale factor
96
- * @returns A new, scaled vector
97
- */
98
- public static Scale = (vector: Vector2, scale: number): Vector2 => {
99
- const x = scale * vector.x;
100
- const y = scale * vector.y;
101
- return new Vector2(x, y);
102
- };
103
-
104
- /**
105
- * Creates a new vector of a given lenght and a unit that is equal to the original vector
106
- * @param vector The original vector. This determines the unit of the final vector
107
- * @param length The desired length of the final vector
108
- * @returns The final vector
109
- */
110
- public static NewVectorOfLength = (
111
- vector: Vector2,
112
- length: number
113
- ): Vector2 => {
114
- const unit = vector.unit;
115
- const x = length * unit.x;
116
- const y = length * unit.y;
117
- return new Vector2(x, y);
118
- };
119
-
120
- /**
121
- * Calculate the dot product between Vectors A and B
122
- * @param a Vector A
123
- * @param b Vector B
124
- * @returns The Dot product between A and B
125
- */
126
- public static Dot = (a: Vector2, b: Vector2): number => {
127
- return a.x * b.x + a.y * b.y;
128
- };
129
-
130
- /**
131
- * Calculates the dot product between Vectors A and B
132
- * @param a Vector A
133
- * @param b Vector B
134
- * @returns A . B
135
- */
136
- public static AngleBetween = (a: Vector2, b: Vector2): Angle => {
137
- const dot = Vector2.Dot(a, b);
138
- const magnitues = a.magnitued * b.magnitued;
139
-
140
- const angRadians = Math.acos(dot / magnitues);
141
-
142
- return Angle.FromRadians(angRadians);
143
- };
144
-
145
- /**
146
- * Calculates the Cross product between Vectors A and B
147
- * @param a Vector A
148
- * @param b Vector B
149
- * @returns A X B
150
- */
151
- public static Cross = (a: Vector2, b: Vector2): number => {
152
- return a.x * b.y - a.y * b.x;
153
- };
154
-
155
- readonly x: number;
156
- readonly y: number;
157
-
158
- /**
159
- * Get the magnitude (length) of the vector
160
- */
161
- get magnitued(): number {
162
- const xSqr = this.x * this.x;
163
- const ySqr = this.y * this.y;
164
-
165
- const magnitude = Math.sqrt(xSqr + ySqr);
166
- return magnitude;
167
- }
168
-
169
- /**
170
- * Get the unit vector
171
- */
172
- get unit(): Vector2 {
173
- const mag = this.magnitued;
174
- if (mag === 0) {
175
- return Vector2.Zero();
176
- }
177
-
178
- const unitX = this.x / mag;
179
- const unitY = this.y / mag;
180
- return new Vector2(unitX, unitY);
181
- }
182
-
183
- /**
184
- * Returns the angle of the direction of this angle in degrees.
185
- * A right vector [1,0] will return 0, a left vector [-1,0] will return 180, an up vector [0,1] will return 90 and a down vector [0,-1] will return -90
186
- */
187
- get theta(): number {
188
- return (Math.atan2(this.y, this.x) * 180) / Math.PI;
189
- }
190
-
191
- /**
192
- * Retuns the vector as an array of numbers [x,y]
193
- */
194
- get array(): [number, number] {
195
- return [this.x, this.y];
196
- }
197
-
198
- /**
199
- * Get the vector as a Data Transfer Object
200
- */
201
- get dto(): { x: number; y: number } {
202
- return { x: this.x, y: this.y };
203
- }
204
-
205
- constructor(x: number, y: number) {
206
- this.x = x;
207
- this.y = y;
208
- }
209
- }
@@ -1,228 +0,0 @@
1
- import { Vector3 } from ".";
2
- import { Angle } from "./Angle";
3
- import { Matrix } from "./Matrix";
4
- import { Quaternion } from "./Quaternion";
5
-
6
- describe("Vector 3 Value object - Creation", () => {
7
- it("Creates a zero vector", () => {
8
- const v = Vector3.Zero();
9
- expect(v).toEqual(new Vector3(0, 0, 0));
10
- });
11
- it("Creates a one vector", () => {
12
- const v = Vector3.One();
13
- expect(v).toEqual(new Vector3(1, 1, 1));
14
- });
15
-
16
- it("Creates a vector from an array", () => {
17
- const v = Vector3.FromArray([2, 5, 7]);
18
- expect(v).toEqual(new Vector3(2, 5, 7));
19
- });
20
-
21
- it("Creates a unit right vector", () => {
22
- const v = Vector3.Right();
23
- expect(v).toEqual(new Vector3(1, 0, 0));
24
- });
25
-
26
- it("Creates a right vector with length", () => {
27
- const v = Vector3.Right(3);
28
- expect(v).toEqual(new Vector3(3, 0, 0));
29
- });
30
-
31
- it("Creates a unit left vector", () => {
32
- const v = Vector3.Left();
33
- expect(v).toEqual(new Vector3(-1, 0, 0));
34
- });
35
-
36
- it("Creates a left vector with length", () => {
37
- const v = Vector3.Left(3);
38
- expect(v).toEqual(new Vector3(-3, 0, 0));
39
- });
40
-
41
- it("Creates a unit up vector", () => {
42
- const v = Vector3.Up();
43
- expect(v).toEqual(new Vector3(0, 1, 0));
44
- });
45
-
46
- it("Creates a up vector with length", () => {
47
- const v = Vector3.Up(3);
48
- expect(v).toEqual(new Vector3(0, 3, 0));
49
- });
50
-
51
- it("Creates a unit down vector", () => {
52
- const v = Vector3.Down();
53
- expect(v).toEqual(new Vector3(0, -1, 0));
54
- });
55
-
56
- it("Creates a down vector with length", () => {
57
- const v = Vector3.Down(3);
58
- expect(v).toEqual(new Vector3(0, -3, 0));
59
- });
60
-
61
- it("Creates a unit forward vector", () => {
62
- const v = Vector3.Forward();
63
- expect(v).toEqual(new Vector3(0, 0, 1));
64
- });
65
-
66
- it("Creates a forward vector with length", () => {
67
- const v = Vector3.Forward(3);
68
- expect(v).toEqual(new Vector3(0, 0, 3));
69
- });
70
-
71
- it("Creates a unit backward vector", () => {
72
- const v = Vector3.Backward();
73
- expect(v).toEqual(new Vector3(0, 0, -1));
74
- });
75
-
76
- it("Creates a backward vector with length", () => {
77
- const v = Vector3.Backward(3);
78
- expect(v).toEqual(new Vector3(0, 0, -3));
79
- });
80
- });
81
-
82
- describe("Vector 3 Value object - Static actions", () => {
83
- it("Adds two vectors", () => {
84
- const v1 = new Vector3(1, 2, 3);
85
- const v2 = new Vector3(4, 5, 6);
86
-
87
- const v3 = Vector3.Add(v1, v2);
88
- expect(v3).toEqual(new Vector3(5, 7, 9));
89
- });
90
-
91
- test("Subtracts two vectors", () => {
92
- const v1 = new Vector3(1, 2, 3);
93
- const v2 = new Vector3(6, 5, 4);
94
-
95
- const v3 = Vector3.Subtract(v1, v2);
96
- expect(v3).toEqual(new Vector3(-5, -3, -1));
97
- });
98
-
99
- test("Checks if two vectors are equal", () => {
100
- const v1 = new Vector3(1, 2, 3);
101
- const v2 = new Vector3(4, 5, 6);
102
- const v3 = new Vector3(1, 2, 3);
103
- expect(Vector3.Equal(v1, v2)).toEqual(false);
104
- expect(Vector3.Equal(v1, v3)).toEqual(true);
105
- });
106
-
107
- it("Checks if Vectors are close without a tolerance", () => {
108
- const v1 = new Vector3(1, 2, 3);
109
- const v2 = new Vector3(1.1, 2.2, 3.3);
110
- const v3 = new Vector3(1.001, 2.001, 3.001);
111
- expect(Vector3.Close(v1, v2)).toEqual(false);
112
- expect(Vector3.Close(v1, v3)).toEqual(true);
113
- });
114
-
115
- it("Checks if Vectors are close with a tolerance", () => {
116
- const v1 = new Vector3(1, 2, 3);
117
- const v2 = new Vector3(1.1, 2.2, 3.3);
118
- expect(Vector3.Close(v1, v2, 0.3)).toEqual(false);
119
- expect(Vector3.Close(v1, v2, 0.4)).toEqual(true);
120
- });
121
-
122
- it("Computes the cross product", () => {
123
- // From https://www.symbolab.com/solver/vector-cross-product-calculator
124
- const v1 = new Vector3(1, 2, 3);
125
- const v2 = new Vector3(4, 5, -6);
126
-
127
- const cross = Vector3.Cross(v1, v2);
128
- expect(cross).toEqual(new Vector3(-27, 18, -3));
129
- });
130
-
131
- test("Cross product", () => {
132
- // From https://www.symbolab.com/solver/vector-cross-product-calculator
133
- const v1 = new Vector3(1, 2, 3);
134
- const v2 = new Vector3(4, 5, -6);
135
-
136
- const cross = Vector3.Cross(v2, v1);
137
- expect(cross).toEqual(new Vector3(27, -18, 3));
138
- });
139
-
140
- test("Dot product", () => {
141
- // From https://www.calculatorsoup.com/calculators/algebra/dot-product-calculator.php
142
- const v1 = new Vector3(1, 5, 3);
143
- const v2 = new Vector3(2, 3, 6);
144
-
145
- const dot = Vector3.Dot(v1, v2);
146
- expect(dot).toEqual(35);
147
- });
148
-
149
- test("New vector of length", () => {
150
- const v1 = new Vector3(1, -5, 3);
151
- const v2 = Vector3.NewVectorOfLength(v1, 10);
152
-
153
- expect(v2.x).toBeCloseTo(1.69);
154
- expect(v2.y).toBeCloseTo(-8.45);
155
- expect(v2.z).toBeCloseTo(5.07);
156
- });
157
- });
158
-
159
- describe("Vector 3 Value object - parameters", () => {
160
- it("Gets the vector components", () => {
161
- const v = new Vector3(2, 5, 7);
162
- expect(v.x).toEqual(2);
163
- expect(v.y).toEqual(5);
164
- expect(v.z).toEqual(7);
165
- });
166
-
167
- it("Gets the magnitue", () => {
168
- // https://www.omnicalculator.com/math/unit-vector
169
- const v1 = new Vector3(1, -5, 3);
170
- expect(v1.magnitude).toBeCloseTo(5.916);
171
- });
172
-
173
- it("Gets the unit vector", () => {
174
- // https://www.omnicalculator.com/math/unit-vector
175
- const v1 = new Vector3(1, -5, 3);
176
-
177
- expect(v1.unit.x).toBeCloseTo(0.169);
178
- expect(v1.unit.y).toBeCloseTo(-0.845);
179
- expect(v1.unit.z).toBeCloseTo(0.507);
180
- });
181
-
182
- it("Gets the vector as an array", () => {
183
- const v1 = new Vector3(1, -5, 3);
184
- expect(v1.array).toEqual([1, -5, 3]);
185
- });
186
-
187
- it("Lerps", () => {
188
- const start = new Vector3(10, 20, 30);
189
- const end = new Vector3(20, 30, 40);
190
- const lerped = Vector3.Lerp(start, end, 0.5);
191
-
192
- expect(lerped).toEqual(new Vector3(15, 25, 35));
193
- });
194
-
195
- it("Transforms a Vector with a matrix", () => {
196
- const pos = new Vector3(5, 0, 0);
197
- const rot = Quaternion.FromAngleAxis(Vector3.Up(), Angle.FromDegrees(-90));
198
- const scale = new Vector3(2, 2, 2);
199
- const matrix = Matrix.Compose(scale, rot, pos);
200
-
201
- const transformed = Vector3.Transform(new Vector3(2, 1, -1), matrix);
202
- const expected = new Vector3(7, 2, 4);
203
-
204
- expect(Vector3.Close(transformed, expected)).toEqual(true);
205
- });
206
-
207
- it("Gets the Data Transfer Object", () => {
208
- const vec = new Vector3(1, 2, 3);
209
-
210
- expect(vec.dto).toEqual({
211
- x: 1,
212
- y: 2,
213
- z: 3,
214
- });
215
- });
216
-
217
- it("Makes a vector from a DTO", () => {
218
- const vec = Vector3.FromDTO({
219
- x: 1,
220
- y: 2,
221
- z: 3,
222
- });
223
-
224
- expect(vec.x).toEqual(1);
225
- expect(vec.y).toEqual(2);
226
- expect(vec.z).toEqual(3);
227
- });
228
- });
@@ -1,269 +0,0 @@
1
- import { Matrix } from "./Matrix";
2
-
3
- export interface Vector3DTO {
4
- x: number;
5
- y: number;
6
- z: number;
7
- }
8
-
9
- export class Vector3 {
10
- /**
11
- * Creates a zero vector
12
- * @returns Vector [0,0,0]
13
- */
14
- public static Zero() {
15
- return new Vector3(0, 0, 0);
16
- }
17
-
18
- /**
19
- * Creates a vector of ones
20
- * @returns Vector [1,1,1]
21
- */
22
- public static One() {
23
- return new Vector3(1, 1, 1);
24
- }
25
-
26
- /**
27
- * Creates a Right vector (positive X)
28
- * @param length optional length of the right unit. Default is 1
29
- * @returns Vector [length, 0,0]
30
- */
31
- public static Right(length = 1) {
32
- return new Vector3(length, 0, 0);
33
- }
34
-
35
- /**
36
- * Creates a Left vector (negative X)
37
- * @param length optional length of the left unit. Default is 1
38
- * @returns Vector [-length, 0, 0]
39
- */
40
- public static Left(length = 1) {
41
- return new Vector3(-length, 0, 0);
42
- }
43
-
44
- /**
45
- * Creates an Up vector (positive Y)
46
- * @param length optional length of the vector. Default is 1
47
- * @returns Vector [0, length, 0]
48
- */
49
- public static Up(length = 1) {
50
- return new Vector3(0, length, 0);
51
- }
52
-
53
- /**
54
- * Creates a Down vector (negative Y)
55
- * @param length optional length of the vector. Default is 1
56
- * @returns Vector [0, -length, 0]
57
- */
58
- public static Down(length = 1) {
59
- return new Vector3(0, -length, 0);
60
- }
61
-
62
- /**
63
- * Creates a Forward vector (positive Z)
64
- * @param length optional length of the vector. Default is 1
65
- * @returns Vector [0, 0, length]
66
- */
67
- public static Forward(length = 1) {
68
- return new Vector3(0, 0, length);
69
- }
70
-
71
- /**
72
- * Creates a Backward vector (negative Z)
73
- * @param length optional length of the vector. Default is 1
74
- * @returns Vector [0, 0, -length]
75
- */
76
- public static Backward(length = 1) {
77
- return new Vector3(0, 0, -length);
78
- }
79
-
80
- /**
81
- * Creates a Vector from an array of components
82
- * @param values The x, y, z components as an array
83
- * @returns The Vector
84
- */
85
- public static FromArray(values: [number, number, number]): Vector3 {
86
- return new Vector3(values[0], values[1], values[2]);
87
- }
88
-
89
- /**
90
- * Creates a Vector from a Data Transfer Object
91
- * @param dto The Data Transfer Object
92
- * @returns The Vector
93
- */
94
- public static FromDTO(dto: Vector3DTO): Vector3 {
95
- return new Vector3(dto.x, dto.y, dto.z);
96
- }
97
-
98
- /**
99
- * Adds Vector B to Vector A
100
- * @param a Vector A
101
- * @param b Vector B
102
- * @return Result of A + B
103
- */
104
- static Add = (a: Vector3, b: Vector3): Vector3 => {
105
- return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z);
106
- };
107
-
108
- /**
109
- * Subtracts Vector B from Vector A
110
- * @param a Vector A
111
- * @param b Vector B
112
- * @return Result of A - B
113
- */
114
- static Subtract = (a: Vector3, b: Vector3): Vector3 => {
115
- return new Vector3(a.x - b.x, a.y - b.y, a.z - b.z);
116
- };
117
-
118
- /**
119
- * Checks to see if the two vectors are equal
120
- * @param a Vector A
121
- * @param b Vector B
122
- * @return True if the two vectors are equal, otherwise false
123
- */
124
- static Equal = (a: Vector3, b: Vector3): boolean => {
125
- if (a.x === b.x && a.y === b.y && a.z === b.z) return true;
126
- else return false;
127
- };
128
-
129
- /**
130
- * Checks to see if the two vectors are close
131
- * @param a Vector A
132
- * @param b Vector B
133
- * @param tolerance Tolerance for checking. Defaulted to 0.01
134
- * @return True if the distance between the two vectors is less than the tolerance, otherwise false
135
- */
136
- static Close = (a: Vector3, b: Vector3, tolerance = 0.01): boolean => {
137
- const diff = Vector3.Subtract(a, b);
138
- const diffMag = diff.magnitude;
139
-
140
- if (diffMag < tolerance) return true;
141
- else return false;
142
- };
143
-
144
- /**
145
- * Calculates the Cross Product between two vectors
146
- * @param a Vector A
147
- * @param b Vector B
148
- * @return the cross product between the two vectors
149
- */
150
- static Cross = (a: Vector3, b: Vector3): Vector3 => {
151
- const x = a.y * b.z - a.z * b.y;
152
- const y = a.z * b.x - a.x * b.z;
153
- const z = a.x * b.y - a.y * b.x;
154
- return new Vector3(x, y, z);
155
- };
156
-
157
- /**
158
- * Calculates the Dot Product between two vectors
159
- * @param a Vector A
160
- * @param b Vector B
161
- * @return the dot product between the two vectors
162
- */
163
- static Dot = (a: Vector3, b: Vector3): number => {
164
- return a.x * b.x + a.y * b.y + a.z * b.z;
165
- };
166
-
167
- /**
168
- * Create a new vector that will have the same unit as the original vector but set to the desired length
169
- * @param vec The original vector
170
- * @param length Desired length of the final vector
171
- * @return The resulting vector
172
- */
173
- static NewVectorOfLength = (vec: Vector3, length: number): Vector3 => {
174
- const unit = vec.unit;
175
- return new Vector3(length * unit.x, length * unit.y, length * unit.z);
176
- };
177
-
178
- static Transform = (vector: Vector3, matrix: Matrix): Vector3 => {
179
- const m = matrix.m;
180
- const rx = vector.x * m[0] + vector.y * m[4] + vector.z * m[8] + m[12];
181
- const ry = vector.x * m[1] + vector.y * m[5] + vector.z * m[9] + m[13];
182
- const rz = vector.x * m[2] + vector.y * m[6] + vector.z * m[10] + m[14];
183
- const rw =
184
- 1 / (vector.x * m[3] + vector.y * m[7] + vector.z * m[11] + m[15]);
185
-
186
- const x = rx * rw;
187
- const y = ry * rw;
188
- const z = rz * rw;
189
-
190
- return new Vector3(x, y, z);
191
- };
192
-
193
- /**
194
- * Linearly interpolates between two vectors
195
- * @param initial The starting point
196
- * @param final The end point
197
- * @param percent Percent of the lerp. 0 will return initial and 1 will return final
198
- * @return the LERP result Vector3
199
- */
200
- static Lerp = (
201
- initial: Vector3,
202
- final: Vector3,
203
- percent: number
204
- ): Vector3 => {
205
- const x = Vector3.interpolateNumber(initial.x, final.x, percent);
206
- const y = Vector3.interpolateNumber(initial.y, final.y, percent);
207
- const z = Vector3.interpolateNumber(initial.z, final.z, percent);
208
-
209
- return new Vector3(x, y, z);
210
- };
211
-
212
- private static interpolateNumber(a: number, b: number, percent: number) {
213
- return a + (b - a) * percent;
214
- }
215
-
216
- readonly x: number;
217
- readonly y: number;
218
- readonly z: number;
219
-
220
- /**
221
- * Gets the magnitude of the Vector3
222
- * @returns the magnitude of the Vector3
223
- */
224
- get magnitude(): number {
225
- const xSqr = this.x * this.x;
226
- const ySqr = this.y * this.y;
227
- const zSqr = this.z * this.z;
228
-
229
- const magnitude = Math.sqrt(xSqr + ySqr + zSqr);
230
- return magnitude;
231
- }
232
-
233
- /**
234
- * Gets the unit vector for this Vector3
235
- * @returns the unit vector
236
- */
237
- get unit(): Vector3 {
238
- const mag = this.magnitude;
239
- if (mag === 0) {
240
- return Vector3.Zero();
241
- }
242
-
243
- const unitX = this.x / mag;
244
- const unitY = this.y / mag;
245
- const unitZ = this.z / mag;
246
- return new Vector3(unitX, unitY, unitZ);
247
- }
248
-
249
- /**
250
- * Gets the vector as an array
251
- * @returns an array representing the vector
252
- */
253
- get array(): [number, number, number] {
254
- return [this.x, this.y, this.z];
255
- }
256
-
257
- /**
258
- * Get the vector as a Data Transfer Object
259
- */
260
- get dto(): Vector3DTO {
261
- return { x: this.x, y: this.y, z: this.z };
262
- }
263
-
264
- constructor(x: number, y: number, z: number) {
265
- this.x = x;
266
- this.y = y;
267
- this.z = z;
268
- }
269
- }
@@ -1,7 +0,0 @@
1
- {
2
- "files": [],
3
- "references": [
4
- { "path": "./tsconfig.esm.json" },
5
- { "path": "./tsconfig.cjs.json" }
6
- ]
7
- }