@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,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;
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
2
+ export declare function setAnswerText(answerID: string, text: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setAnswerText = void 0;
4
+ const App_1 = require("../../App");
5
+ const QuestionEntity_1 = require("../Entities/QuestionEntity");
6
+ const SetAnswerTextUC_1 = require("../UseCases/SetAnswerTextUC");
7
+ function setAnswerText(answerID, text, appObjects) {
8
+ const questionEntity = QuestionEntity_1.QuestionEntity.get(appObjects);
9
+ if (!questionEntity) {
10
+ App_1.submitWarning("setAnswerText", "Can't find QuestionEntity", appObjects);
11
+ return;
12
+ }
13
+ const answer = questionEntity.getAnswer(answerID);
14
+ if (!answer) {
15
+ App_1.submitWarning("setAnswerText", "Can't find Answer by ID", appObjects);
16
+ return;
17
+ }
18
+ const uc = answer.appObject.getComponent(SetAnswerTextUC_1.SetAnswerTextUC.type);
19
+ if (!uc) {
20
+ App_1.submitWarning("setAnswerText", "Can't find SetAnswerTextUC on Answer", appObjects);
21
+ return;
22
+ }
23
+ uc.setText(text);
24
+ }
25
+ exports.setAnswerText = setAnswerText;
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
2
+ export declare function submitQuestionAnswer(answerID: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.submitQuestionAnswer = void 0;
4
+ const App_1 = require("../../App");
5
+ const UseCases_1 = require("../UseCases");
6
+ function submitQuestionAnswer(answerID, appObjects) {
7
+ const submitUC = UseCases_1.SubmitQuestionAnswerUC.get(appObjects);
8
+ if (!submitUC) {
9
+ App_1.submitWarning("submitQuestionAnswer", "Can't find SubmitQuestionAnswerUC", appObjects);
10
+ return;
11
+ }
12
+ submitUC.submitAnswer(answerID);
13
+ }
14
+ exports.submitQuestionAnswer = submitQuestionAnswer;
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
2
+ export declare function toggleAnswerIsCorrect(answerID: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toggleAnswerIsCorrect = void 0;
4
+ const App_1 = require("../../App");
5
+ const QuestionEntity_1 = require("../Entities/QuestionEntity");
6
+ const ToggleQuestionAnswerIsCorrect_1 = require("../UseCases/ToggleQuestionAnswerIsCorrect");
7
+ function toggleAnswerIsCorrect(answerID, appObjects) {
8
+ const questionEntity = QuestionEntity_1.QuestionEntity.get(appObjects);
9
+ if (!questionEntity) {
10
+ App_1.submitWarning("toggleAnswerIsCorrect", "Can't find QuestionEntity", appObjects);
11
+ return;
12
+ }
13
+ const answer = questionEntity.getAnswer(answerID);
14
+ if (!answer) {
15
+ App_1.submitWarning("toggleAnswerIsCorrect", "Can't find Answer by ID", appObjects);
16
+ return;
17
+ }
18
+ const uc = answer.appObject.getComponent(ToggleQuestionAnswerIsCorrect_1.ToggleQuesionChallengeAnswerIsCorrectUC.type);
19
+ if (!uc) {
20
+ App_1.submitWarning("toggleAnswerIsCorrect", "Can't find ToggleQuesionChallengeAnswerIsCorrectUC on Answer", appObjects);
21
+ return;
22
+ }
23
+ uc.toggleIsCorrect();
24
+ }
25
+ exports.toggleAnswerIsCorrect = toggleAnswerIsCorrect;
@@ -0,0 +1,36 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ export declare const EMPTY_TEXT_VALIDATION_MESSAGE = "Question answer text cannot be empty";
4
+ export declare const MAX_QUESTION_LENGTH = 40;
5
+ export declare const LONG_TEXT_VALIDATION_MESSAGE: string;
6
+ export declare const MAX_FEEDBACK_LENGTH = 200;
7
+ export declare const LONG_FEEDBACK_VALIDATION_MESSAGE: string;
8
+ export declare abstract class QuestionAnswerEntity extends AppObjectEntity {
9
+ static readonly type = "QuestionAnswerEntity";
10
+ abstract readonly id: string;
11
+ abstract text: string;
12
+ abstract get textValidationMessage(): string | undefined;
13
+ abstract isCorrect: boolean;
14
+ abstract feedbackText: string;
15
+ abstract get feedbackValidationMessage(): string | undefined;
16
+ }
17
+ export declare function makeQuestionAnswerEntity(appObject: AppObject): QuestionAnswerEntityImp;
18
+ declare class QuestionAnswerEntityImp extends QuestionAnswerEntity {
19
+ get id(): string;
20
+ private memoizedText;
21
+ get text(): string;
22
+ set text(val: string);
23
+ get textValidationMessage(): string | undefined;
24
+ private memoizedFeedback;
25
+ get feedbackText(): string;
26
+ set feedbackText(val: string);
27
+ get feedbackValidationMessage(): string | undefined;
28
+ private memoizedIsCorrect;
29
+ get isCorrect(): boolean;
30
+ set isCorrect(val: boolean);
31
+ private memoizedShowFeedback;
32
+ get showFeedback(): boolean;
33
+ set showFeedback(val: boolean);
34
+ constructor(appObject: AppObject);
35
+ }
36
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeQuestionAnswerEntity = exports.QuestionAnswerEntity = exports.LONG_FEEDBACK_VALIDATION_MESSAGE = exports.MAX_FEEDBACK_LENGTH = exports.LONG_TEXT_VALIDATION_MESSAGE = exports.MAX_QUESTION_LENGTH = exports.EMPTY_TEXT_VALIDATION_MESSAGE = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const Entities_1 = require("../../../Entities");
6
+ exports.EMPTY_TEXT_VALIDATION_MESSAGE = "Question answer text cannot be empty";
7
+ exports.MAX_QUESTION_LENGTH = 40;
8
+ exports.LONG_TEXT_VALIDATION_MESSAGE = `Question answer text is limited to ${exports.MAX_QUESTION_LENGTH} characters`;
9
+ exports.MAX_FEEDBACK_LENGTH = 200;
10
+ exports.LONG_FEEDBACK_VALIDATION_MESSAGE = `Feedback text is limited to ${exports.MAX_FEEDBACK_LENGTH} characters`;
11
+ class QuestionAnswerEntity extends AppObjectEntity_1.AppObjectEntity {
12
+ }
13
+ exports.QuestionAnswerEntity = QuestionAnswerEntity;
14
+ QuestionAnswerEntity.type = "QuestionAnswerEntity";
15
+ function makeQuestionAnswerEntity(appObject) {
16
+ return new QuestionAnswerEntityImp(appObject);
17
+ }
18
+ exports.makeQuestionAnswerEntity = makeQuestionAnswerEntity;
19
+ class QuestionAnswerEntityImp extends QuestionAnswerEntity {
20
+ constructor(appObject) {
21
+ super(appObject, QuestionAnswerEntity.type);
22
+ this.memoizedText = new Entities_1.MemoizedString("", this.notifyOnChange);
23
+ this.memoizedFeedback = new Entities_1.MemoizedString("", this.notifyOnChange);
24
+ this.memoizedIsCorrect = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
25
+ this.memoizedShowFeedback = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
26
+ }
27
+ get id() {
28
+ return this.appObject.id;
29
+ }
30
+ get text() {
31
+ return this.memoizedText.val;
32
+ }
33
+ set text(val) {
34
+ this.memoizedText.val = val;
35
+ }
36
+ get textValidationMessage() {
37
+ if (this.text.length === 0) {
38
+ return exports.EMPTY_TEXT_VALIDATION_MESSAGE;
39
+ }
40
+ else if (this.text.length > exports.MAX_QUESTION_LENGTH) {
41
+ return exports.LONG_TEXT_VALIDATION_MESSAGE;
42
+ }
43
+ else {
44
+ return;
45
+ }
46
+ }
47
+ get feedbackText() {
48
+ return this.memoizedFeedback.val;
49
+ }
50
+ set feedbackText(val) {
51
+ this.memoizedFeedback.val = val;
52
+ }
53
+ get feedbackValidationMessage() {
54
+ if (this.feedbackText.length > exports.MAX_FEEDBACK_LENGTH) {
55
+ return exports.LONG_FEEDBACK_VALIDATION_MESSAGE;
56
+ }
57
+ else {
58
+ return undefined;
59
+ }
60
+ }
61
+ get isCorrect() {
62
+ return this.memoizedIsCorrect.val;
63
+ }
64
+ set isCorrect(val) {
65
+ this.memoizedIsCorrect.val = val;
66
+ }
67
+ get showFeedback() {
68
+ return this.memoizedShowFeedback.val;
69
+ }
70
+ set showFeedback(val) {
71
+ this.memoizedShowFeedback.val = val;
72
+ }
73
+ }
@@ -0,0 +1,24 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
4
+ import { QuestionAnswerEntity } from "./QuestionAnswerEntity";
5
+ export declare const VALIDATION_NO_CORRECT = "At least one answer must be marked as correct";
6
+ export declare const VALIDATION_NOT_ENOUGH_ANSWERS = "Question must have at least two answers";
7
+ export declare abstract class QuestionEntity extends AppObjectEntity {
8
+ static readonly type = "QuestionEntity";
9
+ abstract get gotItRight(): boolean;
10
+ abstract get reviewFeedback(): string;
11
+ abstract addAnswer: (answer: QuestionAnswerEntity) => void;
12
+ abstract removeAnswer: (id: string) => void;
13
+ abstract getAnswer: (id: string) => QuestionAnswerEntity | undefined;
14
+ abstract getAllAnswers: () => QuestionAnswerEntity[];
15
+ abstract hasAnswer: (id: string) => boolean;
16
+ abstract createNewAnswer: () => QuestionAnswerEntity;
17
+ abstract removeAllAnswers: () => void;
18
+ abstract reset: () => void;
19
+ abstract submitAnswer: (id: string) => void;
20
+ abstract setDefaultState: () => void;
21
+ abstract get validationMessage(): string | undefined;
22
+ static get(appObjects: AppObjectRepo): QuestionEntity | undefined;
23
+ }
24
+ export declare function makeQuestionEntity(appObject: AppObject): QuestionEntity;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeQuestionEntity = exports.QuestionEntity = exports.VALIDATION_NOT_ENOUGH_ANSWERS = exports.VALIDATION_NO_CORRECT = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const generateUniqueID_1 = require("../../../Utilities/generateUniqueID");
6
+ const App_1 = require("../../App");
7
+ const QuestionAnswerEntity_1 = require("./QuestionAnswerEntity");
8
+ exports.VALIDATION_NO_CORRECT = "At least one answer must be marked as correct";
9
+ exports.VALIDATION_NOT_ENOUGH_ANSWERS = "Question must have at least two answers";
10
+ class QuestionEntity extends AppObjectEntity_1.AppObjectEntity {
11
+ static get(appObjects) {
12
+ const components = appObjects.getAllComponents(QuestionEntity.type);
13
+ if (components.length === 0) {
14
+ App_1.submitWarning("QuestionEntity", `Unable to find component ${QuestionEntity.type}. Add one on Mount`, appObjects);
15
+ return undefined;
16
+ }
17
+ else if (components.length > 1) {
18
+ App_1.submitWarning("QuestionEntity", `Multiple ${QuestionEntity.type} found. There should only be one. Using the first one`, appObjects);
19
+ }
20
+ return components[0];
21
+ }
22
+ }
23
+ exports.QuestionEntity = QuestionEntity;
24
+ QuestionEntity.type = "QuestionEntity";
25
+ function makeQuestionEntity(appObject) {
26
+ return new QuestionChallengeImp(appObject);
27
+ }
28
+ exports.makeQuestionEntity = makeQuestionEntity;
29
+ class QuestionChallengeImp extends QuestionEntity {
30
+ constructor(appObject) {
31
+ super(appObject, QuestionEntity.type);
32
+ this.answerLookup = new Map();
33
+ this._gotItRight = false;
34
+ this._reviewFeedback = "";
35
+ this.addAnswer = (answer) => {
36
+ if (this.answerLookup.has(answer.id)) {
37
+ App_1.submitWarning("QuestionChallengeImp", `Answer with ID ${answer.id} already exists. Overwriting`, this.appObject.appObjectRepo);
38
+ }
39
+ this.answerLookup.set(answer.id, answer);
40
+ this.reset();
41
+ };
42
+ this.removeAnswer = (id) => {
43
+ const ans = this.answerLookup.get(id);
44
+ if (!ans)
45
+ return;
46
+ this.answerLookup.delete(id);
47
+ ans.appObject.dispose();
48
+ this.reset();
49
+ };
50
+ this.getAnswer = (id) => {
51
+ return this.answerLookup.get(id);
52
+ };
53
+ this.getAllAnswers = () => {
54
+ return Array.from(this.answerLookup.values());
55
+ };
56
+ this.hasAnswer = (id) => {
57
+ return this.answerLookup.has(id);
58
+ };
59
+ this.reset = () => {
60
+ this._gotItRight = false;
61
+ this._reviewFeedback = "";
62
+ this.notifyOnChange();
63
+ };
64
+ this.submitAnswer = (id) => {
65
+ const ans = this.getAnswer(id);
66
+ if (!ans) {
67
+ App_1.submitWarning("QuestionChallengeImp", `Unable to find answer by ID: ${id}`, this.appObject.appObjectRepo);
68
+ return;
69
+ }
70
+ this._gotItRight = ans.isCorrect;
71
+ if (ans.feedbackText) {
72
+ this._reviewFeedback = ans.feedbackText;
73
+ }
74
+ else {
75
+ this._reviewFeedback = ans.isCorrect ? "Correct" : "Incorrect";
76
+ }
77
+ this.notifyOnChange();
78
+ };
79
+ this.createNewAnswer = () => {
80
+ const id = generateUniqueID_1.generateUniqueID();
81
+ const appObj = this.appObject.appObjectRepo.getOrCreate(id);
82
+ const answer = QuestionAnswerEntity_1.makeQuestionAnswerEntity(appObj);
83
+ this.addAnswer(answer);
84
+ return answer;
85
+ };
86
+ this.removeAllAnswers = () => {
87
+ const allAnswers = Array.from(this.answerLookup.keys());
88
+ allAnswers.forEach((id) => this.removeAnswer(id));
89
+ this.reset();
90
+ };
91
+ this.setDefaultState = () => {
92
+ this.removeAllAnswers();
93
+ const trueAnswer = this.createNewAnswer();
94
+ trueAnswer.isCorrect = true;
95
+ trueAnswer.text = "True";
96
+ const falseAnswer = this.createNewAnswer();
97
+ falseAnswer.text = "False";
98
+ this.reset();
99
+ };
100
+ }
101
+ get gotItRight() {
102
+ return this._gotItRight;
103
+ }
104
+ get reviewFeedback() {
105
+ return this._reviewFeedback;
106
+ }
107
+ get validationMessage() {
108
+ if (this.answerLookup.size < 2) {
109
+ return exports.VALIDATION_NOT_ENOUGH_ANSWERS;
110
+ }
111
+ let hasCorrect = false;
112
+ this.answerLookup.forEach((ans) => {
113
+ if (ans.isCorrect) {
114
+ hasCorrect = true;
115
+ }
116
+ });
117
+ if (!hasCorrect) {
118
+ return exports.VALIDATION_NO_CORRECT;
119
+ }
120
+ return undefined;
121
+ }
122
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./QuestionAnswerEntity";
2
+ export * from "./QuestionEntity";
@@ -10,10 +10,5 @@ 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("./PixelPlanePanFocusCamera"), exports);
14
- __exportStar(require("./LerpFocusCamera"), exports);
15
- __exportStar(require("./SerializeFocusCamera"), exports);
16
- __exportStar(require("./PixelDollyFocusCamera"), exports);
17
- __exportStar(require("./BumpDollyFocusCamera"), exports);
18
- __exportStar(require("./PinchDollyFocusCamera"), exports);
19
- __exportStar(require("./PixelOrbitFocusCamera"), exports);
13
+ __exportStar(require("./QuestionAnswerEntity"), exports);
14
+ __exportStar(require("./QuestionEntity"), exports);
@@ -0,0 +1,2 @@
1
+ export * from "./setupQuestionAnswer";
2
+ export * from "./setupQuestionChallenge";