@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,10 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ export declare abstract class ShowSpinnerUC extends AppObjectUC {
5
+ static readonly type = "ShowSpinnerUC";
6
+ readonly requestType = "SHOW_SPINNER";
7
+ abstract showSpinner(title: string, message: string): Promise<() => void>;
8
+ static get(appObjects: AppObjectRepo): ShowSpinnerUC | undefined;
9
+ }
10
+ export declare function makeShowSpinnerUC(appObject: AppObject): ShowSpinnerUC;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeShowSpinnerUC = exports.ShowSpinnerUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const AppDispatcher_1 = require("../Entities/AppDispatcher");
6
+ class ShowSpinnerUC extends AppObjectUC_1.AppObjectUC {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.requestType = "SHOW_SPINNER";
10
+ }
11
+ static get(appObjects) {
12
+ const selectionEntities = appObjects.getAllComponents(ShowSpinnerUC.type);
13
+ if (selectionEntities.length === 0) {
14
+ console.warn(`Unable to find component ${ShowSpinnerUC.type}. Add one on Mount`);
15
+ return undefined;
16
+ }
17
+ else if (selectionEntities.length > 1) {
18
+ console.warn(`Multiple ${ShowSpinnerUC.type} found. There should only be one. Using the first one`);
19
+ }
20
+ return selectionEntities[0];
21
+ }
22
+ }
23
+ exports.ShowSpinnerUC = ShowSpinnerUC;
24
+ ShowSpinnerUC.type = "ShowSpinnerUC";
25
+ function makeShowSpinnerUC(appObject) {
26
+ return new ShowSpinnerUCImp(appObject);
27
+ }
28
+ exports.makeShowSpinnerUC = makeShowSpinnerUC;
29
+ class ShowSpinnerUCImp extends ShowSpinnerUC {
30
+ constructor(appObject) {
31
+ super(appObject, ShowSpinnerUC.type);
32
+ this.requestVersion = 1;
33
+ this.showSpinner = (title, message) => {
34
+ return new Promise((resolve, reject) => {
35
+ const closeCallback = (closeSpinner) => {
36
+ resolve(closeSpinner);
37
+ };
38
+ const payload = {
39
+ message: message,
40
+ title: title,
41
+ closeCallback,
42
+ };
43
+ if (!this.appDispatcher) {
44
+ reject(new Error("No App Dispatcher"));
45
+ }
46
+ else {
47
+ this.appDispatcher.formRequestAndDispatch(this.requestType, this.requestVersion, payload);
48
+ }
49
+ });
50
+ };
51
+ this.appDispatcher = appObject.getComponent(AppDispatcher_1.AppDispatcher.type);
52
+ if (!this.appDispatcher) {
53
+ console.warn(`${ShowSpinnerUC.type} has been added to an App Object that does not have a AppDispatcher. Add a dispatcher first`);
54
+ this.dispose();
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,10 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ export declare abstract class StateHasChangedUC extends AppObjectUC {
5
+ static readonly type = "StateHasChangedUC";
6
+ readonly requestType = "ON_STATE_CHANGE";
7
+ abstract stateHasChanged(stateObject: object, assets: string[], validationErrorMessage?: string | undefined): void;
8
+ static get(appObjects: AppObjectRepo): StateHasChangedUC | undefined;
9
+ }
10
+ export declare function makeStateHasChangedUC(appObject: AppObject): StateHasChangedUC;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeStateHasChangedUC = exports.StateHasChangedUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const AppDispatcher_1 = require("../Entities/AppDispatcher");
6
+ class StateHasChangedUC extends AppObjectUC_1.AppObjectUC {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.requestType = "ON_STATE_CHANGE";
10
+ }
11
+ static get(appObjects) {
12
+ const selectionEntities = appObjects.getAllComponents(StateHasChangedUC.type);
13
+ if (selectionEntities.length === 0) {
14
+ console.warn(`Unable to find component ${StateHasChangedUC.type}. Add one on Mount`);
15
+ return undefined;
16
+ }
17
+ else if (selectionEntities.length > 1) {
18
+ console.warn(`Multiple ${StateHasChangedUC.type} found. There should only be one. Using the first one`);
19
+ }
20
+ return selectionEntities[0];
21
+ }
22
+ }
23
+ exports.StateHasChangedUC = StateHasChangedUC;
24
+ StateHasChangedUC.type = "StateHasChangedUC";
25
+ function makeStateHasChangedUC(appObject) {
26
+ return new StateHasChangedUCImp(appObject);
27
+ }
28
+ exports.makeStateHasChangedUC = makeStateHasChangedUC;
29
+ class StateHasChangedUCImp extends StateHasChangedUC {
30
+ constructor(appObject) {
31
+ super(appObject, StateHasChangedUC.type);
32
+ this.requestVersion = 3;
33
+ this.stateHasChanged = (stateObject, assets, validationErrorMessage) => {
34
+ if (!this.appDispatcher)
35
+ return;
36
+ const payload = {
37
+ stateObject,
38
+ assets,
39
+ validationErrorMessage,
40
+ };
41
+ this.appDispatcher.formRequestAndDispatch(this.requestType, this.requestVersion, payload);
42
+ };
43
+ this.appDispatcher = appObject.getComponent(AppDispatcher_1.AppDispatcher.type);
44
+ if (!this.appDispatcher) {
45
+ console.warn(`${StateHasChangedUC.type} has been added to an App Object that does not have a AppDispatcher. Add a dispatcher first`);
46
+ this.dispose();
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,11 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ export declare abstract class StateIsCompleteUC extends AppObjectUC {
5
+ static readonly type = "StateIsCompleteUC";
6
+ readonly requestType = "ON_STATE_COMPLETED";
7
+ abstract doDispatch(): void;
8
+ static get(appObjects: AppObjectRepo): StateIsCompleteUC | undefined;
9
+ }
10
+ export declare function makeStateIsCompleteUC(appObject: AppObject): StateIsCompleteUC;
11
+ export declare function stateIsComplete(appObjects: AppObjectRepo): void;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stateIsComplete = exports.makeStateIsCompleteUC = exports.StateIsCompleteUC = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const App_1 = require("../../App");
6
+ const AppDispatcher_1 = require("../Entities/AppDispatcher");
7
+ class StateIsCompleteUC extends AppObjectUC_1.AppObjectUC {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.requestType = "ON_STATE_COMPLETED";
11
+ }
12
+ static get(appObjects) {
13
+ const components = appObjects.getAllComponents(StateIsCompleteUC.type);
14
+ if (components.length === 0) {
15
+ App_1.submitWarning("StateIsCompleteUC", `Unable to find component ${StateIsCompleteUC.type}. Add one on Mount`, appObjects);
16
+ return undefined;
17
+ }
18
+ else if (components.length > 1) {
19
+ App_1.submitWarning("StateIsCompleteUC", `Multiple ${StateIsCompleteUC.type} found. There should only be one. Using the first one`, appObjects);
20
+ }
21
+ return components[0];
22
+ }
23
+ }
24
+ exports.StateIsCompleteUC = StateIsCompleteUC;
25
+ StateIsCompleteUC.type = "StateIsCompleteUC";
26
+ function makeStateIsCompleteUC(appObject) {
27
+ return new StateIsCompleteUCImp(appObject);
28
+ }
29
+ exports.makeStateIsCompleteUC = makeStateIsCompleteUC;
30
+ function stateIsComplete(appObjects) {
31
+ const uc = StateIsCompleteUC.get(appObjects);
32
+ if (uc) {
33
+ uc.doDispatch();
34
+ }
35
+ else {
36
+ App_1.submitWarning("stateIsComplete", "Can't find StateIsCompleteUC", appObjects);
37
+ }
38
+ }
39
+ exports.stateIsComplete = stateIsComplete;
40
+ class StateIsCompleteUCImp extends StateIsCompleteUC {
41
+ constructor(appObject) {
42
+ super(appObject, StateIsCompleteUC.type);
43
+ this.requestVersion = 1;
44
+ this.appDispatcher = appObject.getComponent(AppDispatcher_1.AppDispatcher.type);
45
+ if (!this.appDispatcher) {
46
+ App_1.submitWarning("StateIsCompleteUC", "GoToNextStateUC has been added to an App Object that does not have a AppDispatcher. Add a dispatcher first", appObject.appObjectRepo);
47
+ this.dispose();
48
+ }
49
+ }
50
+ doDispatch() {
51
+ if (!this.appDispatcher)
52
+ return;
53
+ this.appDispatcher.formRequestAndDispatch(this.requestType, this.requestVersion);
54
+ }
55
+ }
@@ -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;