@vived/app 3.8.0 → 3.9.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 (335) hide show
  1. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.d.ts +2 -0
  2. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.js +14 -0
  3. package/lib/AppObjectComponents/App/Controller/startRenderingApp.d.ts +2 -0
  4. package/lib/AppObjectComponents/App/Controller/startRenderingApp.js +14 -0
  5. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.d.ts +2 -0
  6. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.js +14 -0
  7. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.d.ts +2 -0
  8. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.js +14 -0
  9. package/lib/AppObjectComponents/App/Entity/BaseAppState.d.ts +14 -0
  10. package/lib/AppObjectComponents/App/Entity/BaseAppState.js +50 -0
  11. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.d.ts +8 -0
  12. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.js +12 -0
  13. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.d.ts +8 -0
  14. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.js +12 -0
  15. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.d.ts +11 -0
  16. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.js +38 -0
  17. package/lib/AppObjectComponents/App/PM/IsReviewingPM.d.ts +11 -0
  18. package/lib/AppObjectComponents/App/PM/IsReviewingPM.js +38 -0
  19. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.d.ts +8 -0
  20. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.js +20 -0
  21. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.d.ts +10 -0
  22. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.js +101 -0
  23. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.d.ts +2 -0
  24. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.js +23 -0
  25. package/lib/AppObjectComponents/App/UseCase/submitError.d.ts +2 -0
  26. package/lib/AppObjectComponents/App/UseCase/submitError.js +26 -0
  27. package/lib/AppObjectComponents/App/UseCase/submitFatal.d.ts +2 -0
  28. package/lib/AppObjectComponents/App/UseCase/submitFatal.js +26 -0
  29. package/lib/AppObjectComponents/App/UseCase/submitLog.d.ts +2 -0
  30. package/lib/AppObjectComponents/App/UseCase/submitLog.js +26 -0
  31. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.d.ts +2 -0
  32. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.js +26 -0
  33. package/lib/AppObjectComponents/App/UseCase/submitWarning.d.ts +2 -0
  34. package/lib/AppObjectComponents/App/UseCase/submitWarning.js +26 -0
  35. package/lib/AppObjectComponents/App/index.d.ts +11 -0
  36. package/lib/AppObjectComponents/App/index.js +23 -0
  37. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.d.ts +16 -0
  38. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.js +80 -0
  39. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.d.ts +2 -0
  40. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.js +11 -0
  41. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.d.ts +9 -0
  42. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.js +13 -0
  43. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.d.ts +8 -0
  44. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.js +28 -0
  45. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.d.ts +9 -0
  46. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.js +20 -0
  47. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.d.ts +9 -0
  48. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.js +30 -0
  49. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.d.ts +17 -0
  50. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.js +29 -0
  51. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.d.ts +16 -0
  52. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.js +29 -0
  53. package/lib/AppObjectComponents/Babylon/index.d.ts +7 -0
  54. package/lib/AppObjectComponents/Babylon/index.js +19 -0
  55. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.d.ts +7 -0
  56. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.js +19 -0
  57. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.d.ts +9 -0
  58. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.js +63 -0
  59. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.d.ts +10 -0
  60. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.js +21 -0
  61. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.d.ts +9 -0
  62. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.js +13 -0
  63. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.d.ts +8 -0
  64. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.js +12 -0
  65. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.d.ts +10 -0
  66. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.js +14 -0
  67. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.d.ts +11 -0
  68. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.js +55 -0
  69. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.d.ts +18 -0
  70. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.js +78 -0
  71. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.d.ts +11 -0
  72. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.js +72 -0
  73. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.d.ts +11 -0
  74. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.js +71 -0
  75. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.d.ts +12 -0
  76. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.js +72 -0
  77. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.d.ts +12 -0
  78. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.js +72 -0
  79. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.d.ts +12 -0
  80. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.js +73 -0
  81. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.d.ts +11 -0
  82. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.js +67 -0
  83. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.d.ts +13 -0
  84. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.js +61 -0
  85. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.d.ts +11 -0
  86. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.js +57 -0
  87. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.d.ts +16 -0
  88. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.js +50 -0
  89. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.d.ts +18 -0
  90. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.js +52 -0
  91. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.d.ts +15 -0
  92. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.js +52 -0
  93. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.d.ts +13 -0
  94. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.js +54 -0
  95. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.d.ts +10 -0
  96. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.js +57 -0
  97. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.d.ts +10 -0
  98. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.js +49 -0
  99. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.d.ts +11 -0
  100. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.js +55 -0
  101. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.d.ts +43 -0
  102. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.js +159 -0
  103. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.d.ts +18 -0
  104. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.js +86 -0
  105. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.d.ts +12 -0
  106. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.js +18 -0
  107. package/lib/AppObjectComponents/KeyboardInput/index.d.ts +1 -0
  108. package/lib/{UseCases/SceneRoot → AppObjectComponents/KeyboardInput}/index.js +1 -2
  109. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.d.ts +31 -0
  110. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.js +196 -0
  111. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.d.ts +12 -0
  112. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.js +18 -0
  113. package/lib/AppObjectComponents/MouseInput/index.d.ts +1 -0
  114. package/lib/{UseCases/SceneObjects → AppObjectComponents/MouseInput}/index.js +1 -1
  115. package/lib/AppObjectComponents/Question/Controllers/index.d.ts +4 -0
  116. package/lib/{UseCases/SceneModel → AppObjectComponents/Question/Controllers}/index.js +4 -5
  117. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.d.ts +2 -0
  118. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.js +25 -0
  119. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.d.ts +2 -0
  120. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.js +25 -0
  121. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.d.ts +2 -0
  122. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.js +14 -0
  123. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.d.ts +2 -0
  124. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.js +25 -0
  125. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.d.ts +36 -0
  126. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.js +73 -0
  127. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.d.ts +24 -0
  128. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.js +122 -0
  129. package/lib/AppObjectComponents/Question/Entities/index.d.ts +2 -0
  130. package/lib/{UseCases/FocusCamera → AppObjectComponents/Question/Entities}/index.js +2 -7
  131. package/lib/AppObjectComponents/Question/Factories/index.d.ts +2 -0
  132. package/lib/AppObjectComponents/Question/Factories/index.js +14 -0
  133. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.d.ts +3 -0
  134. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.js +20 -0
  135. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.d.ts +3 -0
  136. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.js +22 -0
  137. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.d.ts +12 -0
  138. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.js +21 -0
  139. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.d.ts +19 -0
  140. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.js +60 -0
  141. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.d.ts +20 -0
  142. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.js +70 -0
  143. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.d.ts +19 -0
  144. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.js +71 -0
  145. package/lib/AppObjectComponents/Question/PresentationManagers/index.d.ts +2 -0
  146. package/lib/AppObjectComponents/Question/PresentationManagers/index.js +14 -0
  147. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.d.ts +10 -0
  148. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.js +52 -0
  149. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.d.ts +10 -0
  150. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.js +54 -0
  151. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.d.ts +35 -0
  152. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.js +94 -0
  153. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.d.ts +7 -0
  154. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.js +33 -0
  155. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.d.ts +7 -0
  156. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.js +33 -0
  157. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.d.ts +2 -0
  158. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.js +16 -0
  159. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.d.ts +9 -0
  160. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.js +59 -0
  161. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.d.ts +7 -0
  162. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.js +31 -0
  163. package/lib/AppObjectComponents/Question/UseCases/index.d.ts +7 -0
  164. package/lib/AppObjectComponents/Question/UseCases/index.js +19 -0
  165. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.d.ts +20 -0
  166. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.js +89 -0
  167. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.d.ts +11 -0
  168. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.js +36 -0
  169. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts +12 -0
  170. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.js +37 -0
  171. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.d.ts +14 -0
  172. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.js +55 -0
  173. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.d.ts +14 -0
  174. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.js +50 -0
  175. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.d.ts +11 -0
  176. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.js +38 -0
  177. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.d.ts +14 -0
  178. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.js +51 -0
  179. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.d.ts +13 -0
  180. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.js +52 -0
  181. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.d.ts +13 -0
  182. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.js +53 -0
  183. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.d.ts +14 -0
  184. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.js +56 -0
  185. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.d.ts +14 -0
  186. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.js +57 -0
  187. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.d.ts +3 -0
  188. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.js +28 -0
  189. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.d.ts +11 -0
  190. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.js +60 -0
  191. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.d.ts +14 -0
  192. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.js +62 -0
  193. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.d.ts +12 -0
  194. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.js +74 -0
  195. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.d.ts +13 -0
  196. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.js +56 -0
  197. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.d.ts +14 -0
  198. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.js +92 -0
  199. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.d.ts +13 -0
  200. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.js +86 -0
  201. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.d.ts +13 -0
  202. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.js +102 -0
  203. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.d.ts +14 -0
  204. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.js +38 -0
  205. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.d.ts +30 -0
  206. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.js +105 -0
  207. package/lib/AppObjectComponents/StateMachine/index.d.ts +1 -0
  208. package/lib/AppObjectComponents/StateMachine/index.js +13 -0
  209. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.d.ts +9 -0
  210. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.js +43 -0
  211. package/lib/AppObjectComponents/Tools/Controller/triggerTool.d.ts +2 -0
  212. package/lib/AppObjectComponents/Tools/Controller/triggerTool.js +14 -0
  213. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.d.ts +39 -0
  214. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.js +95 -0
  215. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.d.ts +17 -0
  216. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.js +132 -0
  217. package/lib/AppObjectComponents/Tools/Factories/setupTool.d.ts +3 -0
  218. package/lib/AppObjectComponents/Tools/Factories/setupTool.js +12 -0
  219. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.d.ts +4 -0
  220. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.js +13 -0
  221. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.d.ts +19 -0
  222. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.js +66 -0
  223. package/lib/AppObjectComponents/Tools/index.d.ts +6 -0
  224. package/lib/AppObjectComponents/Tools/index.js +18 -0
  225. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.d.ts +33 -0
  226. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.js +161 -0
  227. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.d.ts +13 -0
  228. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.js +18 -0
  229. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.d.ts +3 -0
  230. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.js +26 -0
  231. package/lib/AppObjectComponents/TouchController/index.d.ts +1 -0
  232. package/lib/AppObjectComponents/TouchController/index.js +13 -0
  233. package/lib/AppObjectComponents/XR/Entity/XREntity.d.ts +13 -0
  234. package/lib/AppObjectComponents/XR/Entity/XREntity.js +24 -0
  235. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.d.ts +7 -0
  236. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.js +8 -0
  237. package/lib/AppObjectComponents/XR/index.d.ts +2 -0
  238. package/lib/AppObjectComponents/XR/index.js +14 -0
  239. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.d.ts +14 -0
  240. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.js +57 -0
  241. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.d.ts +13 -0
  242. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.js +51 -0
  243. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.d.ts +21 -0
  244. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.js +60 -0
  245. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.d.ts +21 -0
  246. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.js +64 -0
  247. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.d.ts +26 -0
  248. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.js +86 -0
  249. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.d.ts +25 -0
  250. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.js +47 -0
  251. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.d.ts +3 -0
  252. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.js +31 -0
  253. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.d.ts +12 -0
  254. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.js +65 -0
  255. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.d.ts +6 -0
  256. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.js +41 -0
  257. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.d.ts +18 -0
  258. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.js +79 -0
  259. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.d.ts +12 -0
  260. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.js +69 -0
  261. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.d.ts +17 -0
  262. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.js +84 -0
  263. package/lib/AppObjectComponents/zSpace/index.d.ts +12 -0
  264. package/lib/AppObjectComponents/zSpace/index.js +24 -0
  265. package/lib/Types/AppBoundary.d.ts +6 -0
  266. package/lib/Types/AppBoundary.js +2 -0
  267. package/lib/Types/AssetMetaDTO.d.ts +5 -0
  268. package/lib/Types/AssetMetaDTO.js +2 -0
  269. package/lib/UseCases/Handlers/SetThemeColorsBase.d.ts +13 -0
  270. package/lib/UseCases/Handlers/SetThemeColorsBase.js +32 -0
  271. package/lib/UseCases/Handlers/index.d.ts +1 -0
  272. package/lib/UseCases/Handlers/index.js +1 -0
  273. package/lib/Utilities/generateUniqueID.d.ts +1 -0
  274. package/lib/Utilities/generateUniqueID.js +8 -0
  275. package/package.json +1 -1
  276. package/lib/Entities/FocusCamera.d.ts +0 -70
  277. package/lib/Entities/FocusCamera.js +0 -272
  278. package/lib/Entities/MemoizedBoolean.d.ts +0 -8
  279. package/lib/Entities/MemoizedBoolean.js +0 -22
  280. package/lib/Entities/MemoizedNumber.d.ts +0 -8
  281. package/lib/Entities/MemoizedNumber.js +0 -22
  282. package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
  283. package/lib/Entities/MemoizedQuaternion.js +0 -23
  284. package/lib/Entities/MemoizedString.d.ts +0 -8
  285. package/lib/Entities/MemoizedString.js +0 -22
  286. package/lib/Entities/MemoizedVector2.d.ts +0 -9
  287. package/lib/Entities/MemoizedVector2.js +0 -23
  288. package/lib/Entities/MemoizedVector3.d.ts +0 -9
  289. package/lib/Entities/MemoizedVector3.js +0 -23
  290. package/lib/Entities/MeshModel.d.ts +0 -68
  291. package/lib/Entities/MeshModel.js +0 -174
  292. package/lib/Entities/ModelObject.d.ts +0 -10
  293. package/lib/Entities/ModelObject.js +0 -42
  294. package/lib/Entities/SceneRoot.d.ts +0 -29
  295. package/lib/Entities/SceneRoot.js +0 -145
  296. package/lib/PresentationManagers/FocusCameraPM.d.ts +0 -15
  297. package/lib/PresentationManagers/FocusCameraPM.js +0 -31
  298. package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +0 -13
  299. package/lib/PresentationManagers/FocusCameraPosRotPM.js +0 -28
  300. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
  301. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
  302. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +0 -17
  303. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +0 -64
  304. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +0 -36
  305. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +0 -71
  306. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +0 -11
  307. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +0 -36
  308. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +0 -11
  309. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +0 -36
  310. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +0 -11
  311. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +0 -26
  312. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +0 -11
  313. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +0 -33
  314. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +0 -22
  315. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +0 -81
  316. package/lib/UseCases/FocusCamera/index.d.ts +0 -7
  317. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
  318. package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
  319. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
  320. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
  321. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
  322. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
  323. package/lib/UseCases/SceneModel/index.d.ts +0 -5
  324. package/lib/UseCases/SceneModel/loadNewModel.d.ts +0 -2
  325. package/lib/UseCases/SceneModel/loadNewModel.js +0 -84
  326. package/lib/UseCases/SceneModel/modelDataLoader.d.ts +0 -3
  327. package/lib/UseCases/SceneModel/modelDataLoader.js +0 -33
  328. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
  329. package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
  330. package/lib/UseCases/SceneObjects/index.d.ts +0 -1
  331. package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +0 -33
  332. package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +0 -67
  333. package/lib/UseCases/SceneRoot/index.d.ts +0 -2
  334. package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +0 -2
  335. package/lib/UseCases/SceneRoot/setupSceneRoot.js +0 -11
@@ -0,0 +1,43 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ export interface HitResultDTO {
5
+ success: boolean;
6
+ description: string;
7
+ }
8
+ export interface ProgressResultDTO {
9
+ progress: number;
10
+ description: string;
11
+ }
12
+ export interface MultiHitResultDTO {
13
+ hits: number;
14
+ misses: number;
15
+ unanswered: number;
16
+ description: string;
17
+ }
18
+ export interface QualityResultDTO {
19
+ stars: number;
20
+ maxStars: number;
21
+ description: string;
22
+ }
23
+ export interface ScoreResultDTO {
24
+ score: number;
25
+ maxScore: number;
26
+ description: string;
27
+ }
28
+ export declare abstract class SubmitResultResultUC extends AppObjectUC {
29
+ static readonly type = "SubmitResultResultUC";
30
+ readonly requestType = "SUBMIT_RESULTS";
31
+ abstract submitHitResult(data: HitResultDTO): void;
32
+ abstract submitProgressResult(data: ProgressResultDTO): void;
33
+ abstract submitMultiHitResult(data: MultiHitResultDTO): void;
34
+ abstract submitQualityResult(data: QualityResultDTO): void;
35
+ abstract submitScoreResult(data: ScoreResultDTO): void;
36
+ static get(appObjects: AppObjectRepo): SubmitResultResultUC | undefined;
37
+ }
38
+ export declare function makeSubmitResultUC(appObject: AppObject): SubmitResultResultUC;
39
+ export declare function submitHitResult(data: HitResultDTO, appObjects: AppObjectRepo): void;
40
+ export declare function submitProgressResult(data: ProgressResultDTO, appObjects: AppObjectRepo): void;
41
+ export declare function submitQualityResult(data: QualityResultDTO, appObjects: AppObjectRepo): void;
42
+ export declare function submitScoreResult(data: ScoreResultDTO, appObjects: AppObjectRepo): void;
43
+ export declare function submitMultiHitResult(data: MultiHitResultDTO, appObjects: AppObjectRepo): void;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.submitMultiHitResult = exports.submitScoreResult = exports.submitQualityResult = exports.submitProgressResult = exports.submitHitResult = exports.makeSubmitResultUC = exports.SubmitResultResultUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const App_1 = require("../../App");
6
+ const AppDispatcher_1 = require("../Entities/AppDispatcher");
7
+ class SubmitResultResultUC extends AppObjectUC_1.AppObjectUC {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.requestType = "SUBMIT_RESULTS";
11
+ }
12
+ static get(appObjects) {
13
+ const components = appObjects.getAllComponents(SubmitResultResultUC.type);
14
+ if (components.length === 0) {
15
+ App_1.submitWarning("RegisterExternalStylesheetsUC", `Unable to find component ${SubmitResultResultUC.type}. Add one on Mount`, appObjects);
16
+ return undefined;
17
+ }
18
+ else if (components.length > 1) {
19
+ App_1.submitWarning("RegisterExternalStylesheetsUC", `Multiple ${SubmitResultResultUC.type} found. There should only be one. Using the first one`, appObjects);
20
+ }
21
+ return components[0];
22
+ }
23
+ }
24
+ exports.SubmitResultResultUC = SubmitResultResultUC;
25
+ SubmitResultResultUC.type = "SubmitResultResultUC";
26
+ function makeSubmitResultUC(appObject) {
27
+ return new SubmitResultResultUCImp(appObject);
28
+ }
29
+ exports.makeSubmitResultUC = makeSubmitResultUC;
30
+ function submitHitResult(data, appObjects) {
31
+ const dispatchUC = SubmitResultResultUC.get(appObjects);
32
+ if (dispatchUC) {
33
+ dispatchUC.submitHitResult(data);
34
+ }
35
+ else {
36
+ App_1.submitWarning("submitHitResult", "Can't find SubmitResultResultUC", appObjects);
37
+ }
38
+ }
39
+ exports.submitHitResult = submitHitResult;
40
+ function submitProgressResult(data, appObjects) {
41
+ const dispatchUC = SubmitResultResultUC.get(appObjects);
42
+ if (dispatchUC) {
43
+ dispatchUC.submitProgressResult(data);
44
+ }
45
+ else {
46
+ App_1.submitWarning("submitProgressResult", "Can't find SubmitResultResultUC", appObjects);
47
+ }
48
+ }
49
+ exports.submitProgressResult = submitProgressResult;
50
+ function submitQualityResult(data, appObjects) {
51
+ const dispatchUC = SubmitResultResultUC.get(appObjects);
52
+ if (dispatchUC) {
53
+ dispatchUC.submitQualityResult(data);
54
+ }
55
+ else {
56
+ App_1.submitWarning("submitQualityResult", "Can't find SubmitResultResultUC", appObjects);
57
+ }
58
+ }
59
+ exports.submitQualityResult = submitQualityResult;
60
+ function submitScoreResult(data, appObjects) {
61
+ const dispatchUC = SubmitResultResultUC.get(appObjects);
62
+ if (dispatchUC) {
63
+ dispatchUC.submitScoreResult(data);
64
+ }
65
+ else {
66
+ App_1.submitWarning("submitScoreResult", "Can't find SubmitResultResultUC", appObjects);
67
+ }
68
+ }
69
+ exports.submitScoreResult = submitScoreResult;
70
+ function submitMultiHitResult(data, appObjects) {
71
+ const dispatchUC = SubmitResultResultUC.get(appObjects);
72
+ if (dispatchUC) {
73
+ dispatchUC.submitMultiHitResult(data);
74
+ }
75
+ else {
76
+ App_1.submitWarning("submitMultiHitResult", "Can't find SubmitResultResultUC", appObjects);
77
+ }
78
+ }
79
+ exports.submitMultiHitResult = submitMultiHitResult;
80
+ class SubmitResultResultUCImp extends SubmitResultResultUC {
81
+ constructor(appObject) {
82
+ super(appObject, SubmitResultResultUC.type);
83
+ this.requestVersion = 3;
84
+ this.appDispatcher = appObject.getComponent(AppDispatcher_1.AppDispatcher.type);
85
+ if (!this.appDispatcher) {
86
+ console.warn("DispatchStateChangeUC has been added to an App Object that does not have a AppDispatcher. Add a dispatcher first");
87
+ this.dispose();
88
+ }
89
+ }
90
+ submitHitResult(data) {
91
+ if (!this.appDispatcher)
92
+ return;
93
+ const { description, success } = data;
94
+ const payload = {
95
+ resultType: "HIT_V1",
96
+ description,
97
+ result: {
98
+ success,
99
+ },
100
+ };
101
+ this.appDispatcher.formRequestAndDispatch("SUBMIT_RESULTS", 3, payload);
102
+ }
103
+ submitProgressResult(data) {
104
+ if (!this.appDispatcher)
105
+ return;
106
+ const { description, progress } = data;
107
+ const payload = {
108
+ resultType: "PROGRESS_V1",
109
+ description,
110
+ result: {
111
+ progress,
112
+ },
113
+ };
114
+ this.appDispatcher.formRequestAndDispatch("SUBMIT_RESULTS", 3, payload);
115
+ }
116
+ submitMultiHitResult(data) {
117
+ if (!this.appDispatcher)
118
+ return;
119
+ const { description, hits, misses, unanswered } = data;
120
+ const payload = {
121
+ resultType: "MULTIHIT_V1",
122
+ description,
123
+ result: {
124
+ hits,
125
+ misses,
126
+ unanswered,
127
+ },
128
+ };
129
+ this.appDispatcher.formRequestAndDispatch("SUBMIT_RESULTS", 3, payload);
130
+ }
131
+ submitQualityResult(data) {
132
+ if (!this.appDispatcher)
133
+ return;
134
+ const { description, stars, maxStars } = data;
135
+ const payload = {
136
+ resultType: "QUALITY_V1",
137
+ description,
138
+ result: {
139
+ stars,
140
+ maxStars,
141
+ },
142
+ };
143
+ this.appDispatcher.formRequestAndDispatch("SUBMIT_RESULTS", 3, payload);
144
+ }
145
+ submitScoreResult(data) {
146
+ if (!this.appDispatcher)
147
+ return;
148
+ const { description, score, maxScore } = data;
149
+ const payload = {
150
+ resultType: "SCORE_V1",
151
+ description,
152
+ result: {
153
+ score,
154
+ maxScore,
155
+ },
156
+ };
157
+ this.appDispatcher.formRequestAndDispatch("SUBMIT_RESULTS", 3, payload);
158
+ }
159
+ }
@@ -0,0 +1,18 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
4
+ export interface KeyboardController {
5
+ onKeyDown?: (e: KeyboardEvent) => void;
6
+ onKeyUp?: (e: KeyboardEvent) => void;
7
+ }
8
+ export declare abstract class KeyboardInputEntity extends AppObjectEntity {
9
+ static readonly type = "KeyboardInputEntity";
10
+ abstract get eventElement(): HTMLElement | undefined;
11
+ abstract setEventElement: (eventElement: HTMLElement) => void;
12
+ abstract clearInputElement: () => void;
13
+ abstract registerController: (controller: KeyboardController) => void;
14
+ abstract removeController: (controller: KeyboardController) => void;
15
+ abstract isKeyPressed: (keyCode: string) => boolean;
16
+ static get(appObjects: AppObjectRepo): KeyboardInputEntity | undefined;
17
+ }
18
+ export declare function makeKeyboardInput(appObject: AppObject): KeyboardInputEntity;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeKeyboardInput = exports.KeyboardInputEntity = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const App_1 = require("../../App");
6
+ class KeyboardInputEntity extends AppObjectEntity_1.AppObjectEntity {
7
+ static get(appObjects) {
8
+ const components = appObjects.getAllComponents(KeyboardInputEntity.type);
9
+ if (components.length === 0) {
10
+ App_1.submitWarning("KeyboardInputEntity", `Unable to find component ${KeyboardInputEntity.type}. Add one on Mount`, appObjects);
11
+ return undefined;
12
+ }
13
+ else if (components.length > 1) {
14
+ App_1.submitWarning("KeyboardInputEntity", `Multiple ${KeyboardInputEntity.type} found. There should only be one. Using the first one`, appObjects);
15
+ }
16
+ return components[0];
17
+ }
18
+ }
19
+ exports.KeyboardInputEntity = KeyboardInputEntity;
20
+ KeyboardInputEntity.type = "KeyboardInputEntity";
21
+ function makeKeyboardInput(appObject) {
22
+ return new KeyboardInputImp(appObject);
23
+ }
24
+ exports.makeKeyboardInput = makeKeyboardInput;
25
+ class KeyboardInputImp extends KeyboardInputEntity {
26
+ constructor(appObject) {
27
+ super(appObject, KeyboardInputEntity.type);
28
+ this.controllers = [];
29
+ this._eventElement = undefined;
30
+ this._pressedKeyCodes = [];
31
+ this.setEventElement = (element) => {
32
+ this.clearInputElement();
33
+ element.addEventListener("keydown", this.submitKeyDown, false);
34
+ element.addEventListener("keyup", this.submitKeyUp, false);
35
+ this._eventElement = element;
36
+ };
37
+ this.clearInputElement = () => {
38
+ if (!this._eventElement)
39
+ return;
40
+ this._eventElement.removeEventListener("keydown", this.submitKeyDown);
41
+ this._eventElement.removeEventListener("keyup", this.submitKeyUp);
42
+ this._eventElement = undefined;
43
+ };
44
+ this.submitKeyDown = (e) => {
45
+ this._pressedKeyCodes.push(e.code);
46
+ this.controllers.forEach((c) => {
47
+ if (c.onKeyDown) {
48
+ c.onKeyDown(e);
49
+ }
50
+ });
51
+ };
52
+ this.submitKeyUp = (e) => {
53
+ this._pressedKeyCodes = this._pressedKeyCodes.filter((keyCode) => {
54
+ if (keyCode === e.code) {
55
+ return false;
56
+ }
57
+ return true;
58
+ });
59
+ this.controllers.forEach((c) => {
60
+ if (c.onKeyUp) {
61
+ c.onKeyUp(e);
62
+ }
63
+ });
64
+ };
65
+ this.registerController = (controller) => {
66
+ this.controllers.push(controller);
67
+ };
68
+ this.removeController = (controller) => {
69
+ const index = this.controllers.indexOf(controller);
70
+ if (index >= 0) {
71
+ this.controllers.splice(index, 1);
72
+ }
73
+ };
74
+ this.isKeyPressed = (keyCode) => {
75
+ for (const code of this._pressedKeyCodes) {
76
+ if (code === keyCode) {
77
+ return true;
78
+ }
79
+ }
80
+ return false;
81
+ };
82
+ }
83
+ get eventElement() {
84
+ return this._eventElement;
85
+ }
86
+ }
@@ -0,0 +1,12 @@
1
+ /// <reference types="jest" />
2
+ import { AppObject } from "../../../AppObject/AppObject";
3
+ import { KeyboardInputEntity } from "../Entities/KeyboardInput";
4
+ export declare class MockKeyboardInput extends KeyboardInputEntity {
5
+ get eventElement(): HTMLElement | undefined;
6
+ setEventElement: jest.Mock<any, any>;
7
+ clearInputElement: jest.Mock<any, any>;
8
+ registerController: jest.Mock<any, any>;
9
+ removeController: jest.Mock<any, any>;
10
+ isKeyPressed: jest.Mock<any, any>;
11
+ constructor(appObject: AppObject);
12
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockKeyboardInput = void 0;
4
+ const KeyboardInput_1 = require("../Entities/KeyboardInput");
5
+ class MockKeyboardInput extends KeyboardInput_1.KeyboardInputEntity {
6
+ constructor(appObject) {
7
+ super(appObject, KeyboardInput_1.KeyboardInputEntity.type);
8
+ this.setEventElement = jest.fn();
9
+ this.clearInputElement = jest.fn();
10
+ this.registerController = jest.fn();
11
+ this.removeController = jest.fn();
12
+ this.isKeyPressed = jest.fn();
13
+ }
14
+ get eventElement() {
15
+ throw new Error("Method not implemented.");
16
+ }
17
+ }
18
+ exports.MockKeyboardInput = MockKeyboardInput;
@@ -0,0 +1 @@
1
+ export * from "./Entities/KeyboardInput";
@@ -10,5 +10,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./SerializeSceneRoot"), exports);
14
- __exportStar(require("./setupSceneRoot"), exports);
13
+ __exportStar(require("./Entities/KeyboardInput"), exports);
@@ -0,0 +1,31 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
4
+ import { Vector2 } from "../../../ValueObjects";
5
+ export interface MouseInputEvent {
6
+ position: Vector2;
7
+ button: number;
8
+ event: MouseEvent;
9
+ }
10
+ export interface MouseWheelEvent {
11
+ position: Vector2;
12
+ event: WheelEvent;
13
+ }
14
+ export interface MouseController {
15
+ onClick?: (e: MouseInputEvent) => void;
16
+ onDoubleClick?: (e: MouseInputEvent) => void;
17
+ onDown?: (e: MouseInputEvent) => void;
18
+ onUp?: (e: MouseInputEvent) => void;
19
+ onMove?: (e: MouseInputEvent) => void;
20
+ onWheel?: (e: MouseWheelEvent) => void;
21
+ }
22
+ export declare abstract class MouseInputEntity extends AppObjectEntity {
23
+ static readonly type = "MouseInputEntity";
24
+ abstract get eventElement(): HTMLElement | undefined;
25
+ abstract setEventElement(eventElement: HTMLElement): void;
26
+ abstract clearInputElement(): void;
27
+ abstract registerController(controller: MouseController): void;
28
+ abstract removeController(controller: MouseController): void;
29
+ static get(appObjects: AppObjectRepo): MouseInputEntity | undefined;
30
+ }
31
+ export declare function makeMouseInput(appObject: AppObject): MouseInputEntity;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMouseInput = exports.MouseInputEntity = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ class MouseInputEntity extends AppObjectEntity_1.AppObjectEntity {
7
+ static get(appObjects) {
8
+ const components = appObjects.getAllComponents(MouseInputEntity.type);
9
+ if (components.length === 0) {
10
+ console.warn(`Unable to find component ${MouseInputEntity.type}. Add one on Mount`);
11
+ return undefined;
12
+ }
13
+ else if (components.length > 1) {
14
+ console.warn(`Multiple ${MouseInputEntity.type} found. There should only be one. Using the first one`);
15
+ }
16
+ return components[0];
17
+ }
18
+ }
19
+ exports.MouseInputEntity = MouseInputEntity;
20
+ MouseInputEntity.type = "MouseInputEntity";
21
+ function makeMouseInput(appObject) {
22
+ return new MouseInputEntityImp(appObject);
23
+ }
24
+ exports.makeMouseInput = makeMouseInput;
25
+ class MouseInputEntityImp extends MouseInputEntity {
26
+ constructor(appObject) {
27
+ super(appObject, MouseInputEntity.type);
28
+ this.controllers = [];
29
+ this.maxClickMovement = 5; // pixels
30
+ this.isPressed = false;
31
+ this.initialClickTime = 0;
32
+ this.initialClickPos = ValueObjects_1.Vector2.Zero();
33
+ this.clickCount = 0;
34
+ this.maxDoubleClickTimeMS = 300;
35
+ this.maxDoubleClickDistancePx = 5;
36
+ this._eventElement = undefined;
37
+ this.setEventElement = (eventElement) => {
38
+ if (this._eventElement)
39
+ this.clearInputElement();
40
+ eventElement.addEventListener("mousedown", this.onMouseDown, false);
41
+ eventElement.addEventListener("mouseup", this.onMouseUp, false);
42
+ eventElement.addEventListener("mousemove", this.onMouseMove, false);
43
+ eventElement.addEventListener("mouseout", this.onMouseOut, false);
44
+ eventElement.addEventListener("wheel", this.onWheel, false);
45
+ this._eventElement = eventElement;
46
+ };
47
+ this.clearInputElement = () => {
48
+ if (!this._eventElement)
49
+ return;
50
+ this._eventElement.removeEventListener("mousedown", this.onMouseDown);
51
+ this._eventElement.removeEventListener("mouseup", this.onMouseUp);
52
+ this._eventElement.removeEventListener("mousemove", this.onMouseMove);
53
+ this._eventElement.removeEventListener("mouseout", this.onMouseOut);
54
+ this._eventElement.removeEventListener("wheel", this.onWheel);
55
+ this._eventElement = undefined;
56
+ };
57
+ this.registerController = (controller) => {
58
+ this.controllers.push(controller);
59
+ };
60
+ this.removeController = (controller) => {
61
+ const index = this.controllers.indexOf(controller);
62
+ if (index >= 0) {
63
+ this.controllers.splice(index, 1);
64
+ }
65
+ };
66
+ this.onMouseDown = (e) => {
67
+ const inputEvt = this.makeMouseInputEvent(e);
68
+ this.controllers.forEach((c) => {
69
+ if (c.onDown) {
70
+ c.onDown(inputEvt);
71
+ }
72
+ });
73
+ this.isPressed = true;
74
+ this.pressEvent = e;
75
+ if (this.clickCount === 0)
76
+ return;
77
+ const movement = ValueObjects_1.Vector2.Subtract(this.initialClickPos, inputEvt.position)
78
+ .magnitued;
79
+ const passedTime = Date.now() - this.initialClickTime;
80
+ if (passedTime > this.maxDoubleClickTimeMS ||
81
+ movement > this.maxDoubleClickDistancePx) {
82
+ this.clickCount = 0;
83
+ }
84
+ };
85
+ this.onMouseUp = (e) => {
86
+ const inputEvt = this.makeMouseInputEvent(e);
87
+ this.controllers.forEach((c) => {
88
+ if (c.onUp) {
89
+ c.onUp(inputEvt);
90
+ }
91
+ });
92
+ this.isPressed = false;
93
+ if (!this.pressEvent)
94
+ return;
95
+ const deltaX = this.pressEvent.screenX - e.screenX;
96
+ const deltaY = this.pressEvent.screenY - e.screenY;
97
+ const delta = new ValueObjects_1.Vector2(deltaX, deltaY);
98
+ if (delta.magnitued < this.maxClickMovement) {
99
+ this.controllers.forEach((c) => {
100
+ if (c.onClick) {
101
+ c.onClick(inputEvt);
102
+ }
103
+ });
104
+ this.clickCount += 1;
105
+ }
106
+ else {
107
+ this.cancelDoubleClick();
108
+ return;
109
+ }
110
+ if (this.clickCount === 1) {
111
+ this.initialClickTime = Date.now();
112
+ this.initialClickPos = new ValueObjects_1.Vector2(this.pressEvent.screenX, this.pressEvent.screenY);
113
+ }
114
+ else if (this.clickCount === 2) {
115
+ const currentPos = new ValueObjects_1.Vector2(this.pressEvent.screenX, this.pressEvent.screenY);
116
+ let movement = ValueObjects_1.Vector2.Subtract(this.initialClickPos, currentPos)
117
+ .magnitued;
118
+ if (movement === NaN)
119
+ movement = 0;
120
+ const passedTime = Date.now() - this.initialClickTime;
121
+ if (passedTime <= this.maxDoubleClickTimeMS &&
122
+ movement <= this.maxDoubleClickDistancePx) {
123
+ this.controllers.forEach((c) => {
124
+ if (c.onDoubleClick) {
125
+ c.onDoubleClick(inputEvt);
126
+ }
127
+ });
128
+ this.cancelDoubleClick();
129
+ }
130
+ }
131
+ this.pressEvent = undefined;
132
+ };
133
+ this.cancelDoubleClick = () => {
134
+ this.initialClickPos = ValueObjects_1.Vector2.Zero();
135
+ this.initialClickTime = 0;
136
+ this.clickCount = 0;
137
+ };
138
+ this.onMouseMove = (e) => {
139
+ const inputEvt = this.makeMouseInputEvent(e);
140
+ this.controllers.forEach((c) => {
141
+ if (c.onMove) {
142
+ c.onMove(inputEvt);
143
+ }
144
+ });
145
+ if (!this.pressEvent)
146
+ return;
147
+ const deltaX = this.pressEvent.screenX - e.screenX;
148
+ const deltaY = this.pressEvent.screenY - e.screenY;
149
+ const delta = new ValueObjects_1.Vector2(deltaX, deltaY);
150
+ if (delta.magnitued > this.maxClickMovement) {
151
+ this.pressEvent = undefined;
152
+ }
153
+ };
154
+ this.onMouseOut = (e) => {
155
+ this.cancelDoubleClick();
156
+ if (!this.isPressed)
157
+ return;
158
+ const inputEvt = this.makeMouseInputEvent(e);
159
+ this.controllers.forEach((c) => {
160
+ if (c.onUp) {
161
+ c.onUp(inputEvt);
162
+ }
163
+ });
164
+ this.pressEvent = undefined;
165
+ this.isPressed = false;
166
+ };
167
+ this.onWheel = (e) => {
168
+ e.preventDefault();
169
+ const px = e.offsetX;
170
+ const py = e.offsetY;
171
+ const button = e.button;
172
+ const inputEvt = {
173
+ position: new ValueObjects_1.Vector2(px, py),
174
+ event: e,
175
+ };
176
+ this.controllers.forEach((c) => {
177
+ if (c.onWheel) {
178
+ c.onWheel(inputEvt);
179
+ }
180
+ });
181
+ };
182
+ }
183
+ get eventElement() {
184
+ return this._eventElement;
185
+ }
186
+ makeMouseInputEvent(event) {
187
+ const px = event.offsetX;
188
+ const py = event.offsetY;
189
+ const button = event.button;
190
+ return {
191
+ position: new ValueObjects_1.Vector2(px, py),
192
+ button,
193
+ event,
194
+ };
195
+ }
196
+ }
@@ -0,0 +1,12 @@
1
+ /// <reference types="jest" />
2
+ import { AppObject } from "../../../AppObject/AppObject";
3
+ import { MouseInputEntity } from "../Entities/MouseInput";
4
+ export declare class MockMouseInput extends MouseInputEntity {
5
+ get eventElement(): HTMLElement | undefined;
6
+ setEventElement: jest.Mock<any, any>;
7
+ clearInputElement: jest.Mock<any, any>;
8
+ registerController: jest.Mock<any, any>;
9
+ removeController: jest.Mock<any, any>;
10
+ isKeyPressed: jest.Mock<any, any>;
11
+ constructor(appObject: AppObject);
12
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockMouseInput = void 0;
4
+ const MouseInput_1 = require("../Entities/MouseInput");
5
+ class MockMouseInput extends MouseInput_1.MouseInputEntity {
6
+ constructor(appObject) {
7
+ super(appObject, MouseInput_1.MouseInputEntity.type);
8
+ this.setEventElement = jest.fn();
9
+ this.clearInputElement = jest.fn();
10
+ this.registerController = jest.fn();
11
+ this.removeController = jest.fn();
12
+ this.isKeyPressed = jest.fn();
13
+ }
14
+ get eventElement() {
15
+ throw new Error("Method not implemented.");
16
+ }
17
+ }
18
+ exports.MockMouseInput = MockMouseInput;
@@ -0,0 +1 @@
1
+ export * from "./Entities/MouseInput";
@@ -10,4 +10,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./PeelSceneObject"), exports);
13
+ __exportStar(require("./Entities/MouseInput"), exports);
@@ -0,0 +1,4 @@
1
+ export * from "./setAnswerFeedback";
2
+ export * from "./setAnswerText";
3
+ export * from "./submitQuestionAnswer";
4
+ export * from "./toggleAnswerIsCorrect";
@@ -10,8 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./modelDataLoader"), exports);
14
- __exportStar(require("./loadNewModel"), exports);
15
- __exportStar(require("./SerializeActiveModel"), exports);
16
- __exportStar(require("./SetMeshesEnabledHook"), exports);
17
- __exportStar(require("./SetSceneModelMeshOverlayColor"), exports);
13
+ __exportStar(require("./setAnswerFeedback"), exports);
14
+ __exportStar(require("./setAnswerText"), exports);
15
+ __exportStar(require("./submitQuestionAnswer"), exports);
16
+ __exportStar(require("./toggleAnswerIsCorrect"), exports);
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
2
+ export declare function setAnswerFeedback(answerID: string, feedback: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setAnswerFeedback = void 0;
4
+ const App_1 = require("../../App");
5
+ const QuestionEntity_1 = require("../Entities/QuestionEntity");
6
+ const SetAnswerFeedbackUC_1 = require("../UseCases/SetAnswerFeedbackUC");
7
+ function setAnswerFeedback(answerID, feedback, appObjects) {
8
+ const questionEntity = QuestionEntity_1.QuestionEntity.get(appObjects);
9
+ if (!questionEntity) {
10
+ App_1.submitWarning("setAnswerFeedback", "Can't find QuestionEntity", appObjects);
11
+ return;
12
+ }
13
+ const answer = questionEntity.getAnswer(answerID);
14
+ if (!answer) {
15
+ App_1.submitWarning("setAnswerFeedback", "Can't find Answer by ID", appObjects);
16
+ return;
17
+ }
18
+ const uc = answer.appObject.getComponent(SetAnswerFeedbackUC_1.SetAnswerFeedbackUC.type);
19
+ if (!uc) {
20
+ App_1.submitWarning("setAnswerFeedback", "Can't find SetAnswerFeedbackUC on Answer", appObjects);
21
+ return;
22
+ }
23
+ uc.setFeedback(feedback);
24
+ }
25
+ exports.setAnswerFeedback = setAnswerFeedback;