@vived/app 4.2.0 → 4.3.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 (312) hide show
  1. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.d.ts +42 -0
  2. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.js +99 -0
  3. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.d.ts +12 -0
  4. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.js +45 -0
  5. package/lib/AppObjectComponents/ChannelModel/index.d.ts +2 -0
  6. package/lib/AppObjectComponents/ChannelModel/index.js +14 -0
  7. package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.d.ts +16 -0
  8. package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.js +40 -0
  9. package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.d.ts +5 -0
  10. package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.js +25 -0
  11. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.d.ts +10 -0
  12. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.js +44 -0
  13. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.d.ts +10 -0
  14. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.js +44 -0
  15. package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.d.ts +10 -0
  16. package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.js +44 -0
  17. package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.d.ts +10 -0
  18. package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.js +44 -0
  19. package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.d.ts +10 -0
  20. package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.js +54 -0
  21. package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.d.ts +10 -0
  22. package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.js +54 -0
  23. package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.d.ts +10 -0
  24. package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.js +54 -0
  25. package/lib/AppObjectComponents/Dispatcher/index.d.ts +9 -0
  26. package/lib/AppObjectComponents/Dispatcher/index.js +21 -0
  27. package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.d.ts +16 -0
  28. package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.js +28 -0
  29. package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.d.ts +14 -0
  30. package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.js +41 -0
  31. package/lib/AppObjectComponents/Enablement/index.d.ts +2 -0
  32. package/lib/AppObjectComponents/Enablement/index.js +14 -0
  33. package/lib/AppObjectComponents/Hideable/Entities/Hideable.d.ts +10 -0
  34. package/lib/AppObjectComponents/Hideable/Entities/Hideable.js +31 -0
  35. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.d.ts +12 -0
  36. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.js +43 -0
  37. package/lib/AppObjectComponents/Hideable/index.d.ts +2 -0
  38. package/lib/AppObjectComponents/Hideable/index.js +14 -0
  39. package/lib/AppObjectComponents/Label/Entities/Label.d.ts +17 -0
  40. package/lib/AppObjectComponents/Label/Entities/Label.js +58 -0
  41. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.d.ts +19 -0
  42. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.js +62 -0
  43. package/lib/AppObjectComponents/Label/index.d.ts +2 -0
  44. package/lib/AppObjectComponents/Label/index.js +14 -0
  45. package/lib/AppObjectComponents/Mesh/Entities/Mesh.d.ts +21 -0
  46. package/lib/AppObjectComponents/Mesh/Entities/Mesh.js +45 -0
  47. package/lib/AppObjectComponents/Mesh/index.d.ts +1 -0
  48. package/lib/{Components/Tools/Factory → AppObjectComponents/Mesh}/index.js +1 -2
  49. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.d.ts +25 -0
  50. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.js +59 -0
  51. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.d.ts +13 -0
  52. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.js +43 -0
  53. package/lib/AppObjectComponents/OverlayColor/index.d.ts +2 -0
  54. package/lib/AppObjectComponents/OverlayColor/index.js +14 -0
  55. package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.d.ts +31 -0
  56. package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.js +106 -0
  57. package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.d.ts +31 -0
  58. package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.js +109 -0
  59. package/lib/AppObjectComponents/SceneRoot/index.d.ts +2 -0
  60. package/lib/AppObjectComponents/SceneRoot/index.js +14 -0
  61. package/lib/AppObjectComponents/StoredView/Entities/StoredView.d.ts +13 -0
  62. package/lib/AppObjectComponents/StoredView/Entities/StoredView.js +64 -0
  63. package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.d.ts +27 -0
  64. package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.js +82 -0
  65. package/lib/AppObjectComponents/StoredView/index.d.ts +2 -0
  66. package/lib/AppObjectComponents/StoredView/index.js +14 -0
  67. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.d.ts +45 -0
  68. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.js +226 -0
  69. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.d.ts +12 -0
  70. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.js +46 -0
  71. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.d.ts +19 -0
  72. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.js +60 -0
  73. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.d.ts +20 -0
  74. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.js +67 -0
  75. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.d.ts +14 -0
  76. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.js +53 -0
  77. package/lib/AppObjectComponents/Transform3D/index.d.ts +5 -0
  78. package/lib/AppObjectComponents/Transform3D/index.js +17 -0
  79. package/lib/AppObjectComponents/index.d.ts +10 -0
  80. package/lib/AppObjectComponents/index.js +22 -0
  81. package/lib/Components/Dispatcher/UC/RestoreCurrentStateUC.d.ts +10 -0
  82. package/lib/Components/Dispatcher/UC/RestoreCurrentStateUC.js +35 -0
  83. package/lib/Components/Dispatcher/UC/index.d.ts +1 -0
  84. package/lib/Components/Dispatcher/UC/index.js +1 -0
  85. package/lib/Controllers/HoverLabelMouse.d.ts +10 -0
  86. package/lib/Controllers/HoverLabelMouse.js +23 -0
  87. package/lib/Controllers/HoverLabelTouch.d.ts +14 -0
  88. package/lib/Controllers/HoverLabelTouch.js +41 -0
  89. package/lib/Controllers/ToolHotkeys.d.ts +6 -0
  90. package/lib/Controllers/ToolHotkeys.js +25 -0
  91. package/lib/Controllers/index.d.ts +3 -0
  92. package/lib/Controllers/index.js +15 -0
  93. package/lib/Entities/AppBoundary.d.ts +6 -0
  94. package/lib/Entities/AppBoundary.js +2 -0
  95. package/lib/Entities/AppDispatcher.d.ts +63 -0
  96. package/lib/Entities/AppDispatcher.js +336 -0
  97. package/lib/Entities/AppHandler.d.ts +20 -0
  98. package/lib/Entities/AppHandler.js +94 -0
  99. package/lib/Entities/Babylon.d.ts +48 -0
  100. package/lib/Entities/Babylon.js +146 -0
  101. package/lib/Entities/BaseApp.d.ts +9 -0
  102. package/lib/Entities/BaseApp.js +30 -0
  103. package/lib/Entities/DevicePreview.d.ts +11 -0
  104. package/lib/Entities/DevicePreview.js +49 -0
  105. package/lib/Entities/FocusCamera.d.ts +70 -0
  106. package/lib/Entities/FocusCamera.js +272 -0
  107. package/lib/Entities/FramedScreen.d.ts +15 -0
  108. package/lib/Entities/FramedScreen.js +58 -0
  109. package/lib/Entities/FramedScreenContainer.d.ts +12 -0
  110. package/lib/Entities/FramedScreenContainer.js +41 -0
  111. package/lib/Entities/HoverLabels.d.ts +42 -0
  112. package/lib/Entities/HoverLabels.js +82 -0
  113. package/lib/Entities/KeyboardInput.d.ts +13 -0
  114. package/lib/Entities/KeyboardInput.js +68 -0
  115. package/lib/Entities/Memoized/MemoizedAngle.d.ts +9 -0
  116. package/lib/Entities/Memoized/MemoizedAngle.js +22 -0
  117. package/lib/Entities/Memoized/MemoizedBoolean.d.ts +8 -0
  118. package/lib/Entities/Memoized/MemoizedBoolean.js +22 -0
  119. package/lib/Entities/Memoized/MemoizedColor.d.ts +9 -0
  120. package/lib/Entities/Memoized/MemoizedColor.js +23 -0
  121. package/lib/Entities/Memoized/MemoizedNumber.d.ts +8 -0
  122. package/lib/Entities/Memoized/MemoizedNumber.js +22 -0
  123. package/lib/Entities/Memoized/MemoizedQuaternion.d.ts +9 -0
  124. package/lib/Entities/Memoized/MemoizedQuaternion.js +23 -0
  125. package/lib/Entities/Memoized/MemoizedString.d.ts +8 -0
  126. package/lib/Entities/Memoized/MemoizedString.js +22 -0
  127. package/lib/Entities/Memoized/MemoizedVector2.d.ts +9 -0
  128. package/lib/Entities/Memoized/MemoizedVector2.js +23 -0
  129. package/lib/Entities/Memoized/MemoizedVector3.d.ts +9 -0
  130. package/lib/Entities/Memoized/MemoizedVector3.js +23 -0
  131. package/lib/Entities/MeshModel.d.ts +68 -0
  132. package/lib/Entities/MeshModel.js +174 -0
  133. package/lib/Entities/ModelObject.d.ts +10 -0
  134. package/lib/Entities/ModelObject.js +42 -0
  135. package/lib/Entities/MouseInput.d.ts +21 -0
  136. package/lib/Entities/MouseInput.js +127 -0
  137. package/lib/Entities/ObservableEntityRepo.d.ts +20 -0
  138. package/lib/Entities/ObservableEntityRepo.js +80 -0
  139. package/lib/Entities/QuestionChallenge.d.ts +21 -0
  140. package/lib/Entities/QuestionChallenge.js +103 -0
  141. package/lib/Entities/QuestionChallengeAnswer.d.ts +32 -0
  142. package/lib/Entities/QuestionChallengeAnswer.js +51 -0
  143. package/lib/Entities/SceneModel.d.ts +85 -0
  144. package/lib/Entities/SceneModel.js +202 -0
  145. package/lib/Entities/SceneModelMesh.d.ts +40 -0
  146. package/lib/Entities/SceneModelMesh.js +75 -0
  147. package/lib/Entities/SceneModelRepo.d.ts +11 -0
  148. package/lib/Entities/SceneModelRepo.js +48 -0
  149. package/lib/Entities/SceneObject.d.ts +23 -0
  150. package/lib/Entities/SceneObject.js +79 -0
  151. package/lib/Entities/SceneObjectsRepo.d.ts +12 -0
  152. package/lib/Entities/SceneObjectsRepo.js +58 -0
  153. package/lib/Entities/SceneRoot.d.ts +29 -0
  154. package/lib/Entities/SceneRoot.js +145 -0
  155. package/lib/Entities/StateMachine.d.ts +29 -0
  156. package/lib/Entities/StateMachine.js +98 -0
  157. package/lib/Entities/Tool.d.ts +81 -0
  158. package/lib/Entities/Tool.js +94 -0
  159. package/lib/Entities/ToolRepository.d.ts +46 -0
  160. package/lib/Entities/ToolRepository.js +118 -0
  161. package/lib/Entities/TouchInput.d.ts +28 -0
  162. package/lib/Entities/TouchInput.js +144 -0
  163. package/lib/Entities/UndoRedo.d.ts +22 -0
  164. package/lib/Entities/UndoRedo.js +61 -0
  165. package/lib/PresentationManagers/DevicePreviewPM.d.ts +14 -0
  166. package/lib/PresentationManagers/DevicePreviewPM.js +30 -0
  167. package/lib/PresentationManagers/FocusCameraPM.d.ts +15 -0
  168. package/lib/PresentationManagers/FocusCameraPM.js +31 -0
  169. package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +13 -0
  170. package/lib/PresentationManagers/FocusCameraPosRotPM.js +28 -0
  171. package/lib/PresentationManagers/FramedScreenContainerPM.d.ts +18 -0
  172. package/lib/PresentationManagers/FramedScreenContainerPM.js +55 -0
  173. package/lib/PresentationManagers/HasRedoPM.d.ts +9 -0
  174. package/lib/PresentationManagers/HasRedoPM.js +22 -0
  175. package/lib/PresentationManagers/HasUndoPM.d.ts +9 -0
  176. package/lib/PresentationManagers/HasUndoPM.js +22 -0
  177. package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.d.ts +9 -0
  178. package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.js +19 -0
  179. package/lib/PresentationManagers/HoverLabels/HoverLabelPM.d.ts +17 -0
  180. package/lib/PresentationManagers/HoverLabels/HoverLabelPM.js +32 -0
  181. package/lib/PresentationManagers/HoverLabels/index.d.ts +2 -0
  182. package/lib/PresentationManagers/HoverLabels/index.js +14 -0
  183. package/lib/PresentationManagers/IsAuthoringPM.d.ts +9 -0
  184. package/lib/PresentationManagers/IsAuthoringPM.js +20 -0
  185. package/lib/PresentationManagers/PresentationManager.d.ts +8 -0
  186. package/lib/PresentationManagers/PresentationManager.js +16 -0
  187. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.d.ts +24 -0
  188. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.js +65 -0
  189. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.d.ts +17 -0
  190. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.js +46 -0
  191. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.d.ts +17 -0
  192. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.js +51 -0
  193. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.d.ts +15 -0
  194. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.js +34 -0
  195. package/lib/PresentationManagers/QuestionChallenge/index.d.ts +4 -0
  196. package/lib/PresentationManagers/QuestionChallenge/index.js +16 -0
  197. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +15 -0
  198. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +34 -0
  199. package/lib/PresentationManagers/SceneModel/SceneModelPM.d.ts +15 -0
  200. package/lib/PresentationManagers/SceneModel/SceneModelPM.js +36 -0
  201. package/lib/PresentationManagers/SceneModel/index.d.ts +1 -0
  202. package/lib/PresentationManagers/SceneModel/index.js +13 -0
  203. package/lib/PresentationManagers/SceneObject/SceneObjectPM.d.ts +22 -0
  204. package/lib/PresentationManagers/SceneObject/SceneObjectPM.js +57 -0
  205. package/lib/PresentationManagers/SceneObject/index.d.ts +1 -0
  206. package/lib/PresentationManagers/SceneObject/index.js +13 -0
  207. package/lib/PresentationManagers/ShowBabylonInspectorPM.d.ts +9 -0
  208. package/lib/PresentationManagers/ShowBabylonInspectorPM.js +24 -0
  209. package/lib/PresentationManagers/ToolPM.d.ts +17 -0
  210. package/lib/PresentationManagers/ToolPM.js +35 -0
  211. package/lib/PresentationManagers/TransformNodePM.d.ts +14 -0
  212. package/lib/PresentationManagers/TransformNodePM.js +23 -0
  213. package/lib/PresentationManagers/index.d.ts +13 -0
  214. package/lib/PresentationManagers/index.js +25 -0
  215. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +17 -0
  216. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +64 -0
  217. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +36 -0
  218. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +71 -0
  219. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +11 -0
  220. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +36 -0
  221. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +11 -0
  222. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +36 -0
  223. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +11 -0
  224. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +26 -0
  225. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +11 -0
  226. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +33 -0
  227. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +22 -0
  228. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +81 -0
  229. package/lib/UseCases/FocusCamera/index.d.ts +7 -0
  230. package/lib/UseCases/FocusCamera/index.js +19 -0
  231. package/lib/UseCases/Handlers/DisposeAppBase.d.ts +8 -0
  232. package/lib/UseCases/Handlers/DisposeAppBase.js +24 -0
  233. package/lib/UseCases/Handlers/SetAppStateBase.d.ts +10 -0
  234. package/lib/UseCases/Handlers/SetAppStateBase.js +32 -0
  235. package/lib/UseCases/Handlers/SetDevicePreviewBase.d.ts +10 -0
  236. package/lib/UseCases/Handlers/SetDevicePreviewBase.js +32 -0
  237. package/lib/UseCases/Handlers/SetIsAuthoringBase.d.ts +10 -0
  238. package/lib/UseCases/Handlers/SetIsAuthoringBase.js +32 -0
  239. package/lib/UseCases/Handlers/ShowBabylonInspectorBase.d.ts +10 -0
  240. package/lib/UseCases/Handlers/ShowBabylonInspectorBase.js +32 -0
  241. package/lib/UseCases/Handlers/StartAppBase.d.ts +10 -0
  242. package/lib/UseCases/Handlers/StartAppBase.js +32 -0
  243. package/lib/UseCases/Handlers/StartZSpaceBase.d.ts +10 -0
  244. package/lib/UseCases/Handlers/StartZSpaceBase.js +35 -0
  245. package/lib/UseCases/Handlers/StopAppBase.d.ts +8 -0
  246. package/lib/UseCases/Handlers/StopAppBase.js +24 -0
  247. package/lib/UseCases/Handlers/StopZSpaceBase.d.ts +8 -0
  248. package/lib/UseCases/Handlers/StopZSpaceBase.js +24 -0
  249. package/lib/UseCases/Handlers/index.d.ts +9 -0
  250. package/lib/UseCases/Handlers/index.js +21 -0
  251. package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.d.ts +14 -0
  252. package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.js +35 -0
  253. package/lib/UseCases/HoverLabels/trySetHoverLabel.d.ts +3 -0
  254. package/lib/UseCases/HoverLabels/trySetHoverLabel.js +12 -0
  255. package/lib/UseCases/LerpVector3.d.ts +26 -0
  256. package/lib/UseCases/LerpVector3.js +66 -0
  257. package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.d.ts +25 -0
  258. package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.js +70 -0
  259. package/lib/UseCases/QuestionChallenge/index.d.ts +4 -0
  260. package/lib/UseCases/QuestionChallenge/index.js +16 -0
  261. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.d.ts +2 -0
  262. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.js +16 -0
  263. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.d.ts +2 -0
  264. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.js +16 -0
  265. package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.d.ts +2 -0
  266. package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.js +16 -0
  267. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +18 -0
  268. package/lib/UseCases/SceneModel/SerializeActiveModel.js +74 -0
  269. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +7 -0
  270. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +22 -0
  271. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +2 -0
  272. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +13 -0
  273. package/lib/UseCases/SceneModel/index.d.ts +5 -0
  274. package/lib/UseCases/SceneModel/index.js +17 -0
  275. package/lib/UseCases/SceneModel/loadNewModel.d.ts +2 -0
  276. package/lib/UseCases/SceneModel/loadNewModel.js +84 -0
  277. package/lib/UseCases/SceneModel/modelDataLoader.d.ts +3 -0
  278. package/lib/UseCases/SceneModel/modelDataLoader.js +33 -0
  279. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +18 -0
  280. package/lib/UseCases/SceneObjects/PeelSceneObject.js +61 -0
  281. package/lib/UseCases/SceneObjects/index.d.ts +1 -0
  282. package/lib/UseCases/SceneObjects/index.js +13 -0
  283. package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +33 -0
  284. package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +67 -0
  285. package/lib/UseCases/SceneRoot/index.d.ts +2 -0
  286. package/lib/UseCases/SceneRoot/index.js +14 -0
  287. package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +2 -0
  288. package/lib/UseCases/SceneRoot/setupSceneRoot.js +11 -0
  289. package/lib/UseCases/index.d.ts +7 -0
  290. package/lib/UseCases/index.js +19 -0
  291. package/lib/UseCases/setDevicePreview.d.ts +2 -0
  292. package/lib/UseCases/setDevicePreview.js +14 -0
  293. package/lib/UseCases/setupStandardAppObjects.d.ts +2 -0
  294. package/lib/UseCases/setupStandardAppObjects.js +10 -0
  295. package/package.json +1 -1
  296. package/lib/Components/App/UC/submitError.d.ts +0 -2
  297. package/lib/Components/App/UC/submitError.js +0 -28
  298. package/lib/Components/App/UC/submitFatal.d.ts +0 -2
  299. package/lib/Components/App/UC/submitFatal.js +0 -28
  300. package/lib/Components/App/UC/submitLog.d.ts +0 -2
  301. package/lib/Components/App/UC/submitLog.js +0 -28
  302. package/lib/Components/App/UC/submitWarning.d.ts +0 -2
  303. package/lib/Components/App/UC/submitWarning.js +0 -28
  304. package/lib/Components/Camera/Factory/CameraFactoryImp.d.ts +0 -4
  305. package/lib/Components/Camera/Factory/CameraFactoryImp.js +0 -25
  306. package/lib/Components/Dispatcher/Mocks/MockLogUC.d.ts +0 -10
  307. package/lib/Components/Dispatcher/Mocks/MockLogUC.js +0 -14
  308. package/lib/Components/Tools/Factory/index.d.ts +0 -2
  309. package/lib/Components/Tools/Factory/setupTool.d.ts +0 -3
  310. package/lib/Components/Tools/Factory/setupTool.js +0 -12
  311. package/lib/Components/Tools/Factory/setupToolRepo.d.ts +0 -4
  312. package/lib/Components/Tools/Factory/setupToolRepo.js +0 -13
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedColor = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
+ class MemoizedColor {
6
+ constructor(initialValue, onChangeCallback) {
7
+ this._val = initialValue;
8
+ this.onChangeCallback = onChangeCallback;
9
+ }
10
+ get val() {
11
+ return this._val;
12
+ }
13
+ set val(v) {
14
+ if (ValueObjects_1.Color.Equal(v, this._val))
15
+ return;
16
+ this._val = v;
17
+ this.onChangeCallback();
18
+ }
19
+ setValQuietly(val) {
20
+ this._val = val;
21
+ }
22
+ }
23
+ exports.MemoizedColor = MemoizedColor;
@@ -0,0 +1,8 @@
1
+ export declare class MemoizedNumber {
2
+ private _val;
3
+ get val(): number;
4
+ set val(b: number);
5
+ setValQuietly(val: number): void;
6
+ private onChangeCallback;
7
+ constructor(initialValue: number, onChangeCallback: () => void);
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedNumber = void 0;
4
+ class MemoizedNumber {
5
+ constructor(initialValue, onChangeCallback) {
6
+ this._val = initialValue;
7
+ this.onChangeCallback = onChangeCallback;
8
+ }
9
+ get val() {
10
+ return this._val;
11
+ }
12
+ set val(b) {
13
+ if (this._val === b)
14
+ return;
15
+ this._val = b;
16
+ this.onChangeCallback();
17
+ }
18
+ setValQuietly(val) {
19
+ this._val = val;
20
+ }
21
+ }
22
+ exports.MemoizedNumber = MemoizedNumber;
@@ -0,0 +1,9 @@
1
+ import { Quaternion } from "../../ValueObjects";
2
+ export declare class MemoizedQuaternion {
3
+ private _val;
4
+ get val(): Quaternion;
5
+ set val(v: Quaternion);
6
+ setValQuietly(val: Quaternion): void;
7
+ private onChangeCallback;
8
+ constructor(initialValue: Quaternion, onChangeCallback: () => void);
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedQuaternion = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
+ class MemoizedQuaternion {
6
+ constructor(initialValue, onChangeCallback) {
7
+ this._val = initialValue;
8
+ this.onChangeCallback = onChangeCallback;
9
+ }
10
+ get val() {
11
+ return this._val;
12
+ }
13
+ set val(v) {
14
+ if (ValueObjects_1.Quaternion.Equal(v, this._val))
15
+ return;
16
+ this._val = v;
17
+ this.onChangeCallback();
18
+ }
19
+ setValQuietly(val) {
20
+ this._val = val;
21
+ }
22
+ }
23
+ exports.MemoizedQuaternion = MemoizedQuaternion;
@@ -0,0 +1,8 @@
1
+ export declare class MemoizedString {
2
+ private _val;
3
+ get val(): string;
4
+ set val(b: string);
5
+ setValQuietly(val: string): void;
6
+ private onChangeCallback;
7
+ constructor(initialValue: string, onChangeCallback: () => void);
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedString = void 0;
4
+ class MemoizedString {
5
+ constructor(initialValue, onChangeCallback) {
6
+ this._val = initialValue;
7
+ this.onChangeCallback = onChangeCallback;
8
+ }
9
+ get val() {
10
+ return this._val;
11
+ }
12
+ set val(b) {
13
+ if (this._val === b)
14
+ return;
15
+ this._val = b;
16
+ this.onChangeCallback();
17
+ }
18
+ setValQuietly(val) {
19
+ this._val = val;
20
+ }
21
+ }
22
+ exports.MemoizedString = MemoizedString;
@@ -0,0 +1,9 @@
1
+ import { Vector2 } from "../../ValueObjects";
2
+ export declare class MemoizedVector2 {
3
+ private _val;
4
+ get val(): Vector2;
5
+ set val(v: Vector2);
6
+ setValQuietly(val: Vector2): void;
7
+ private onChangeCallback;
8
+ constructor(initialValue: Vector2, onChangeCallback: () => void);
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedVector2 = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
+ class MemoizedVector2 {
6
+ constructor(initialValue, onChangeCallback) {
7
+ this._val = initialValue;
8
+ this.onChangeCallback = onChangeCallback;
9
+ }
10
+ get val() {
11
+ return this._val;
12
+ }
13
+ set val(v) {
14
+ if (ValueObjects_1.Vector2.Equal(v, this._val))
15
+ return;
16
+ this._val = v;
17
+ this.onChangeCallback();
18
+ }
19
+ setValQuietly(val) {
20
+ this._val = val;
21
+ }
22
+ }
23
+ exports.MemoizedVector2 = MemoizedVector2;
@@ -0,0 +1,9 @@
1
+ import { Vector3 } from "../../ValueObjects";
2
+ export declare class MemoizedVector3 {
3
+ private _val;
4
+ get val(): Vector3;
5
+ set val(v: Vector3);
6
+ setValQuietly(val: Vector3): void;
7
+ private onChangeCallback;
8
+ constructor(initialValue: Vector3, onChangeCallback: () => void);
9
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoizedVector3 = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
+ class MemoizedVector3 {
6
+ constructor(initialValue, onChangeCallback) {
7
+ this._val = initialValue;
8
+ this.onChangeCallback = onChangeCallback;
9
+ }
10
+ get val() {
11
+ return this._val;
12
+ }
13
+ set val(v) {
14
+ if (ValueObjects_1.Vector3.Equal(v, this._val))
15
+ return;
16
+ this._val = v;
17
+ this.onChangeCallback();
18
+ }
19
+ setValQuietly(val) {
20
+ this._val = val;
21
+ }
22
+ }
23
+ exports.MemoizedVector3 = MemoizedVector3;
@@ -0,0 +1,68 @@
1
+ import { Quaternion, Vector3 } from "../ValueObjects";
2
+ import { ModelObject } from "./ModelObject";
3
+ import { ObservableEntity } from "./ObservableEntity";
4
+ export interface MeshModelData {
5
+ version: number;
6
+ objects: ObjectData[];
7
+ name: string;
8
+ description: string;
9
+ bounds_min: {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ };
14
+ bounds_max: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ defaultPosition: {
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ };
24
+ defaultRotation: {
25
+ x: number;
26
+ y: number;
27
+ z: number;
28
+ w: number;
29
+ };
30
+ defaultScale: number;
31
+ }
32
+ export interface ObjectData {
33
+ id: string;
34
+ meshPaths: string[];
35
+ label: string;
36
+ }
37
+ export declare abstract class MeshModel extends ObservableEntity {
38
+ abstract readonly objects: ModelObject[];
39
+ abstract hasObject(id: string): boolean;
40
+ abstract getObjectById(id: string): ModelObject | undefined;
41
+ abstract getObjectByPath(path: string): ModelObject | undefined;
42
+ abstract addObject(object: ModelObject): void;
43
+ abstract deleteObject(id: string): void;
44
+ abstract get modelFile(): File | undefined;
45
+ abstract set modelFile(file: File | undefined);
46
+ abstract get version(): number;
47
+ abstract set version(scale: number);
48
+ abstract get name(): string;
49
+ abstract set name(name: string);
50
+ abstract get description(): string;
51
+ abstract set description(name: string);
52
+ abstract get image(): Blob | undefined;
53
+ abstract set image(image: Blob | undefined);
54
+ abstract get imageURL(): string | undefined;
55
+ abstract get bounds_min(): Vector3;
56
+ abstract set bounds_min(position: Vector3);
57
+ abstract get bounds_max(): Vector3;
58
+ abstract set bounds_max(position: Vector3);
59
+ abstract get defaultPosition(): Vector3;
60
+ abstract set defaultPosition(position: Vector3);
61
+ abstract get defaultRotation(): Quaternion;
62
+ abstract set defaultRotation(rotation: Quaternion);
63
+ abstract get defaultScale(): number;
64
+ abstract set defaultScale(scale: number);
65
+ abstract getData(): MeshModelData;
66
+ abstract setData(data: MeshModelData): void;
67
+ }
68
+ export declare function makeMeshModel(): MeshModel;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMeshModel = exports.MeshModel = void 0;
4
+ const ValueObjects_1 = require("../ValueObjects");
5
+ const MemoizedNumber_1 = require("./MemoizedNumber");
6
+ const MemoizedString_1 = require("./MemoizedString");
7
+ const MemoizedVector3_1 = require("./MemoizedVector3");
8
+ const ModelObject_1 = require("./ModelObject");
9
+ const ObservableEntity_1 = require("./ObservableEntity");
10
+ class MeshModel extends ObservableEntity_1.ObservableEntity {
11
+ }
12
+ exports.MeshModel = MeshModel;
13
+ function makeMeshModel() {
14
+ return new MeshModelImp();
15
+ }
16
+ exports.makeMeshModel = makeMeshModel;
17
+ class MeshModelImp extends MeshModel {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.objects = [];
21
+ this._modelFile = undefined;
22
+ this._memoizedVersion = new MemoizedNumber_1.MemoizedNumber(0, this.notify);
23
+ this._memoizedName = new MemoizedString_1.MemoizedString("", this.notify);
24
+ this._memoizedDescription = new MemoizedString_1.MemoizedString("", this.notify);
25
+ this._image = undefined;
26
+ this._memoizedBoundsMin = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
27
+ this._memoizedBoundsMax = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
28
+ this._memoizedDefaultPosition = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
29
+ this._defaultRotation = ValueObjects_1.Quaternion.Identity();
30
+ this._memoizedDefaultScale = new MemoizedNumber_1.MemoizedNumber(1, this.notify);
31
+ this._imageURL = undefined;
32
+ }
33
+ hasObject(id) {
34
+ return !!this.objects.find((obj) => obj.id === id);
35
+ }
36
+ getObjectById(id) {
37
+ return this.objects.find((obj) => obj.id === id);
38
+ }
39
+ getObjectByPath(path) {
40
+ let rVal;
41
+ this.objects.forEach((obj) => {
42
+ if (obj.meshPaths.includes(path)) {
43
+ rVal = obj;
44
+ }
45
+ });
46
+ return rVal;
47
+ }
48
+ addObject(object) {
49
+ object.addObserver(this.notify);
50
+ this.objects.push(object);
51
+ this.notify();
52
+ }
53
+ deleteObject(id) {
54
+ this.objects = this.objects.filter((obj) => {
55
+ if (obj.id === id) {
56
+ obj.removeObserver(this.notify);
57
+ return false;
58
+ }
59
+ return true;
60
+ });
61
+ this.notify();
62
+ }
63
+ get modelFile() {
64
+ return this._modelFile;
65
+ }
66
+ set modelFile(file) {
67
+ this._modelFile = file;
68
+ this.notify();
69
+ }
70
+ get version() {
71
+ return this._memoizedVersion.val;
72
+ }
73
+ set version(version) {
74
+ this._memoizedVersion.val = version;
75
+ }
76
+ get name() {
77
+ return this._memoizedName.val;
78
+ }
79
+ set name(name) {
80
+ this._memoizedName.val = name;
81
+ }
82
+ get description() {
83
+ return this._memoizedDescription.val;
84
+ }
85
+ set description(description) {
86
+ this._memoizedDescription.val = description;
87
+ }
88
+ get image() {
89
+ return this._image;
90
+ }
91
+ set image(image) {
92
+ if (!this._image && !image)
93
+ return;
94
+ if (this._image && image && this._image.size === image.size)
95
+ return;
96
+ this._image = image;
97
+ if (image === undefined) {
98
+ this._imageURL = undefined;
99
+ }
100
+ else {
101
+ this._imageURL = URL.createObjectURL(image);
102
+ }
103
+ this.notify();
104
+ }
105
+ get imageURL() {
106
+ return this._imageURL;
107
+ }
108
+ get bounds_min() {
109
+ return this._memoizedBoundsMin.val;
110
+ }
111
+ set bounds_min(bounds_min) {
112
+ this._memoizedBoundsMin.val = bounds_min;
113
+ }
114
+ get bounds_max() {
115
+ return this._memoizedBoundsMax.val;
116
+ }
117
+ set bounds_max(bounds_max) {
118
+ this._memoizedBoundsMax.val = bounds_max;
119
+ }
120
+ get defaultPosition() {
121
+ return this._memoizedDefaultPosition.val;
122
+ }
123
+ set defaultPosition(position) {
124
+ this._memoizedDefaultPosition.val = position;
125
+ }
126
+ get defaultRotation() {
127
+ return this._defaultRotation;
128
+ }
129
+ set defaultRotation(rotation) {
130
+ if (ValueObjects_1.Quaternion.Equal(this._defaultRotation, rotation))
131
+ return;
132
+ this._defaultRotation = rotation;
133
+ this.notify();
134
+ }
135
+ get defaultScale() {
136
+ return this._memoizedDefaultScale.val;
137
+ }
138
+ set defaultScale(scale) {
139
+ this._memoizedDefaultScale.val = scale;
140
+ }
141
+ getData() {
142
+ return {
143
+ version: this.version,
144
+ objects: this.objects.map((obj) => ({
145
+ id: obj.id,
146
+ label: obj.label,
147
+ meshPaths: [...obj.meshPaths],
148
+ })),
149
+ name: this.name,
150
+ description: this.description,
151
+ bounds_min: this.bounds_min,
152
+ bounds_max: this.bounds_max,
153
+ defaultPosition: this.defaultPosition,
154
+ defaultRotation: this.defaultRotation,
155
+ defaultScale: this.defaultScale,
156
+ };
157
+ }
158
+ setData(data) {
159
+ this.version = data.version;
160
+ data.objects.forEach((obj) => {
161
+ const modelObject = ModelObject_1.makeModelObject(obj.id);
162
+ modelObject.label = obj.label;
163
+ obj.meshPaths.forEach((path) => modelObject.addMeshPath(path));
164
+ this.addObject(modelObject);
165
+ });
166
+ this.name = data.name;
167
+ this.description = data.description;
168
+ this.bounds_min = data.bounds_min;
169
+ this.bounds_max = data.bounds_max;
170
+ this.defaultPosition = data.defaultPosition;
171
+ this.defaultRotation = data.defaultRotation;
172
+ this.defaultScale = data.defaultScale;
173
+ }
174
+ }
@@ -0,0 +1,10 @@
1
+ import { ObservableEntity } from "./ObservableEntity";
2
+ export declare abstract class ModelObject extends ObservableEntity {
3
+ abstract readonly id: string;
4
+ abstract get label(): string;
5
+ abstract set label(label: string);
6
+ abstract get meshPaths(): string[];
7
+ abstract addMeshPath(path: string): void;
8
+ abstract removeMeshPath(path: string): void;
9
+ }
10
+ export declare function makeModelObject(id: string): ModelObject;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeModelObject = exports.ModelObject = void 0;
4
+ const MemoizedString_1 = require("./MemoizedString");
5
+ const ObservableEntity_1 = require("./ObservableEntity");
6
+ class ModelObject extends ObservableEntity_1.ObservableEntity {
7
+ }
8
+ exports.ModelObject = ModelObject;
9
+ function makeModelObject(id) {
10
+ return new ModelObjectImp(id);
11
+ }
12
+ exports.makeModelObject = makeModelObject;
13
+ class ModelObjectImp extends ModelObject {
14
+ constructor(id) {
15
+ super();
16
+ this.memoizedLabel = new MemoizedString_1.MemoizedString("", this.notify);
17
+ this._meshPaths = new Set([]);
18
+ this.id = id;
19
+ }
20
+ get label() {
21
+ return this.memoizedLabel.val;
22
+ }
23
+ set label(label) {
24
+ this.memoizedLabel.val = label;
25
+ }
26
+ get meshPaths() {
27
+ return Array.from(this._meshPaths);
28
+ }
29
+ addMeshPath(path) {
30
+ if (this._meshPaths.has(path)) {
31
+ return;
32
+ }
33
+ this._meshPaths.add(path);
34
+ this.notify();
35
+ }
36
+ removeMeshPath(path) {
37
+ if (this._meshPaths.has(path)) {
38
+ this._meshPaths.delete(path);
39
+ this.notify();
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,21 @@
1
+ import { Vector2 } from "../ValueObjects";
2
+ export interface MouseInputEvent {
3
+ position: Vector2;
4
+ button: number;
5
+ event: MouseEvent;
6
+ }
7
+ export interface MouseController {
8
+ onClick?: (e: MouseInputEvent) => void;
9
+ onDown?: (e: MouseInputEvent) => void;
10
+ onUp?: (e: MouseInputEvent) => void;
11
+ onMove?: (e: MouseInputEvent) => void;
12
+ onWheel?: (e: MouseInputEvent) => void;
13
+ }
14
+ export interface MouseInput {
15
+ eventElement: HTMLElement | undefined;
16
+ setEventElement: (eventElement: HTMLElement) => void;
17
+ clearInputElement: () => void;
18
+ registerController: (controller: MouseController) => void;
19
+ removeController: (controller: MouseController) => void;
20
+ }
21
+ export declare function makeMouseInput(): MouseInput;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMouseInput = void 0;
4
+ const ValueObjects_1 = require("../ValueObjects");
5
+ function makeMouseInput() {
6
+ return new MouseInputImp();
7
+ }
8
+ exports.makeMouseInput = makeMouseInput;
9
+ class MouseInputImp {
10
+ constructor() {
11
+ this.controllers = [];
12
+ this.maxClickMovement = 5; // pixels
13
+ this.isPressed = false;
14
+ this._eventElement = undefined;
15
+ this.setEventElement = (eventElement) => {
16
+ if (this._eventElement)
17
+ this.clearInputElement();
18
+ eventElement.addEventListener("mousedown", this.onMouseDown, false);
19
+ eventElement.addEventListener("mouseup", this.onMouseUp, false);
20
+ eventElement.addEventListener("mousemove", this.onMouseMove, false);
21
+ eventElement.addEventListener("mouseout", this.onMouseOut, false);
22
+ eventElement.addEventListener("wheel", this.onWheel, false);
23
+ this._eventElement = eventElement;
24
+ };
25
+ this.clearInputElement = () => {
26
+ if (!this._eventElement)
27
+ return;
28
+ this._eventElement.removeEventListener("mousedown", this.onMouseDown);
29
+ this._eventElement.removeEventListener("mouseup", this.onMouseUp);
30
+ this._eventElement.removeEventListener("mousemove", this.onMouseMove);
31
+ this._eventElement.removeEventListener("mouseout", this.onMouseOut);
32
+ this._eventElement.removeEventListener("wheel", this.onWheel);
33
+ this._eventElement = undefined;
34
+ };
35
+ this.registerController = (controller) => {
36
+ this.controllers.push(controller);
37
+ };
38
+ this.removeController = (controller) => {
39
+ const index = this.controllers.indexOf(controller);
40
+ if (index >= 0) {
41
+ this.controllers.splice(index, 1);
42
+ }
43
+ };
44
+ this.onMouseDown = (e) => {
45
+ const inputEvt = this.makeMouseInputEvent(e);
46
+ this.controllers.forEach((c) => {
47
+ if (c.onDown) {
48
+ c.onDown(inputEvt);
49
+ }
50
+ });
51
+ this.isPressed = true;
52
+ this.pressEvent = e;
53
+ };
54
+ this.onMouseUp = (e) => {
55
+ const inputEvt = this.makeMouseInputEvent(e);
56
+ this.controllers.forEach((c) => {
57
+ if (c.onUp) {
58
+ c.onUp(inputEvt);
59
+ }
60
+ });
61
+ this.isPressed = false;
62
+ if (!this.pressEvent)
63
+ return;
64
+ const deltaX = this.pressEvent.screenX - e.screenX;
65
+ const deltaY = this.pressEvent.screenY - e.screenY;
66
+ const delta = new ValueObjects_1.Vector2(deltaX, deltaY);
67
+ if (delta.magnitued < this.maxClickMovement) {
68
+ this.controllers.forEach((c) => {
69
+ if (c.onClick) {
70
+ c.onClick(inputEvt);
71
+ }
72
+ });
73
+ }
74
+ this.pressEvent = undefined;
75
+ };
76
+ this.onMouseMove = (e) => {
77
+ const inputEvt = this.makeMouseInputEvent(e);
78
+ this.controllers.forEach((c) => {
79
+ if (c.onMove) {
80
+ c.onMove(inputEvt);
81
+ }
82
+ });
83
+ if (!this.pressEvent)
84
+ return;
85
+ const deltaX = this.pressEvent.screenX - e.screenX;
86
+ const deltaY = this.pressEvent.screenY - e.screenY;
87
+ const delta = new ValueObjects_1.Vector2(deltaX, deltaY);
88
+ if (delta.magnitued > this.maxClickMovement) {
89
+ this.pressEvent = undefined;
90
+ }
91
+ };
92
+ this.onMouseOut = (e) => {
93
+ if (!this.isPressed)
94
+ return;
95
+ const inputEvt = this.makeMouseInputEvent(e);
96
+ this.controllers.forEach((c) => {
97
+ if (c.onUp) {
98
+ c.onUp(inputEvt);
99
+ }
100
+ });
101
+ this.pressEvent = undefined;
102
+ this.isPressed = false;
103
+ };
104
+ this.onWheel = (e) => {
105
+ e.preventDefault();
106
+ const inputEvt = this.makeMouseInputEvent(e);
107
+ this.controllers.forEach((c) => {
108
+ if (c.onWheel) {
109
+ c.onWheel(inputEvt);
110
+ }
111
+ });
112
+ };
113
+ }
114
+ get eventElement() {
115
+ return this._eventElement;
116
+ }
117
+ makeMouseInputEvent(event) {
118
+ const px = event.offsetX;
119
+ const py = event.offsetY;
120
+ const button = event.button;
121
+ return {
122
+ position: new ValueObjects_1.Vector2(px, py),
123
+ button,
124
+ event,
125
+ };
126
+ }
127
+ }
@@ -0,0 +1,20 @@
1
+ import { ObservableEntity } from "./ObservableEntity";
2
+ export declare class ObservableEntityRepo<T extends ObservableEntity> extends ObservableEntity {
3
+ private entityLookup;
4
+ private onEntityAddedObservers;
5
+ addEntityAddedObserver: (observer: (addedEntity: T) => void) => void;
6
+ removeEntityAddedObserver: (observer: (addedEntity: T) => void) => void;
7
+ private onEntityRemovedObservers;
8
+ addEntityRemovedObserver: (observer: (removedEntity: T) => void) => void;
9
+ removeEntityRemovedObserver: (observer: (removedEntity: T) => void) => void;
10
+ has: (id: string) => boolean;
11
+ add: (id: string, entity: T) => void;
12
+ remove: (id: string) => void;
13
+ clear: () => void;
14
+ get: (id: string) => T | undefined;
15
+ getAll: () => T[];
16
+ set: (entities: {
17
+ id: string;
18
+ entity: T;
19
+ }[]) => void;
20
+ }