@vived/app 3.8.0 → 3.9.1

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 (358) hide show
  1. package/lib/AppObjectComponents/App/Controller/clickEditSlideText.d.ts +2 -0
  2. package/lib/AppObjectComponents/App/Controller/clickEditSlideText.js +14 -0
  3. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.d.ts +2 -0
  4. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.js +14 -0
  5. package/lib/AppObjectComponents/App/Controller/startRenderingApp.d.ts +2 -0
  6. package/lib/AppObjectComponents/App/Controller/startRenderingApp.js +14 -0
  7. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.d.ts +2 -0
  8. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.js +14 -0
  9. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.d.ts +2 -0
  10. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.js +14 -0
  11. package/lib/AppObjectComponents/App/Entity/BaseAppState.d.ts +14 -0
  12. package/lib/AppObjectComponents/App/Entity/BaseAppState.js +50 -0
  13. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.d.ts +8 -0
  14. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.js +12 -0
  15. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.d.ts +8 -0
  16. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.js +12 -0
  17. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.d.ts +11 -0
  18. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.js +38 -0
  19. package/lib/AppObjectComponents/App/PM/IsReviewingPM.d.ts +11 -0
  20. package/lib/AppObjectComponents/App/PM/IsReviewingPM.js +38 -0
  21. package/lib/AppObjectComponents/App/PM/SlideTextPM.d.ts +11 -0
  22. package/lib/AppObjectComponents/App/PM/SlideTextPM.js +37 -0
  23. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.d.ts +8 -0
  24. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.js +20 -0
  25. package/lib/AppObjectComponents/App/UseCase/EditSlideTextUC.d.ts +17 -0
  26. package/lib/AppObjectComponents/App/UseCase/EditSlideTextUC.js +67 -0
  27. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.d.ts +10 -0
  28. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.js +101 -0
  29. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.d.ts +2 -0
  30. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.js +23 -0
  31. package/lib/AppObjectComponents/App/UseCase/submitError.d.ts +2 -0
  32. package/lib/AppObjectComponents/App/UseCase/submitError.js +26 -0
  33. package/lib/AppObjectComponents/App/UseCase/submitFatal.d.ts +2 -0
  34. package/lib/AppObjectComponents/App/UseCase/submitFatal.js +26 -0
  35. package/lib/AppObjectComponents/App/UseCase/submitLog.d.ts +2 -0
  36. package/lib/AppObjectComponents/App/UseCase/submitLog.js +26 -0
  37. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.d.ts +2 -0
  38. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.js +26 -0
  39. package/lib/AppObjectComponents/App/UseCase/submitWarning.d.ts +2 -0
  40. package/lib/AppObjectComponents/App/UseCase/submitWarning.js +26 -0
  41. package/lib/AppObjectComponents/App/index.d.ts +14 -0
  42. package/lib/AppObjectComponents/App/index.js +26 -0
  43. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.d.ts +16 -0
  44. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.js +80 -0
  45. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.d.ts +2 -0
  46. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.js +11 -0
  47. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.d.ts +9 -0
  48. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.js +13 -0
  49. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.d.ts +8 -0
  50. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.js +28 -0
  51. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.d.ts +9 -0
  52. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.js +20 -0
  53. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.d.ts +9 -0
  54. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.js +30 -0
  55. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.d.ts +17 -0
  56. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.js +29 -0
  57. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.d.ts +16 -0
  58. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.js +29 -0
  59. package/lib/AppObjectComponents/Babylon/index.d.ts +7 -0
  60. package/lib/AppObjectComponents/Babylon/index.js +19 -0
  61. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.d.ts +7 -0
  62. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.js +19 -0
  63. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.d.ts +9 -0
  64. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.js +63 -0
  65. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.d.ts +10 -0
  66. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.js +21 -0
  67. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.d.ts +9 -0
  68. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.js +13 -0
  69. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.d.ts +8 -0
  70. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.js +12 -0
  71. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.d.ts +10 -0
  72. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.js +14 -0
  73. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.d.ts +11 -0
  74. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.js +55 -0
  75. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.d.ts +18 -0
  76. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.js +78 -0
  77. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.d.ts +11 -0
  78. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.js +72 -0
  79. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.d.ts +11 -0
  80. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.js +71 -0
  81. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.d.ts +12 -0
  82. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.js +72 -0
  83. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.d.ts +12 -0
  84. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.js +72 -0
  85. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.d.ts +12 -0
  86. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.js +73 -0
  87. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.d.ts +11 -0
  88. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.js +67 -0
  89. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.d.ts +13 -0
  90. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.js +61 -0
  91. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.d.ts +11 -0
  92. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.js +57 -0
  93. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.d.ts +16 -0
  94. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.js +50 -0
  95. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.d.ts +18 -0
  96. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.js +52 -0
  97. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.d.ts +15 -0
  98. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.js +52 -0
  99. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.d.ts +13 -0
  100. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.js +54 -0
  101. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.d.ts +10 -0
  102. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.js +57 -0
  103. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.d.ts +10 -0
  104. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.js +49 -0
  105. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.d.ts +11 -0
  106. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.js +55 -0
  107. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.d.ts +43 -0
  108. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.js +159 -0
  109. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.d.ts +18 -0
  110. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.js +86 -0
  111. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.d.ts +12 -0
  112. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.js +18 -0
  113. package/lib/AppObjectComponents/KeyboardInput/index.d.ts +1 -0
  114. package/lib/{UseCases/SceneRoot → AppObjectComponents/KeyboardInput}/index.js +1 -2
  115. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.d.ts +31 -0
  116. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.js +196 -0
  117. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.d.ts +12 -0
  118. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.js +18 -0
  119. package/lib/AppObjectComponents/MouseInput/index.d.ts +1 -0
  120. package/lib/{UseCases/SceneObjects → AppObjectComponents/MouseInput}/index.js +1 -1
  121. package/lib/AppObjectComponents/Question/Controllers/index.d.ts +4 -0
  122. package/lib/{UseCases/SceneModel → AppObjectComponents/Question/Controllers}/index.js +4 -5
  123. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.d.ts +2 -0
  124. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.js +25 -0
  125. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.d.ts +2 -0
  126. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.js +25 -0
  127. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.d.ts +2 -0
  128. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.js +14 -0
  129. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.d.ts +2 -0
  130. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.js +25 -0
  131. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.d.ts +36 -0
  132. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.js +73 -0
  133. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.d.ts +24 -0
  134. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.js +122 -0
  135. package/lib/AppObjectComponents/Question/Entities/index.d.ts +2 -0
  136. package/lib/{UseCases/FocusCamera → AppObjectComponents/Question/Entities}/index.js +2 -7
  137. package/lib/AppObjectComponents/Question/Factories/index.d.ts +2 -0
  138. package/lib/AppObjectComponents/Question/Factories/index.js +14 -0
  139. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.d.ts +3 -0
  140. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.js +20 -0
  141. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.d.ts +3 -0
  142. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.js +22 -0
  143. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.d.ts +12 -0
  144. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.js +21 -0
  145. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.d.ts +19 -0
  146. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.js +60 -0
  147. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.d.ts +20 -0
  148. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.js +70 -0
  149. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.d.ts +19 -0
  150. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.js +71 -0
  151. package/lib/AppObjectComponents/Question/PresentationManagers/index.d.ts +2 -0
  152. package/lib/AppObjectComponents/Question/PresentationManagers/index.js +14 -0
  153. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.d.ts +10 -0
  154. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.js +52 -0
  155. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.d.ts +10 -0
  156. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.js +54 -0
  157. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.d.ts +35 -0
  158. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.js +94 -0
  159. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.d.ts +7 -0
  160. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.js +33 -0
  161. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.d.ts +7 -0
  162. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.js +33 -0
  163. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.d.ts +2 -0
  164. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.js +16 -0
  165. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.d.ts +9 -0
  166. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.js +59 -0
  167. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.d.ts +7 -0
  168. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.js +31 -0
  169. package/lib/AppObjectComponents/Question/UseCases/index.d.ts +7 -0
  170. package/lib/AppObjectComponents/Question/UseCases/index.js +19 -0
  171. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.d.ts +20 -0
  172. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.js +89 -0
  173. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.d.ts +11 -0
  174. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.js +36 -0
  175. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts +12 -0
  176. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.js +37 -0
  177. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.d.ts +14 -0
  178. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.js +55 -0
  179. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.d.ts +14 -0
  180. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.js +50 -0
  181. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.d.ts +11 -0
  182. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.js +38 -0
  183. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.d.ts +14 -0
  184. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.js +51 -0
  185. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.d.ts +13 -0
  186. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.js +52 -0
  187. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.d.ts +13 -0
  188. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.js +53 -0
  189. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.d.ts +14 -0
  190. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.js +56 -0
  191. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.d.ts +14 -0
  192. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.js +57 -0
  193. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.d.ts +3 -0
  194. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.js +28 -0
  195. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.d.ts +11 -0
  196. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.js +60 -0
  197. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.d.ts +14 -0
  198. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.js +62 -0
  199. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.d.ts +12 -0
  200. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.js +74 -0
  201. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.d.ts +13 -0
  202. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.js +56 -0
  203. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.d.ts +14 -0
  204. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.js +92 -0
  205. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.d.ts +13 -0
  206. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.js +86 -0
  207. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.d.ts +13 -0
  208. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.js +102 -0
  209. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.d.ts +14 -0
  210. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.js +38 -0
  211. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.d.ts +30 -0
  212. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.js +105 -0
  213. package/lib/AppObjectComponents/StateMachine/index.d.ts +1 -0
  214. package/lib/AppObjectComponents/StateMachine/index.js +13 -0
  215. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.d.ts +9 -0
  216. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.js +43 -0
  217. package/lib/AppObjectComponents/Tools/Controller/triggerTool.d.ts +2 -0
  218. package/lib/AppObjectComponents/Tools/Controller/triggerTool.js +14 -0
  219. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.d.ts +39 -0
  220. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.js +95 -0
  221. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.d.ts +17 -0
  222. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.js +132 -0
  223. package/lib/AppObjectComponents/Tools/Factories/setupTool.d.ts +3 -0
  224. package/lib/AppObjectComponents/Tools/Factories/setupTool.js +12 -0
  225. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.d.ts +4 -0
  226. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.js +13 -0
  227. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.d.ts +19 -0
  228. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.js +66 -0
  229. package/lib/AppObjectComponents/Tools/index.d.ts +6 -0
  230. package/lib/AppObjectComponents/Tools/index.js +18 -0
  231. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.d.ts +33 -0
  232. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.js +161 -0
  233. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.d.ts +13 -0
  234. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.js +18 -0
  235. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.d.ts +3 -0
  236. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.js +26 -0
  237. package/lib/AppObjectComponents/TouchController/index.d.ts +1 -0
  238. package/lib/AppObjectComponents/TouchController/index.js +13 -0
  239. package/lib/AppObjectComponents/UndoRedo/Controllers/clearUndoStack.d.ts +2 -0
  240. package/lib/AppObjectComponents/UndoRedo/Controllers/clearUndoStack.js +14 -0
  241. package/lib/AppObjectComponents/UndoRedo/Controllers/doRedo.d.ts +2 -0
  242. package/lib/AppObjectComponents/UndoRedo/Controllers/doRedo.js +14 -0
  243. package/lib/AppObjectComponents/UndoRedo/Controllers/doUndo.d.ts +2 -0
  244. package/lib/AppObjectComponents/UndoRedo/Controllers/doUndo.js +14 -0
  245. package/lib/AppObjectComponents/UndoRedo/Entities/UndoRedoEntity.d.ts +31 -0
  246. package/lib/AppObjectComponents/UndoRedo/Entities/UndoRedoEntity.js +76 -0
  247. package/lib/AppObjectComponents/UndoRedo/Factories/setupUndo.d.ts +3 -0
  248. package/lib/AppObjectComponents/UndoRedo/Factories/setupUndo.js +14 -0
  249. package/lib/AppObjectComponents/UndoRedo/PresentationManager/HasRedoPM.d.ts +12 -0
  250. package/lib/AppObjectComponents/UndoRedo/PresentationManager/HasRedoPM.js +45 -0
  251. package/lib/AppObjectComponents/UndoRedo/PresentationManager/HasUndoPM.d.ts +12 -0
  252. package/lib/AppObjectComponents/UndoRedo/PresentationManager/HasUndoPM.js +45 -0
  253. package/lib/AppObjectComponents/UndoRedo/index.d.ts +7 -0
  254. package/lib/AppObjectComponents/UndoRedo/index.js +19 -0
  255. package/lib/AppObjectComponents/XR/Entity/XREntity.d.ts +13 -0
  256. package/lib/AppObjectComponents/XR/Entity/XREntity.js +24 -0
  257. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.d.ts +7 -0
  258. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.js +8 -0
  259. package/lib/AppObjectComponents/XR/index.d.ts +2 -0
  260. package/lib/AppObjectComponents/XR/index.js +14 -0
  261. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.d.ts +14 -0
  262. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.js +57 -0
  263. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.d.ts +13 -0
  264. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.js +51 -0
  265. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.d.ts +21 -0
  266. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.js +60 -0
  267. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.d.ts +21 -0
  268. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.js +64 -0
  269. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.d.ts +26 -0
  270. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.js +86 -0
  271. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.d.ts +25 -0
  272. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.js +47 -0
  273. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.d.ts +3 -0
  274. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.js +31 -0
  275. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.d.ts +12 -0
  276. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.js +65 -0
  277. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.d.ts +6 -0
  278. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.js +41 -0
  279. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.d.ts +18 -0
  280. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.js +79 -0
  281. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.d.ts +12 -0
  282. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.js +69 -0
  283. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.d.ts +17 -0
  284. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.js +84 -0
  285. package/lib/AppObjectComponents/zSpace/index.d.ts +12 -0
  286. package/lib/AppObjectComponents/zSpace/index.js +24 -0
  287. package/lib/Entities/QuestionChallenge.js +2 -0
  288. package/lib/Types/AppBoundary.d.ts +6 -0
  289. package/lib/Types/AppBoundary.js +2 -0
  290. package/lib/Types/AssetMetaDTO.d.ts +5 -0
  291. package/lib/Types/AssetMetaDTO.js +2 -0
  292. package/lib/UseCases/Handlers/SetThemeColorsBase.d.ts +13 -0
  293. package/lib/UseCases/Handlers/SetThemeColorsBase.js +32 -0
  294. package/lib/UseCases/Handlers/index.d.ts +1 -0
  295. package/lib/UseCases/Handlers/index.js +1 -0
  296. package/lib/Utilities/generateUniqueID.d.ts +1 -0
  297. package/lib/Utilities/generateUniqueID.js +8 -0
  298. package/package.json +1 -1
  299. package/lib/Entities/FocusCamera.d.ts +0 -70
  300. package/lib/Entities/FocusCamera.js +0 -272
  301. package/lib/Entities/MemoizedBoolean.d.ts +0 -8
  302. package/lib/Entities/MemoizedBoolean.js +0 -22
  303. package/lib/Entities/MemoizedNumber.d.ts +0 -8
  304. package/lib/Entities/MemoizedNumber.js +0 -22
  305. package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
  306. package/lib/Entities/MemoizedQuaternion.js +0 -23
  307. package/lib/Entities/MemoizedString.d.ts +0 -8
  308. package/lib/Entities/MemoizedString.js +0 -22
  309. package/lib/Entities/MemoizedVector2.d.ts +0 -9
  310. package/lib/Entities/MemoizedVector2.js +0 -23
  311. package/lib/Entities/MemoizedVector3.d.ts +0 -9
  312. package/lib/Entities/MemoizedVector3.js +0 -23
  313. package/lib/Entities/MeshModel.d.ts +0 -68
  314. package/lib/Entities/MeshModel.js +0 -174
  315. package/lib/Entities/ModelObject.d.ts +0 -10
  316. package/lib/Entities/ModelObject.js +0 -42
  317. package/lib/Entities/SceneRoot.d.ts +0 -29
  318. package/lib/Entities/SceneRoot.js +0 -145
  319. package/lib/PresentationManagers/FocusCameraPM.d.ts +0 -15
  320. package/lib/PresentationManagers/FocusCameraPM.js +0 -31
  321. package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +0 -13
  322. package/lib/PresentationManagers/FocusCameraPosRotPM.js +0 -28
  323. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
  324. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
  325. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +0 -17
  326. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +0 -64
  327. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +0 -36
  328. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +0 -71
  329. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +0 -11
  330. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +0 -36
  331. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +0 -11
  332. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +0 -36
  333. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +0 -11
  334. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +0 -26
  335. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +0 -11
  336. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +0 -33
  337. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +0 -22
  338. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +0 -81
  339. package/lib/UseCases/FocusCamera/index.d.ts +0 -7
  340. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
  341. package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
  342. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
  343. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
  344. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
  345. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
  346. package/lib/UseCases/SceneModel/index.d.ts +0 -5
  347. package/lib/UseCases/SceneModel/loadNewModel.d.ts +0 -2
  348. package/lib/UseCases/SceneModel/loadNewModel.js +0 -84
  349. package/lib/UseCases/SceneModel/modelDataLoader.d.ts +0 -3
  350. package/lib/UseCases/SceneModel/modelDataLoader.js +0 -33
  351. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
  352. package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
  353. package/lib/UseCases/SceneObjects/index.d.ts +0 -1
  354. package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +0 -33
  355. package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +0 -67
  356. package/lib/UseCases/SceneRoot/index.d.ts +0 -2
  357. package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +0 -2
  358. package/lib/UseCases/SceneRoot/setupSceneRoot.js +0 -11
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeFocusOnPixelUC = exports.FocusOnPixelUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const App_1 = require("../../App");
6
+ const Babylon_1 = require("../../Babylon");
7
+ const Dispatcher_1 = require("../../Dispatcher");
8
+ const SceneRoot_1 = require("../Entities/SceneRoot");
9
+ class FocusOnPixelUC extends AppObjectUC_1.AppObjectUC {
10
+ static get(appObjects) {
11
+ const components = appObjects.getAllComponents(FocusOnPixelUC.type);
12
+ if (components.length === 0) {
13
+ App_1.submitWarning(FocusOnPixelUC.type, `Unable to find component ${FocusOnPixelUC.type}. Add one on Mount`, appObjects);
14
+ return undefined;
15
+ }
16
+ else if (components.length > 1) {
17
+ App_1.submitWarning(FocusOnPixelUC.type, `Multiple ${FocusOnPixelUC.type} found. There should only be one. Using the first one`, appObjects);
18
+ }
19
+ return components[0];
20
+ }
21
+ }
22
+ exports.FocusOnPixelUC = FocusOnPixelUC;
23
+ FocusOnPixelUC.type = "FocusOnPixelUC";
24
+ function makeFocusOnPixelUC(appObject) {
25
+ return new FocusOnPixelImp(appObject);
26
+ }
27
+ exports.makeFocusOnPixelUC = makeFocusOnPixelUC;
28
+ class FocusOnPixelImp extends FocusOnPixelUC {
29
+ constructor(appObject) {
30
+ super(appObject, FocusOnPixelUC.type);
31
+ this.durationMS = 500;
32
+ this.easeFn = (val) => {
33
+ return val;
34
+ };
35
+ this.centerOnPixel = (pixel) => {
36
+ if (!this.sceneRoot)
37
+ return;
38
+ const scenePick = Babylon_1.scenePixelPick(pixel, this.appObjects);
39
+ if (scenePick === null || scenePick === void 0 ? void 0 : scenePick.worldPickPoint) {
40
+ this.sceneRoot.centerOnPoint(scenePick.worldPickPoint, this.durationMS, this.easeFn, () => this.onCenterCompleted());
41
+ }
42
+ else {
43
+ this.sceneRoot.lerpToDefault(this.durationMS, this.easeFn, () => this.onCenterCompleted());
44
+ }
45
+ };
46
+ this.onCenterCompleted = () => {
47
+ Dispatcher_1.dispatchStateChange(this.appObjects);
48
+ };
49
+ this.appObjects = appObject.appObjectRepo;
50
+ this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
51
+ if (!this.sceneRoot) {
52
+ App_1.submitWarning("BumpSceneRootScaleAboutPixelPoint", "BumpSceneRootScaleAboutPixelPointImp UC has been added to an App Object that does not have a SceneRoot Entity", this.appObjects);
53
+ return;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,14 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ import { Vector2 } from "../../../ValueObjects";
5
+ export declare abstract class OrbitSceneRootUC extends AppObjectUC {
6
+ static readonly type = "OrbitSceneRootUC";
7
+ abstract readonly sensitivity: number;
8
+ abstract doOrbit: (pixel: Vector2) => void;
9
+ abstract initializeOrbit: (pixel: Vector2) => void;
10
+ abstract finishOrbit: () => void;
11
+ abstract cancelOrbit: () => void;
12
+ static get(appObjects: AppObjectRepo): OrbitSceneRootUC | undefined;
13
+ }
14
+ export declare function makeOrbitSceneRootUC(appObject: AppObject): OrbitSceneRootUC;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeOrbitSceneRootUC = exports.OrbitSceneRootUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const App_1 = require("../../App");
7
+ const Babylon_1 = require("../../Babylon");
8
+ const Dispatcher_1 = require("../../Dispatcher");
9
+ const SceneRoot_1 = require("../Entities/SceneRoot");
10
+ class OrbitSceneRootUC extends AppObjectUC_1.AppObjectUC {
11
+ static get(appObjects) {
12
+ const components = appObjects.getAllComponents(OrbitSceneRootUC.type);
13
+ if (components.length === 0) {
14
+ App_1.submitWarning(OrbitSceneRootUC.type, `Unable to find component ${OrbitSceneRootUC.type}. Add one on Mount`, appObjects);
15
+ return undefined;
16
+ }
17
+ else if (components.length > 1) {
18
+ App_1.submitWarning(OrbitSceneRootUC.type, `Multiple ${OrbitSceneRootUC.type} found. There should only be one. Using the first one`, appObjects);
19
+ }
20
+ return components[0];
21
+ }
22
+ }
23
+ exports.OrbitSceneRootUC = OrbitSceneRootUC;
24
+ OrbitSceneRootUC.type = "OrbitSceneRootUC";
25
+ function makeOrbitSceneRootUC(appObject) {
26
+ return new OrbitSceneRootImp(appObject);
27
+ }
28
+ exports.makeOrbitSceneRootUC = makeOrbitSceneRootUC;
29
+ class OrbitSceneRootImp extends OrbitSceneRootUC {
30
+ constructor(appObject) {
31
+ var _a;
32
+ super(appObject, OrbitSceneRootUC.type);
33
+ this.sensitivity = 0.1;
34
+ this.lastPixelPos = ValueObjects_1.Vector2.Zero();
35
+ this.pickPoint = ValueObjects_1.Vector3.Zero();
36
+ this.localPickOffset = ValueObjects_1.Vector3.Zero();
37
+ this.initialQuat = ValueObjects_1.Quaternion.Identity();
38
+ this.hasBeenInitialized = false;
39
+ this.doOrbit = (pixelPosition) => {
40
+ if (!this.transformNode)
41
+ return;
42
+ if (!this.hasBeenInitialized)
43
+ return;
44
+ const pixelChange = ValueObjects_1.Vector2.Subtract(pixelPosition, this.lastPixelPos);
45
+ const pitchAngle = ValueObjects_1.Angle.FromDegrees(pixelChange.y * this.sensitivity);
46
+ const pitchQuaternion = ValueObjects_1.Quaternion.FromAngleAxis(ValueObjects_1.Vector3.Left(), pitchAngle);
47
+ this.transformNode.worldRotation = ValueObjects_1.Quaternion.Multiply(pitchQuaternion, this.transformNode.worldRotation);
48
+ const worldUp = this.transformNode.localDirectionToWorld(ValueObjects_1.Vector3.Up());
49
+ let xMovement = pixelChange.x;
50
+ if (worldUp.y < 0) {
51
+ xMovement = -pixelChange.x;
52
+ }
53
+ const headingAngle = ValueObjects_1.Angle.FromDegrees(xMovement * this.sensitivity);
54
+ const headingQuaternion = ValueObjects_1.Quaternion.FromAngleAxis(ValueObjects_1.Vector3.Down(), headingAngle);
55
+ this.transformNode.localRotation = ValueObjects_1.Quaternion.Multiply(this.transformNode.localRotation, headingQuaternion);
56
+ const worldPickOffset = this.transformNode.localPointToWorld(this.localPickOffset);
57
+ const bump = ValueObjects_1.Vector3.Subtract(this.pickPoint, worldPickOffset);
58
+ this.transformNode.worldPosition = ValueObjects_1.Vector3.Add(bump, this.transformNode.worldPosition);
59
+ this.lastPixelPos = pixelPosition;
60
+ };
61
+ this.initializeOrbit = (initialPixelPos) => {
62
+ var _a;
63
+ if (!this.transformNode)
64
+ return;
65
+ this.lastPixelPos = initialPixelPos;
66
+ const pick = Babylon_1.scenePixelPick(initialPixelPos, this.appObjects);
67
+ this.pickPoint = (_a = pick === null || pick === void 0 ? void 0 : pick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
68
+ this.localPickOffset = this.transformNode.worldPointToLocal(this.pickPoint);
69
+ this.transformNode.cancelLerp();
70
+ this.hasBeenInitialized = true;
71
+ this.initialQuat = this.transformNode.localRotation;
72
+ };
73
+ this.finishOrbit = () => {
74
+ this.hasBeenInitialized = false;
75
+ if (!this.transformNode)
76
+ return;
77
+ if (ValueObjects_1.Quaternion.Equal(this.initialQuat, this.transformNode.localRotation))
78
+ return;
79
+ Dispatcher_1.dispatchStateChange(this.appObjects);
80
+ };
81
+ this.cancelOrbit = () => {
82
+ this.hasBeenInitialized = false;
83
+ };
84
+ this.appObjects = appObject.appObjectRepo;
85
+ this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
86
+ if (!this.sceneRoot) {
87
+ App_1.submitWarning("OrbitSceneRootImp", "OrbitSceneRootImp UC has been added to an App Object that does not have a SceneRoot Entity", this.appObjects);
88
+ return;
89
+ }
90
+ this.transformNode = (_a = this.sceneRoot) === null || _a === void 0 ? void 0 : _a.transform;
91
+ }
92
+ }
@@ -0,0 +1,13 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ import { Vector2 } from "../../../ValueObjects";
5
+ export declare abstract class PanSceneRootUC extends AppObjectUC {
6
+ static readonly type = "PanSceneRootUC";
7
+ abstract doPan: (pixel: Vector2) => void;
8
+ abstract initializePan: (pixel: Vector2) => void;
9
+ abstract finishPan: () => void;
10
+ abstract cancelPan: () => void;
11
+ static get(appObjects: AppObjectRepo): PanSceneRootUC | undefined;
12
+ }
13
+ export declare function makePanSceneRootUC(appObject: AppObject): PanSceneRootUC;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makePanSceneRootUC = exports.PanSceneRootUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const App_1 = require("../../App");
7
+ const Babylon_1 = require("../../Babylon");
8
+ const Dispatcher_1 = require("../../Dispatcher");
9
+ const SceneRoot_1 = require("../Entities/SceneRoot");
10
+ class PanSceneRootUC extends AppObjectUC_1.AppObjectUC {
11
+ static get(appObjects) {
12
+ const components = appObjects.getAllComponents(PanSceneRootUC.type);
13
+ if (components.length === 0) {
14
+ App_1.submitWarning(PanSceneRootUC.type, `Unable to find component ${PanSceneRootUC.type}. Add one on Mount`, appObjects);
15
+ return undefined;
16
+ }
17
+ else if (components.length > 1) {
18
+ App_1.submitWarning(PanSceneRootUC.type, `Multiple ${PanSceneRootUC.type} found. There should only be one. Using the first one`, appObjects);
19
+ }
20
+ return components[0];
21
+ }
22
+ }
23
+ exports.PanSceneRootUC = PanSceneRootUC;
24
+ PanSceneRootUC.type = "PanSceneRootUC";
25
+ function makePanSceneRootUC(appObject) {
26
+ return new PanSceneRootImp(appObject);
27
+ }
28
+ exports.makePanSceneRootUC = makePanSceneRootUC;
29
+ class PanSceneRootImp extends PanSceneRootUC {
30
+ constructor(appObject) {
31
+ var _a;
32
+ super(appObject, PanSceneRootUC.type);
33
+ this.pickOffset = ValueObjects_1.Vector3.Zero();
34
+ this.intialPosition = ValueObjects_1.Vector3.Zero();
35
+ this.hasBeenInitialized = false;
36
+ this.panPlane = ValueObjects_1.ParametricPlane.XY();
37
+ this.doPan = (pixelPosition) => {
38
+ var _a;
39
+ if (!this.transformNode)
40
+ return;
41
+ if (!this.hasBeenInitialized)
42
+ return;
43
+ const pickRay = Babylon_1.pixelToSceneRay(pixelPosition, this.appObjects);
44
+ const pick = (_a = this.panPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
45
+ this.transformNode.worldPosition = ValueObjects_1.Vector3.Add(pick, this.pickOffset);
46
+ };
47
+ this.initializePan = (initialPixelPos) => {
48
+ var _a, _b;
49
+ if (!this.transformNode)
50
+ return;
51
+ if (!this.sceneRoot)
52
+ return;
53
+ const scenePick = Babylon_1.scenePixelPick(initialPixelPos, this.appObjects);
54
+ if (!scenePick)
55
+ return;
56
+ const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
57
+ const planePickPos = (_a = scenePick === null || scenePick === void 0 ? void 0 : scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
58
+ this.panPlane = ValueObjects_1.ParametricPlane.FromPointNormal(planePickPos, pickPlaneDirection);
59
+ const pick = (_b = this.panPlane.intersectLine(scenePick.sceneRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
60
+ const rootPos = this.transformNode.worldPosition;
61
+ this.pickOffset = ValueObjects_1.Vector3.Subtract(rootPos, pick);
62
+ this.hasBeenInitialized = true;
63
+ this.intialPosition = this.sceneRoot.position;
64
+ };
65
+ this.finishPan = () => {
66
+ if (!this.hasBeenInitialized)
67
+ return;
68
+ if (!this.sceneRoot)
69
+ return;
70
+ this.hasBeenInitialized = false;
71
+ if (ValueObjects_1.Vector3.Equal(this.intialPosition, this.sceneRoot.position))
72
+ return;
73
+ Dispatcher_1.dispatchStateChange(this.appObjects);
74
+ };
75
+ this.cancelPan = () => {
76
+ this.hasBeenInitialized = false;
77
+ };
78
+ this.appObjects = appObject.appObjectRepo;
79
+ this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
80
+ if (!this.sceneRoot) {
81
+ App_1.submitWarning("OrbitSceneRootImp", "OrbitSceneRootImp UC has been added to an App Object that does not have a SceneRoot Entity", this.appObjects);
82
+ return;
83
+ }
84
+ this.transformNode = (_a = this.sceneRoot) === null || _a === void 0 ? void 0 : _a.transform;
85
+ }
86
+ }
@@ -0,0 +1,13 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ import { Vector2 } from "../../../ValueObjects";
5
+ export declare abstract class PinchSceneRootUC extends AppObjectUC {
6
+ static readonly type = "PinchSceneRootUC";
7
+ abstract readonly sensitivity: number;
8
+ abstract doPinch: (touchPos1: Vector2, touchPos2: Vector2) => void;
9
+ abstract initializePinch: (touchPos1: Vector2, touchPos2: Vector2) => void;
10
+ abstract finishPinch: () => void;
11
+ static get(appObjects: AppObjectRepo): PinchSceneRootUC | undefined;
12
+ }
13
+ export declare function makePinchSceneRootUC(appObject: AppObject): PinchSceneRootUC;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makePinchSceneRootUC = exports.PinchSceneRootUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const App_1 = require("../../App");
7
+ const Babylon_1 = require("../../Babylon");
8
+ const Dispatcher_1 = require("../../Dispatcher");
9
+ const SceneRoot_1 = require("../Entities/SceneRoot");
10
+ class PinchSceneRootUC extends AppObjectUC_1.AppObjectUC {
11
+ static get(appObjects) {
12
+ const components = appObjects.getAllComponents(PinchSceneRootUC.type);
13
+ if (components.length === 0) {
14
+ App_1.submitWarning(PinchSceneRootUC.type, `Unable to find component ${PinchSceneRootUC.type}. Add one on Mount`, appObjects);
15
+ return undefined;
16
+ }
17
+ else if (components.length > 1) {
18
+ App_1.submitWarning(PinchSceneRootUC.type, `Multiple ${PinchSceneRootUC.type} found. There should only be one. Using the first one`, appObjects);
19
+ }
20
+ return components[0];
21
+ }
22
+ }
23
+ exports.PinchSceneRootUC = PinchSceneRootUC;
24
+ PinchSceneRootUC.type = "PinchSceneRootUC";
25
+ function makePinchSceneRootUC(appObject) {
26
+ return new PinchSceneRootImp(appObject);
27
+ }
28
+ exports.makePinchSceneRootUC = makePinchSceneRootUC;
29
+ class PinchSceneRootImp extends PinchSceneRootUC {
30
+ constructor(appObject) {
31
+ super(appObject, PinchSceneRootUC.type);
32
+ this.sensitivity = 0.01;
33
+ this.previousDistanceBetweenTouches = 0;
34
+ this.panPlane = ValueObjects_1.ParametricPlane.XY();
35
+ this.pickOffset = ValueObjects_1.Vector3.Zero();
36
+ this.initialScale = 0;
37
+ this.initializePinch = (touchPos1, touchPos2) => {
38
+ var _a, _b;
39
+ if (!this.sceneRoot)
40
+ return;
41
+ const transformNode = this.sceneRoot.transform;
42
+ this.previousDistanceBetweenTouches = this.getTouchDistance(touchPos1, touchPos2);
43
+ const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
44
+ const scenePick = Babylon_1.scenePixelPick(touchCenter, this.appObjects);
45
+ const pickPoint = (_a = scenePick === null || scenePick === void 0 ? void 0 : scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
46
+ const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
47
+ this.panPlane = ValueObjects_1.ParametricPlane.FromPointNormal(pickPoint, pickPlaneDirection);
48
+ const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
49
+ const planePick = (_b = this.panPlane.intersectLine(pickRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
50
+ this.pickOffset = transformNode.worldPointToLocal(planePick);
51
+ this.initialScale = this.sceneRoot.scale;
52
+ };
53
+ this.doPinch = (touchPos1, touchPos2) => {
54
+ var _a;
55
+ if (!this.sceneRoot)
56
+ return;
57
+ const transformNode = this.sceneRoot.transform;
58
+ const currentTouchDist = this.getTouchDistance(touchPos1, touchPos2);
59
+ const touchDelta = currentTouchDist - this.previousDistanceBetweenTouches;
60
+ const currentScale = this.sceneRoot.scale;
61
+ const scaleDelta = touchDelta * this.sensitivity * currentScale;
62
+ let newScale = currentScale + scaleDelta;
63
+ if (newScale < this.sceneRoot.minScale) {
64
+ newScale = this.sceneRoot.minScale;
65
+ }
66
+ else if (newScale > this.sceneRoot.maxScale) {
67
+ newScale = this.sceneRoot.maxScale;
68
+ }
69
+ transformNode.worldScale = new ValueObjects_1.Vector3(newScale, newScale, newScale);
70
+ const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
71
+ const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
72
+ const planePick = (_a = this.panPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
73
+ const globalOffset = transformNode.localPointToWorld(this.pickOffset);
74
+ const delta = ValueObjects_1.Vector3.Subtract(planePick, globalOffset);
75
+ const currentWorldPos = transformNode.worldPosition;
76
+ const newWorldPos = ValueObjects_1.Vector3.Add(currentWorldPos, delta);
77
+ transformNode.worldPosition = newWorldPos;
78
+ this.previousDistanceBetweenTouches = currentTouchDist;
79
+ };
80
+ this.finishPinch = () => {
81
+ var _a;
82
+ if (this.initialScale === ((_a = this.sceneRoot) === null || _a === void 0 ? void 0 : _a.scale))
83
+ return;
84
+ Dispatcher_1.dispatchStateChange(this.appObjects);
85
+ };
86
+ this.appObjects = appObject.appObjectRepo;
87
+ this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
88
+ if (!this.sceneRoot) {
89
+ App_1.submitWarning("PinchSceneRootUC", "PinchSceneRootUC UC has been added to an App Object that does not have a SceneRoot Entity", this.appObjects);
90
+ return;
91
+ }
92
+ }
93
+ getTouchCenter(t1, t2) {
94
+ const delta = ValueObjects_1.Vector2.Subtract(t2, t1);
95
+ const halfDelta = ValueObjects_1.Vector2.NewVectorOfLength(delta.unit, 0.5 * delta.magnitued);
96
+ return ValueObjects_1.Vector2.Add(t1, halfDelta);
97
+ }
98
+ getTouchDistance(t1, t2) {
99
+ const delta = ValueObjects_1.Vector2.Subtract(t2, t1);
100
+ return delta.magnitued;
101
+ }
102
+ }
@@ -0,0 +1,14 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
3
+ import { ParametricLine, Vector3 } from "../../../ValueObjects";
4
+ export declare class ScaleSceneRootWithRay extends AppObjectUC {
5
+ static readonly type = "ScaleSceneRootWithRay";
6
+ readonly sensitivity = 10;
7
+ private appObjects;
8
+ private sceneRoot?;
9
+ private pickPoint;
10
+ private lastDistance;
11
+ doScale: (pickRay: ParametricLine, rayStart: Vector3) => void;
12
+ initializeScale: (pickRay: ParametricLine, rayStart: Vector3) => void;
13
+ constructor(appObject: AppObject);
14
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScaleSceneRootWithRay = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const Babylon_1 = require("../../Babylon");
7
+ const SceneRoot_1 = require("../Entities/SceneRoot");
8
+ class ScaleSceneRootWithRay extends AppObjectUC_1.AppObjectUC {
9
+ constructor(appObject) {
10
+ super(appObject, ScaleSceneRootWithRay.type);
11
+ this.sensitivity = 10;
12
+ this.pickPoint = ValueObjects_1.Vector3.Zero();
13
+ this.lastDistance = 0;
14
+ this.doScale = (pickRay, rayStart) => {
15
+ if (!this.sceneRoot)
16
+ return;
17
+ const newDistance = ValueObjects_1.Vector3.Subtract(rayStart, this.pickPoint).magnitued;
18
+ const distanceChange = newDistance - this.lastDistance;
19
+ const currentScale = this.sceneRoot.scale;
20
+ const scaleDelta = distanceChange * this.sensitivity * currentScale;
21
+ this.sceneRoot.bumpScaleAboutPoint(scaleDelta, this.pickPoint);
22
+ this.lastDistance = newDistance;
23
+ };
24
+ this.initializeScale = (pickRay, rayStart) => {
25
+ var _a;
26
+ const pick = Babylon_1.sceneRayPick(pickRay, this.appObjects);
27
+ this.pickPoint = (_a = pick === null || pick === void 0 ? void 0 : pick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
28
+ this.lastDistance = ValueObjects_1.Vector3.Subtract(rayStart, this.pickPoint).magnitued;
29
+ };
30
+ this.appObjects = appObject.appObjectRepo;
31
+ this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
32
+ if (!this.sceneRoot) {
33
+ console.warn("ScaleSceneRootWithRay added to an app object that does not have a SceneRootEntity");
34
+ }
35
+ }
36
+ }
37
+ exports.ScaleSceneRootWithRay = ScaleSceneRootWithRay;
38
+ ScaleSceneRootWithRay.type = "ScaleSceneRootWithRay";
@@ -0,0 +1,30 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
4
+ export interface SerializedStates {
5
+ version: number;
6
+ systems: SystemState[];
7
+ }
8
+ export interface SystemState {
9
+ name: string;
10
+ seriliziationVersion: number;
11
+ state: object;
12
+ }
13
+ export interface SerializedSystem {
14
+ name: string;
15
+ seriliziationVersion: number;
16
+ getSystemState(): object;
17
+ applySystemState(state: object, version: number, transitionDuration: number): void;
18
+ applyDefaultState(transitionDuration: number): void;
19
+ }
20
+ export declare abstract class StateMachineEntity extends AppObjectEntity {
21
+ static readonly type = "StateMachineEntity";
22
+ abstract transitionEaseFunction: (normalizedTime: number) => number;
23
+ abstract getSerializedStates(): SerializedStates;
24
+ abstract setSerializedStates(state: SerializedStates, transitionTime: number): void;
25
+ abstract applySerializedStatesString: (state: string, duration?: number) => void;
26
+ abstract setDefaultState(transitionTime: number): void;
27
+ abstract registerSerializedSystem(serializedSystem: SerializedSystem): void;
28
+ static get(appObjects: AppObjectRepo): StateMachineEntity | undefined;
29
+ }
30
+ export declare function makeStateMachineEntity(appObject: AppObject): StateMachineEntity;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeStateMachineEntity = exports.StateMachineEntity = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const App_1 = require("../../App");
6
+ class StateMachineEntity extends AppObjectEntity_1.AppObjectEntity {
7
+ static get(appObjects) {
8
+ const components = appObjects.getAllComponents(StateMachineEntity.type);
9
+ if (components.length === 0) {
10
+ App_1.submitWarning("StateMachineEntity", `Unable to find component ${StateMachineEntity.type}. Add one on Mount`, appObjects);
11
+ return undefined;
12
+ }
13
+ else if (components.length > 1) {
14
+ App_1.submitWarning("StateMachineEntity", `Multiple ${StateMachineEntity.type} found. There should only be one. Using the first one`, appObjects);
15
+ }
16
+ return components[0];
17
+ }
18
+ }
19
+ exports.StateMachineEntity = StateMachineEntity;
20
+ StateMachineEntity.type = "StateMachineEntity";
21
+ function makeStateMachineEntity(appObject) {
22
+ return new StateMachineImp(appObject);
23
+ }
24
+ exports.makeStateMachineEntity = makeStateMachineEntity;
25
+ class StateMachineImp extends StateMachineEntity {
26
+ constructor(appObject) {
27
+ super(appObject, StateMachineEntity.type);
28
+ this.serializedSystems = new Map();
29
+ this.serilizationVersion = 2;
30
+ this.transitionEaseFunction = (normalizedTime) => {
31
+ return normalizedTime; // default to a linear function
32
+ };
33
+ this.applySerializedStatesString = (state, duration = 0) => {
34
+ if (state === "") {
35
+ this.setDefaultState(duration);
36
+ }
37
+ else {
38
+ try {
39
+ const stateObj = JSON.parse(state);
40
+ this.setSerializedStates(stateObj, duration);
41
+ }
42
+ catch (e) {
43
+ this.setDefaultState(duration);
44
+ App_1.submitWarning("StateMachineEntity", `Failed to deserialize state string ${state} with Error ${e.message}`, this.appObject.appObjectRepo);
45
+ }
46
+ }
47
+ };
48
+ this.registerSerializedSystem = (serializedSystem) => {
49
+ if (this.serializedSystems.has(serializedSystem.name)) {
50
+ App_1.submitError("StateMachineEntity", `Duplicate stateable systems encountered: ${serializedSystem.name}`, this.appObject.appObjectRepo);
51
+ return;
52
+ }
53
+ this.serializedSystems.set(serializedSystem.name, serializedSystem);
54
+ return;
55
+ };
56
+ this.getSerializedStates = () => {
57
+ const systems = Array.from(this.serializedSystems.values());
58
+ const serializedStates = systems.map((system) => {
59
+ const state = system.getSystemState();
60
+ return {
61
+ seriliziationVersion: system.seriliziationVersion,
62
+ name: system.name,
63
+ state,
64
+ };
65
+ });
66
+ return {
67
+ version: this.serilizationVersion,
68
+ systems: serializedStates,
69
+ };
70
+ };
71
+ this.setSerializedStates = (states, duration) => {
72
+ if (states.version === 2) {
73
+ const appliedToSystems = [];
74
+ states.systems.forEach((systemState) => {
75
+ const seriliazableSystem = this.serializedSystems.get(systemState.name);
76
+ if (seriliazableSystem) {
77
+ seriliazableSystem.applySystemState(systemState.state, systemState.seriliziationVersion, duration);
78
+ }
79
+ else {
80
+ App_1.submitWarning("StateMachineEntity", `Unable to find seriarializedSystem ${systemState.name}`, this.appObject.appObjectRepo);
81
+ }
82
+ appliedToSystems.push(systemState.name);
83
+ });
84
+ this.serializedSystems.forEach((system) => {
85
+ if (!appliedToSystems.includes(system.name)) {
86
+ system.applyDefaultState(duration);
87
+ }
88
+ });
89
+ this.notifyOnChange();
90
+ return;
91
+ }
92
+ // Here is where we will add support for future versions
93
+ else {
94
+ App_1.submitError("StateMachineEntity", `Unsupported sereialized state encountered: ${states.version}`, this.appObject.appObjectRepo);
95
+ return;
96
+ }
97
+ };
98
+ this.setDefaultState = (duration) => {
99
+ this.serializedSystems.forEach((system) => {
100
+ system.applyDefaultState(duration);
101
+ });
102
+ this.notifyOnChange();
103
+ };
104
+ }
105
+ }
@@ -0,0 +1 @@
1
+ export * from "./Entities/StateMachineEntity";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Entities/StateMachineEntity"), exports);
@@ -0,0 +1,9 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectController } from "../../../AppObject/AppObjectController";
3
+ import { KeyboardController } from "../../KeyboardInput";
4
+ export declare class ToolHotkeys<ToolTypes> extends AppObjectController implements KeyboardController {
5
+ static readonly type = "ToolHotkeys";
6
+ private toolRepo?;
7
+ onKeyDown: (e: KeyboardEvent) => void;
8
+ constructor(appObject: AppObject);
9
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolHotkeys = void 0;
4
+ const __1 = require("../..");
5
+ const AppObjectController_1 = require("../../../AppObject/AppObjectController");
6
+ const KeyboardInput_1 = require("../../KeyboardInput");
7
+ const ToolRepository_1 = require("../Entities/ToolRepository");
8
+ class ToolHotkeys extends AppObjectController_1.AppObjectController {
9
+ constructor(appObject) {
10
+ super(appObject, ToolHotkeys.type);
11
+ this.onKeyDown = (e) => {
12
+ if (!this.toolRepo)
13
+ return;
14
+ if (e.repeat)
15
+ return;
16
+ const currentKey = {
17
+ keyCode: e.code,
18
+ alt: e.altKey,
19
+ control: e.ctrlKey,
20
+ meta: e.metaKey,
21
+ shift: e.shiftKey,
22
+ };
23
+ const tool = this.toolRepo.getToolForHotkey(currentKey);
24
+ if (!tool)
25
+ return;
26
+ this.toolRepo.triggerTool(tool.toolType);
27
+ };
28
+ this.toolRepo = appObject.getComponent(ToolRepository_1.ToolRepository.type);
29
+ if (!this.toolRepo) {
30
+ __1.submitWarning("ToolHotkeys", "Controller has been added to an App Object that does not have ToolRepository. Add one first.", appObject.appObjectRepo);
31
+ return;
32
+ }
33
+ const keyboardInput = KeyboardInput_1.KeyboardInputEntity.get(appObject.appObjectRepo);
34
+ if (keyboardInput) {
35
+ keyboardInput.registerController(this);
36
+ }
37
+ else {
38
+ __1.submitWarning("ToolHotkeys", "Unable to find KeyboardInputEntity", appObject.appObjectRepo);
39
+ }
40
+ }
41
+ }
42
+ exports.ToolHotkeys = ToolHotkeys;
43
+ ToolHotkeys.type = "ToolHotkeys";
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
2
+ export declare function triggerTool<ToolTypes>(toolType: ToolTypes, appObjects: AppObjectRepo): void;