@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,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTool = exports.Tool = exports.ToolState = void 0;
4
+ const MemoizedString_1 = require("./Memoized/MemoizedString");
5
+ const ObservableEntity_1 = require("./ObservableEntity");
6
+ var ToolState;
7
+ (function (ToolState) {
8
+ ToolState["HIDDEN"] = "HIDDEN";
9
+ ToolState["DISABLED"] = "DISABLED";
10
+ ToolState["ENABLED"] = "ENABLED";
11
+ ToolState["ACTIVE"] = "ACTIVE";
12
+ })(ToolState = exports.ToolState || (exports.ToolState = {}));
13
+ class Tool extends ObservableEntity_1.ObservableEntity {
14
+ }
15
+ exports.Tool = Tool;
16
+ function makeTool(data) {
17
+ return new ToolImp(data);
18
+ }
19
+ exports.makeTool = makeTool;
20
+ class ToolImp extends Tool {
21
+ constructor(data) {
22
+ super();
23
+ this.memoizedState = new MemoizedString_1.MemoizedString(ToolState.ENABLED, this.notify);
24
+ this.actions = [];
25
+ this._isAction = false;
26
+ this.registerAction = (action) => {
27
+ this.actions.push(action);
28
+ this._isAction = true;
29
+ };
30
+ this.triggerActions = () => {
31
+ this.actions.forEach((action) => {
32
+ action();
33
+ });
34
+ };
35
+ this.isMyHotkey = (hotkey) => {
36
+ let isMine = false;
37
+ this.hotkeys.forEach((myHotkey) => {
38
+ if (this.hotkeysMatch(myHotkey, hotkey)) {
39
+ isMine = true;
40
+ }
41
+ });
42
+ return isMine;
43
+ };
44
+ this.type = data.type;
45
+ this.memoizedLabel = new MemoizedString_1.MemoizedString(data.label, this.notify);
46
+ this.isDefault = data.isDefault;
47
+ this.memoizedShortcut = new MemoizedString_1.MemoizedString(data.shortcutLabel, this.notify);
48
+ this.hotkeys = data.hotkeys;
49
+ }
50
+ get label() {
51
+ return this.memoizedLabel.val;
52
+ }
53
+ set label(toolLabel) {
54
+ this.memoizedLabel.val = toolLabel;
55
+ }
56
+ get shortcutLabel() {
57
+ return this.memoizedShortcut.val;
58
+ }
59
+ set shortcutLabel(shorcut) {
60
+ this.memoizedShortcut.val = shorcut;
61
+ }
62
+ get state() {
63
+ return this.memoizedState.val;
64
+ }
65
+ set state(val) {
66
+ this.memoizedState.val = val;
67
+ }
68
+ get isAction() {
69
+ return this._isAction;
70
+ }
71
+ hotkeysMatch(a, b) {
72
+ if (a.keyCode !== b.keyCode)
73
+ return false;
74
+ const aComplete = this.fillInMissingModifiers(a);
75
+ const bComplete = this.fillInMissingModifiers(b);
76
+ if (aComplete.alt !== bComplete.alt)
77
+ return false;
78
+ if (aComplete.control !== bComplete.control)
79
+ return false;
80
+ if (aComplete.meta !== bComplete.meta)
81
+ return false;
82
+ if (aComplete.shift !== bComplete.shift)
83
+ return false;
84
+ return true;
85
+ }
86
+ fillInMissingModifiers(hotkey) {
87
+ const rVal = Object.assign({}, hotkey);
88
+ rVal.alt = hotkey.alt === undefined ? false : hotkey.alt;
89
+ rVal.control = hotkey.control === undefined ? false : hotkey.control;
90
+ rVal.meta = hotkey.meta === undefined ? false : hotkey.meta;
91
+ rVal.shift = hotkey.shift === undefined ? false : hotkey.shift;
92
+ return rVal;
93
+ }
94
+ }
@@ -0,0 +1,46 @@
1
+ import { ObservableEntity } from "./ObservableEntity";
2
+ import { HotKey, Tool, ToolData } from "./Tool";
3
+ export declare abstract class ToolRepository<ToolTypes> extends ObservableEntity {
4
+ /**
5
+ * Retuns the active tool. If no tool is active it will return undefined.
6
+ */
7
+ abstract get activeTool(): Tool<ToolTypes> | undefined;
8
+ /**
9
+ * Returns all the tools.
10
+ */
11
+ abstract get allTools(): Tool<ToolTypes>[];
12
+ /**
13
+ * Set up the tools from a JSON data file. This should be called during construction.
14
+ * It is assumed this is only called once.
15
+ * @param toolData
16
+ */
17
+ abstract setupToolsFromData(toolData: ToolData<ToolTypes>[]): void;
18
+ /**
19
+ * Get's a tool by it's type. Retruns undefined if no tool could be found
20
+ * @param toolType The tool type
21
+ */
22
+ abstract getTool(toolType: ToolTypes): Tool<ToolTypes> | undefined;
23
+ /**
24
+ * Returns the tool that has been assinged to a particular key code.
25
+ * Will return undefined of no tool is found
26
+ * @param hotkey Key Code
27
+ */
28
+ abstract getToolForHotkey(hotkey: HotKey): Tool<ToolTypes> | undefined;
29
+ /**
30
+ * Call this to set the default tool as active
31
+ */
32
+ abstract setDefaultToolActive(): void;
33
+ /**
34
+ * Triggers a tool of type
35
+ * @param toolType Tool's type
36
+ */
37
+ abstract triggerTool(toolType: ToolTypes): void;
38
+ /**
39
+ * Toggls a tool between Hidden and shown.
40
+ * If the tool is tool is currently Active, the default tool will be set active
41
+ * The Default Tool cannot be toggled
42
+ * @param toolType Tool's type
43
+ */
44
+ abstract toggleToolVisibility(toolType: ToolTypes): void;
45
+ }
46
+ export declare function makeToolRepo<ToolTypes>(): ToolRepository<ToolTypes>;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeToolRepo = exports.ToolRepository = void 0;
4
+ const ObservableEntity_1 = require("./ObservableEntity");
5
+ const Tool_1 = require("./Tool");
6
+ class ToolRepository extends ObservableEntity_1.ObservableEntity {
7
+ }
8
+ exports.ToolRepository = ToolRepository;
9
+ function makeToolRepo() {
10
+ return new ToolRepositoryImp();
11
+ }
12
+ exports.makeToolRepo = makeToolRepo;
13
+ class ToolRepositoryImp extends ToolRepository {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.toolLookup = new Map();
17
+ }
18
+ get allTools() {
19
+ return Array.from(this.toolLookup.values());
20
+ }
21
+ setDefaultToolActive() {
22
+ if (this._defaultToolType !== undefined) {
23
+ this.triggerTool(this._defaultToolType);
24
+ }
25
+ else {
26
+ console.warn(`[ToolRepository] No default tools has been specified`);
27
+ }
28
+ }
29
+ setupToolsFromData(toolDatas) {
30
+ toolDatas.forEach((toolData) => {
31
+ const type = toolData.type;
32
+ if (this.toolLookup.has(type)) {
33
+ console.warn(`[ToolRepository] A tool with the ID ${toolData.type} already exists. Replacing`);
34
+ }
35
+ const tool = Tool_1.makeTool(toolData);
36
+ this.toolLookup.set(type, tool);
37
+ if (toolData.isDefault) {
38
+ if (this._defaultToolType) {
39
+ console.warn(`[ToolRepository] More than one tools is marked as default. Replacing`);
40
+ }
41
+ this._defaultToolType = type;
42
+ }
43
+ });
44
+ if (!this._defaultToolType) {
45
+ console.warn(`[ToolRepository] No default tools was specified. Defaulting to the first tool in the list`);
46
+ this._defaultToolType = Array.from(this.toolLookup.keys())[0];
47
+ }
48
+ if (this._defaultToolType) {
49
+ this.triggerTool(this._defaultToolType);
50
+ }
51
+ }
52
+ getTool(type) {
53
+ return this.toolLookup.get(type);
54
+ }
55
+ getToolForHotkey(hotkey) {
56
+ let tool;
57
+ this.allTools.forEach((t) => {
58
+ if (t.isMyHotkey(hotkey)) {
59
+ tool = t;
60
+ }
61
+ });
62
+ return tool;
63
+ }
64
+ get activeTool() {
65
+ if (!this._activeToolType)
66
+ return undefined;
67
+ return this.getTool(this._activeToolType);
68
+ }
69
+ triggerTool(type) {
70
+ if (this._activeToolType === type)
71
+ return;
72
+ const newActiveTool = this.toolLookup.get(type);
73
+ if (!newActiveTool) {
74
+ console.warn(`[ToolRepository] Unable to find tool ${type}`);
75
+ return;
76
+ }
77
+ if (newActiveTool.isAction) {
78
+ newActiveTool.triggerActions();
79
+ return;
80
+ }
81
+ if (newActiveTool.state === Tool_1.ToolState.DISABLED) {
82
+ return;
83
+ }
84
+ if (newActiveTool.state === Tool_1.ToolState.HIDDEN) {
85
+ return;
86
+ }
87
+ this.toolLookup.forEach((tool) => {
88
+ if (tool.type === type) {
89
+ this._activeToolType = type;
90
+ tool.state = Tool_1.ToolState.ACTIVE;
91
+ }
92
+ else if (tool.state === Tool_1.ToolState.ACTIVE) {
93
+ tool.state = Tool_1.ToolState.ENABLED;
94
+ }
95
+ });
96
+ this.notify();
97
+ }
98
+ toggleToolVisibility(type) {
99
+ const tool = this.getTool(type);
100
+ if (!tool) {
101
+ console.warn(`[ToolRepository] Unable to find tool to toggle: ${type}`);
102
+ return;
103
+ }
104
+ if (tool.type === this._defaultToolType) {
105
+ console.warn(`[ToolRepository] The default tool's visibility cannot be toggled`);
106
+ return;
107
+ }
108
+ if (tool.state === Tool_1.ToolState.HIDDEN) {
109
+ tool.state = Tool_1.ToolState.ENABLED;
110
+ }
111
+ else {
112
+ if (tool.state === Tool_1.ToolState.ACTIVE) {
113
+ this.setDefaultToolActive();
114
+ }
115
+ tool.state = Tool_1.ToolState.HIDDEN;
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,28 @@
1
+ import { Vector2 } from "../ValueObjects";
2
+ export interface TouchInputEvent {
3
+ touchCount: number;
4
+ touchCenter: Vector2;
5
+ touches: TouchData[];
6
+ event: TouchEvent;
7
+ }
8
+ export interface TouchData {
9
+ id: number;
10
+ position: Vector2;
11
+ touch?: Touch;
12
+ }
13
+ export interface TouchController {
14
+ onTouchStart?: (e: TouchInputEvent) => void;
15
+ onTouchMove?: (e: TouchInputEvent) => void;
16
+ onTouchEnd?: (e: TouchInputEvent) => void;
17
+ onTouchCancel?: (e: TouchInputEvent) => void;
18
+ }
19
+ export interface TouchInput {
20
+ eventElement: HTMLElement | undefined;
21
+ eventElementBounds?: DOMRect;
22
+ setEventElement: (eventElement: HTMLElement) => void;
23
+ clearInputElement: () => void;
24
+ updateInputElementBounds: () => void;
25
+ registerController: (controller: TouchController) => void;
26
+ removeController: (controller: TouchController) => void;
27
+ }
28
+ export declare function makeTouchInput(): TouchInput;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTouchInput = void 0;
4
+ const ValueObjects_1 = require("../ValueObjects");
5
+ function makeTouchInput() {
6
+ return new TouchInputImp();
7
+ }
8
+ exports.makeTouchInput = makeTouchInput;
9
+ class TouchInputImp {
10
+ constructor() {
11
+ this.controllers = [];
12
+ this._eventElement = undefined;
13
+ this.updateInputElementBounds = () => {
14
+ if (!this._eventElement)
15
+ return;
16
+ this.eventElementBounds = this._eventElement.getBoundingClientRect(); // Expensive so we cache
17
+ };
18
+ this.getTouchOffsetPosition = (touch) => {
19
+ if (!this.eventElementBounds) {
20
+ console.warn("No target bounds");
21
+ return ValueObjects_1.Vector2.Zero();
22
+ }
23
+ const x = touch.clientX - this.eventElementBounds.x;
24
+ const y = touch.clientY - this.eventElementBounds.y;
25
+ return new ValueObjects_1.Vector2(x, y);
26
+ };
27
+ this.setEventElement = (eventElement) => {
28
+ if (this._eventElement)
29
+ this.clearInputElement();
30
+ eventElement.addEventListener("touchstart", this.onTouchStart, false);
31
+ eventElement.addEventListener("touchmove", this.onTouchMove, false);
32
+ eventElement.addEventListener("touchend", this.onTouchEnd, false);
33
+ eventElement.addEventListener("touchcancel", this.onTouchCancel, false);
34
+ this.eventElementBounds = eventElement.getBoundingClientRect();
35
+ this._eventElement = eventElement;
36
+ };
37
+ this.onTouchStart = (e) => {
38
+ if (e.cancelable)
39
+ e.preventDefault();
40
+ const touchInput = this.createTouchInputEvent(e);
41
+ this.controllers.forEach((c) => {
42
+ if (c.onTouchStart) {
43
+ c.onTouchStart(touchInput);
44
+ }
45
+ });
46
+ };
47
+ this.onTouchMove = (e) => {
48
+ if (e.cancelable)
49
+ e.preventDefault();
50
+ const touchInput = this.createTouchInputEvent(e);
51
+ this.controllers.forEach((c) => {
52
+ if (c.onTouchMove) {
53
+ c.onTouchMove(touchInput);
54
+ }
55
+ });
56
+ };
57
+ this.onTouchEnd = (e) => {
58
+ if (e.cancelable)
59
+ e.preventDefault();
60
+ const touchInput = this.createTouchInputEvent(e);
61
+ this.controllers.forEach((c) => {
62
+ if (c.onTouchEnd) {
63
+ c.onTouchEnd(touchInput);
64
+ }
65
+ });
66
+ };
67
+ this.onTouchCancel = (e) => {
68
+ if (e.cancelable)
69
+ e.preventDefault();
70
+ const touchInput = this.createTouchInputEvent(e);
71
+ this.controllers.forEach((c) => {
72
+ if (c.onTouchCancel) {
73
+ c.onTouchCancel(touchInput);
74
+ }
75
+ });
76
+ };
77
+ this.clearInputElement = () => {
78
+ if (!this._eventElement)
79
+ return;
80
+ this._eventElement.removeEventListener("touchstart", this.onTouchStart);
81
+ this._eventElement.removeEventListener("touchmove", this.onTouchMove);
82
+ this._eventElement.removeEventListener("touchend", this.onTouchEnd);
83
+ this._eventElement.removeEventListener("touchcancel", this.onTouchCancel);
84
+ this._eventElement = undefined;
85
+ };
86
+ this.registerController = (controller) => {
87
+ this.controllers.push(controller);
88
+ };
89
+ this.removeController = (controller) => {
90
+ const index = this.controllers.indexOf(controller);
91
+ if (index >= 0) {
92
+ this.controllers.splice(index, 1);
93
+ }
94
+ };
95
+ }
96
+ get eventElement() {
97
+ return this._eventElement;
98
+ }
99
+ createTouchInputEvent(event) {
100
+ const touches = [];
101
+ const touchCount = event.touches.length;
102
+ let minX = 0;
103
+ let maxX = 0;
104
+ let minY = 0;
105
+ let maxY = 0;
106
+ for (let i = 0; i < touchCount; i++) {
107
+ const touch = event.touches[i];
108
+ const position = this.getTouchOffsetPosition(touch);
109
+ touches.push({
110
+ id: touch.identifier,
111
+ touch,
112
+ position,
113
+ });
114
+ if (i === 0) {
115
+ minX = position.x;
116
+ maxX = position.x;
117
+ minY = position.y;
118
+ maxY = position.y;
119
+ }
120
+ else {
121
+ minX = Math.min(minX, position.x);
122
+ maxX = Math.max(maxX, position.x);
123
+ minY = Math.min(minY, position.y);
124
+ maxY = Math.max(maxY, position.y);
125
+ }
126
+ }
127
+ let cntX = 0;
128
+ let cntY = 0;
129
+ if (touchCount === 1) {
130
+ cntX = maxX;
131
+ cntY = maxY;
132
+ }
133
+ else {
134
+ cntX = minX + (maxX - minX) / 2;
135
+ cntY = minY + (maxY - minY) / 2;
136
+ }
137
+ return {
138
+ touchCenter: new ValueObjects_1.Vector2(cntX, cntY),
139
+ touchCount,
140
+ touches,
141
+ event,
142
+ };
143
+ }
144
+ }
@@ -0,0 +1,22 @@
1
+ export declare type OnUndoRedoChange = () => void;
2
+ export interface UndoRedoer {
3
+ undoAction: (action: UndoRedoAction) => void;
4
+ redoAction: (action: UndoRedoAction) => void;
5
+ }
6
+ export declare type DoUndoRedoAction = (action: UndoRedoAction) => void;
7
+ export interface UndoRedo {
8
+ hasUndo: boolean;
9
+ hasRedo: boolean;
10
+ submitAction: (action: UndoRedoAction) => void;
11
+ doUndo: () => void;
12
+ doRedo: () => void;
13
+ clearStack: () => void;
14
+ registerUndoRedoer: (undoRedoer: UndoRedoer) => void;
15
+ addObserver: (observer: OnUndoRedoChange) => void;
16
+ removeObserver: (observer: OnUndoRedoChange) => void;
17
+ }
18
+ export declare function makeUndoRedo(): UndoRedo;
19
+ export declare type UndoRedoAction = {
20
+ type: string;
21
+ payload: object;
22
+ };
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeUndoRedo = void 0;
4
+ const _1 = require(".");
5
+ function makeUndoRedo() {
6
+ return new UndoRedoImp();
7
+ }
8
+ exports.makeUndoRedo = makeUndoRedo;
9
+ class UndoRedoImp {
10
+ constructor() {
11
+ this.observers = new _1.ObserverList();
12
+ this.undoRedoers = [];
13
+ this.undoStack = [];
14
+ this.redoStack = [];
15
+ this.doUndo = () => {
16
+ const action = this.undoStack.pop();
17
+ if (!action) {
18
+ console.warn("[UndoRedo] nothing to undo");
19
+ return;
20
+ }
21
+ this.redoStack.push(action);
22
+ this.undoRedoers.forEach(undoers => undoers.undoAction(action));
23
+ this.observers.notify();
24
+ };
25
+ this.doRedo = () => {
26
+ const action = this.redoStack.pop();
27
+ if (!action) {
28
+ console.warn("[UndoRedo] nothing to redo");
29
+ return;
30
+ }
31
+ this.undoStack.push(action);
32
+ this.undoRedoers.forEach(redoers => redoers.redoAction(action));
33
+ this.observers.notify();
34
+ };
35
+ this.submitAction = (action) => {
36
+ this.undoStack.push(action);
37
+ this.redoStack = [];
38
+ this.observers.notify();
39
+ };
40
+ this.clearStack = () => {
41
+ this.redoStack = [];
42
+ this.undoStack = [];
43
+ this.observers.notify();
44
+ };
45
+ this.registerUndoRedoer = (undoredoer) => {
46
+ this.undoRedoers.push(undoredoer);
47
+ };
48
+ this.addObserver = (observer) => {
49
+ this.observers.add(observer);
50
+ };
51
+ this.removeObserver = (observer) => {
52
+ this.observers.remove(observer);
53
+ };
54
+ }
55
+ get hasUndo() {
56
+ return this.undoStack.length > 0;
57
+ }
58
+ get hasRedo() {
59
+ return this.redoStack.length > 0;
60
+ }
61
+ }
@@ -0,0 +1,14 @@
1
+ import { DevicePreview } from "../Entities";
2
+ export interface DevicePreviewVM {
3
+ x: number;
4
+ y: number;
5
+ useDevicePreview: boolean;
6
+ }
7
+ export declare class DevicePreviewPM {
8
+ devicePreview: DevicePreview;
9
+ updateView: (vm: DevicePreviewVM) => void;
10
+ doUpdateView: () => void;
11
+ dispose(): void;
12
+ constructor(devicePreview: DevicePreview, updateView: (vm: DevicePreviewVM) => void);
13
+ }
14
+ export declare const defaultDevicePreviewVM: DevicePreviewVM;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultDevicePreviewVM = exports.DevicePreviewPM = void 0;
4
+ class DevicePreviewPM {
5
+ constructor(devicePreview, updateView) {
6
+ this.doUpdateView = () => {
7
+ const useDevicePreview = this.devicePreview.useDevicePreview;
8
+ const x = this.devicePreview.previewSize.x;
9
+ const y = this.devicePreview.previewSize.y;
10
+ this.updateView({
11
+ x,
12
+ y,
13
+ useDevicePreview,
14
+ });
15
+ };
16
+ this.devicePreview = devicePreview;
17
+ this.updateView = updateView;
18
+ this.doUpdateView();
19
+ this.devicePreview.addObserver(this.doUpdateView);
20
+ }
21
+ dispose() {
22
+ this.devicePreview.removeObserver(this.doUpdateView);
23
+ }
24
+ }
25
+ exports.DevicePreviewPM = DevicePreviewPM;
26
+ exports.defaultDevicePreviewVM = {
27
+ x: 0,
28
+ y: 0,
29
+ useDevicePreview: false,
30
+ };
@@ -0,0 +1,15 @@
1
+ import { FocusCamera } from "../Entities";
2
+ import { Vector3 } from "../ValueObjects";
3
+ export interface FocusCameraVM {
4
+ alphaEuler: Vector3;
5
+ betaEuler: Vector3;
6
+ cameraLocalPosition: Vector3;
7
+ target: Vector3;
8
+ }
9
+ export declare class FocusCameraPM {
10
+ private orbitCam;
11
+ private view;
12
+ dispose(): void;
13
+ private doUpdateView;
14
+ constructor(orbitCamera: FocusCamera, view: (vm: FocusCameraVM) => void);
15
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FocusCameraPM = void 0;
4
+ const Utilities_1 = require("../Utilities");
5
+ const ValueObjects_1 = require("../ValueObjects");
6
+ class FocusCameraPM {
7
+ constructor(orbitCamera, view) {
8
+ this.doUpdateView = () => {
9
+ const { alpha, beta, radius, target } = this.orbitCam;
10
+ const alphaRadians = Utilities_1.degreesToRadians(alpha);
11
+ const alphaEuler = new ValueObjects_1.Vector3(0, alphaRadians, 0);
12
+ const betaRadians = Utilities_1.degreesToRadians(beta);
13
+ const betaEuler = new ValueObjects_1.Vector3(betaRadians, 0, 0);
14
+ const cameraLocalPosition = new ValueObjects_1.Vector3(0, 0, -radius);
15
+ this.view({
16
+ alphaEuler,
17
+ betaEuler,
18
+ cameraLocalPosition,
19
+ target,
20
+ });
21
+ };
22
+ this.orbitCam = orbitCamera;
23
+ this.view = view;
24
+ this.doUpdateView();
25
+ this.orbitCam.addObserver(this.doUpdateView);
26
+ }
27
+ dispose() {
28
+ this.orbitCam.removeObserver(this.doUpdateView);
29
+ }
30
+ }
31
+ exports.FocusCameraPM = FocusCameraPM;
@@ -0,0 +1,13 @@
1
+ import { FocusCamera } from "../Entities";
2
+ import { Vector3 } from "../ValueObjects";
3
+ export interface FocusCameraPosRotVM {
4
+ position: Vector3;
5
+ rotation: Vector3;
6
+ }
7
+ export declare class FocusCameraPosRotPM {
8
+ private focusCam;
9
+ private view;
10
+ dispose(): void;
11
+ private doUpdateView;
12
+ constructor(orbitCamera: FocusCamera, view: (vm: FocusCameraPosRotVM) => void);
13
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FocusCameraPosRotPM = void 0;
4
+ const Utilities_1 = require("../Utilities");
5
+ const ValueObjects_1 = require("../ValueObjects");
6
+ class FocusCameraPosRotPM {
7
+ constructor(orbitCamera, view) {
8
+ this.doUpdateView = () => {
9
+ const { alpha, beta } = this.focusCam;
10
+ const alphaRadians = Utilities_1.degreesToRadians(alpha);
11
+ const betaRadians = Utilities_1.degreesToRadians(beta);
12
+ const position = this.focusCam.cameraPosition;
13
+ const rotation = new ValueObjects_1.Vector3(betaRadians, alphaRadians, 0);
14
+ this.view({
15
+ position,
16
+ rotation,
17
+ });
18
+ };
19
+ this.focusCam = orbitCamera;
20
+ this.view = view;
21
+ this.doUpdateView();
22
+ this.focusCam.addObserver(this.doUpdateView);
23
+ }
24
+ dispose() {
25
+ this.focusCam.removeObserver(this.doUpdateView);
26
+ }
27
+ }
28
+ exports.FocusCameraPosRotPM = FocusCameraPosRotPM;
@@ -0,0 +1,18 @@
1
+ import { FramedScreen } from "../Entities";
2
+ export interface FramedContainerVM {
3
+ top: number;
4
+ left: number;
5
+ width: number;
6
+ height: number;
7
+ show: boolean;
8
+ }
9
+ export declare class FramedContainerPM {
10
+ private updateView;
11
+ private container?;
12
+ private lastVM?;
13
+ doUpdateView: () => void;
14
+ private vmHadChanged;
15
+ dispose: () => void;
16
+ constructor(containerID: string, framedScreen: FramedScreen, updateView: (vm: FramedContainerVM) => void);
17
+ }
18
+ export declare const defaultFramedContainerVM: FramedContainerVM;