@vived/app 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.d.ts +2 -0
  2. package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.js +14 -0
  3. package/lib/AppObjectComponents/App/Controller/startRenderingApp.d.ts +2 -0
  4. package/lib/AppObjectComponents/App/Controller/startRenderingApp.js +14 -0
  5. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.d.ts +2 -0
  6. package/lib/AppObjectComponents/App/Controller/stopRenderingApp.js +14 -0
  7. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.d.ts +2 -0
  8. package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.js +14 -0
  9. package/lib/AppObjectComponents/App/Entity/BaseAppState.d.ts +14 -0
  10. package/lib/AppObjectComponents/App/Entity/BaseAppState.js +50 -0
  11. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.d.ts +8 -0
  12. package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.js +12 -0
  13. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.d.ts +8 -0
  14. package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.js +12 -0
  15. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.d.ts +11 -0
  16. package/lib/AppObjectComponents/App/PM/IsAuthoringPM.js +38 -0
  17. package/lib/AppObjectComponents/App/PM/IsReviewingPM.d.ts +11 -0
  18. package/lib/AppObjectComponents/App/PM/IsReviewingPM.js +38 -0
  19. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.d.ts +8 -0
  20. package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.js +20 -0
  21. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.d.ts +10 -0
  22. package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.js +101 -0
  23. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.d.ts +2 -0
  24. package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.js +23 -0
  25. package/lib/AppObjectComponents/App/UseCase/submitError.d.ts +2 -0
  26. package/lib/AppObjectComponents/App/UseCase/submitError.js +26 -0
  27. package/lib/AppObjectComponents/App/UseCase/submitFatal.d.ts +2 -0
  28. package/lib/AppObjectComponents/App/UseCase/submitFatal.js +26 -0
  29. package/lib/AppObjectComponents/App/UseCase/submitLog.d.ts +2 -0
  30. package/lib/AppObjectComponents/App/UseCase/submitLog.js +26 -0
  31. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.d.ts +2 -0
  32. package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.js +26 -0
  33. package/lib/AppObjectComponents/App/UseCase/submitWarning.d.ts +2 -0
  34. package/lib/AppObjectComponents/App/UseCase/submitWarning.js +26 -0
  35. package/lib/AppObjectComponents/App/index.d.ts +11 -0
  36. package/lib/AppObjectComponents/App/index.js +23 -0
  37. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.d.ts +16 -0
  38. package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.js +80 -0
  39. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.d.ts +2 -0
  40. package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.js +11 -0
  41. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.d.ts +9 -0
  42. package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.js +13 -0
  43. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.d.ts +8 -0
  44. package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.js +28 -0
  45. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.d.ts +9 -0
  46. package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.js +20 -0
  47. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.d.ts +9 -0
  48. package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.js +30 -0
  49. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.d.ts +17 -0
  50. package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.js +29 -0
  51. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.d.ts +16 -0
  52. package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.js +29 -0
  53. package/lib/AppObjectComponents/Babylon/index.d.ts +7 -0
  54. package/lib/AppObjectComponents/Babylon/index.js +19 -0
  55. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.d.ts +7 -0
  56. package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.js +19 -0
  57. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.d.ts +9 -0
  58. package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.js +63 -0
  59. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.d.ts +10 -0
  60. package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.js +21 -0
  61. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.d.ts +9 -0
  62. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.js +13 -0
  63. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.d.ts +8 -0
  64. package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.js +12 -0
  65. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.d.ts +10 -0
  66. package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.js +14 -0
  67. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.d.ts +11 -0
  68. package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.js +55 -0
  69. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.d.ts +18 -0
  70. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.js +78 -0
  71. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.d.ts +11 -0
  72. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.js +72 -0
  73. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.d.ts +11 -0
  74. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.js +71 -0
  75. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.d.ts +12 -0
  76. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.js +72 -0
  77. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.d.ts +12 -0
  78. package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.js +72 -0
  79. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.d.ts +12 -0
  80. package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.js +73 -0
  81. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.d.ts +11 -0
  82. package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.js +67 -0
  83. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.d.ts +13 -0
  84. package/lib/AppObjectComponents/Dispatcher/UC/LogUC.js +61 -0
  85. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.d.ts +11 -0
  86. package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.js +57 -0
  87. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.d.ts +16 -0
  88. package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.js +50 -0
  89. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.d.ts +18 -0
  90. package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.js +52 -0
  91. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.d.ts +15 -0
  92. package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.js +52 -0
  93. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.d.ts +13 -0
  94. package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.js +54 -0
  95. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.d.ts +10 -0
  96. package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.js +57 -0
  97. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.d.ts +10 -0
  98. package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.js +49 -0
  99. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.d.ts +11 -0
  100. package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.js +55 -0
  101. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.d.ts +43 -0
  102. package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.js +159 -0
  103. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.d.ts +18 -0
  104. package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.js +86 -0
  105. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.d.ts +12 -0
  106. package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.js +18 -0
  107. package/lib/AppObjectComponents/KeyboardInput/index.d.ts +1 -0
  108. package/lib/{UseCases/SceneRoot → AppObjectComponents/KeyboardInput}/index.js +1 -2
  109. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.d.ts +31 -0
  110. package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.js +196 -0
  111. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.d.ts +12 -0
  112. package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.js +18 -0
  113. package/lib/AppObjectComponents/MouseInput/index.d.ts +1 -0
  114. package/lib/{UseCases/SceneObjects → AppObjectComponents/MouseInput}/index.js +1 -1
  115. package/lib/AppObjectComponents/Question/Controllers/index.d.ts +4 -0
  116. package/lib/{UseCases/SceneModel → AppObjectComponents/Question/Controllers}/index.js +4 -5
  117. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.d.ts +2 -0
  118. package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.js +25 -0
  119. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.d.ts +2 -0
  120. package/lib/AppObjectComponents/Question/Controllers/setAnswerText.js +25 -0
  121. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.d.ts +2 -0
  122. package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.js +14 -0
  123. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.d.ts +2 -0
  124. package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.js +25 -0
  125. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.d.ts +36 -0
  126. package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.js +73 -0
  127. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.d.ts +24 -0
  128. package/lib/AppObjectComponents/Question/Entities/QuestionEntity.js +122 -0
  129. package/lib/AppObjectComponents/Question/Entities/index.d.ts +2 -0
  130. package/lib/{UseCases/FocusCamera → AppObjectComponents/Question/Entities}/index.js +2 -7
  131. package/lib/AppObjectComponents/Question/Factories/index.d.ts +2 -0
  132. package/lib/AppObjectComponents/Question/Factories/index.js +14 -0
  133. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.d.ts +3 -0
  134. package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.js +20 -0
  135. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.d.ts +3 -0
  136. package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.js +22 -0
  137. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.d.ts +12 -0
  138. package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.js +21 -0
  139. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.d.ts +19 -0
  140. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.js +60 -0
  141. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.d.ts +20 -0
  142. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.js +70 -0
  143. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.d.ts +19 -0
  144. package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.js +71 -0
  145. package/lib/AppObjectComponents/Question/PresentationManagers/index.d.ts +2 -0
  146. package/lib/AppObjectComponents/Question/PresentationManagers/index.js +14 -0
  147. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.d.ts +10 -0
  148. package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.js +52 -0
  149. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.d.ts +10 -0
  150. package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.js +54 -0
  151. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.d.ts +35 -0
  152. package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.js +94 -0
  153. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.d.ts +7 -0
  154. package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.js +33 -0
  155. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.d.ts +7 -0
  156. package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.js +33 -0
  157. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.d.ts +2 -0
  158. package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.js +16 -0
  159. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.d.ts +9 -0
  160. package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.js +59 -0
  161. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.d.ts +7 -0
  162. package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.js +31 -0
  163. package/lib/AppObjectComponents/Question/UseCases/index.d.ts +7 -0
  164. package/lib/AppObjectComponents/Question/UseCases/index.js +19 -0
  165. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.d.ts +20 -0
  166. package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.js +89 -0
  167. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.d.ts +11 -0
  168. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.js +36 -0
  169. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts +12 -0
  170. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.js +37 -0
  171. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.d.ts +14 -0
  172. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.js +55 -0
  173. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.d.ts +14 -0
  174. package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.js +50 -0
  175. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.d.ts +11 -0
  176. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.js +38 -0
  177. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.d.ts +14 -0
  178. package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.js +51 -0
  179. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.d.ts +13 -0
  180. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.js +52 -0
  181. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.d.ts +13 -0
  182. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.js +53 -0
  183. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.d.ts +14 -0
  184. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.js +56 -0
  185. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.d.ts +14 -0
  186. package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.js +57 -0
  187. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.d.ts +3 -0
  188. package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.js +28 -0
  189. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.d.ts +11 -0
  190. package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.js +60 -0
  191. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.d.ts +14 -0
  192. package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.js +62 -0
  193. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.d.ts +12 -0
  194. package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.js +74 -0
  195. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.d.ts +13 -0
  196. package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.js +56 -0
  197. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.d.ts +14 -0
  198. package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.js +92 -0
  199. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.d.ts +13 -0
  200. package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.js +86 -0
  201. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.d.ts +13 -0
  202. package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.js +102 -0
  203. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.d.ts +14 -0
  204. package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.js +38 -0
  205. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.d.ts +30 -0
  206. package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.js +105 -0
  207. package/lib/AppObjectComponents/StateMachine/index.d.ts +1 -0
  208. package/lib/AppObjectComponents/StateMachine/index.js +13 -0
  209. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.d.ts +9 -0
  210. package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.js +43 -0
  211. package/lib/AppObjectComponents/Tools/Controller/triggerTool.d.ts +2 -0
  212. package/lib/AppObjectComponents/Tools/Controller/triggerTool.js +14 -0
  213. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.d.ts +39 -0
  214. package/lib/AppObjectComponents/Tools/Entities/ToolEntity.js +95 -0
  215. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.d.ts +17 -0
  216. package/lib/AppObjectComponents/Tools/Entities/ToolRepository.js +132 -0
  217. package/lib/AppObjectComponents/Tools/Factories/setupTool.d.ts +3 -0
  218. package/lib/AppObjectComponents/Tools/Factories/setupTool.js +12 -0
  219. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.d.ts +4 -0
  220. package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.js +13 -0
  221. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.d.ts +19 -0
  222. package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.js +66 -0
  223. package/lib/AppObjectComponents/Tools/index.d.ts +6 -0
  224. package/lib/AppObjectComponents/Tools/index.js +18 -0
  225. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.d.ts +33 -0
  226. package/lib/AppObjectComponents/TouchController/Entities/TouchInput.js +161 -0
  227. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.d.ts +13 -0
  228. package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.js +18 -0
  229. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.d.ts +3 -0
  230. package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.js +26 -0
  231. package/lib/AppObjectComponents/TouchController/index.d.ts +1 -0
  232. package/lib/AppObjectComponents/TouchController/index.js +13 -0
  233. package/lib/AppObjectComponents/XR/Entity/XREntity.d.ts +13 -0
  234. package/lib/AppObjectComponents/XR/Entity/XREntity.js +24 -0
  235. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.d.ts +7 -0
  236. package/lib/AppObjectComponents/XR/UseCase/RenderToXR.js +8 -0
  237. package/lib/AppObjectComponents/XR/index.d.ts +2 -0
  238. package/lib/AppObjectComponents/XR/index.js +14 -0
  239. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.d.ts +14 -0
  240. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.js +57 -0
  241. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.d.ts +13 -0
  242. package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.js +51 -0
  243. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.d.ts +21 -0
  244. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.js +60 -0
  245. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.d.ts +21 -0
  246. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.js +64 -0
  247. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.d.ts +26 -0
  248. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.js +86 -0
  249. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.d.ts +25 -0
  250. package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.js +47 -0
  251. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.d.ts +3 -0
  252. package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.js +31 -0
  253. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.d.ts +12 -0
  254. package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.js +65 -0
  255. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.d.ts +6 -0
  256. package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.js +41 -0
  257. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.d.ts +18 -0
  258. package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.js +79 -0
  259. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.d.ts +12 -0
  260. package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.js +69 -0
  261. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.d.ts +17 -0
  262. package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.js +84 -0
  263. package/lib/AppObjectComponents/zSpace/index.d.ts +12 -0
  264. package/lib/AppObjectComponents/zSpace/index.js +24 -0
  265. package/lib/Types/AppBoundary.d.ts +6 -0
  266. package/lib/Types/AppBoundary.js +2 -0
  267. package/lib/Types/AssetMetaDTO.d.ts +5 -0
  268. package/lib/Types/AssetMetaDTO.js +2 -0
  269. package/lib/UseCases/Handlers/SetThemeColorsBase.d.ts +13 -0
  270. package/lib/UseCases/Handlers/SetThemeColorsBase.js +32 -0
  271. package/lib/UseCases/Handlers/index.d.ts +1 -0
  272. package/lib/UseCases/Handlers/index.js +1 -0
  273. package/lib/Utilities/generateUniqueID.d.ts +1 -0
  274. package/lib/Utilities/generateUniqueID.js +8 -0
  275. package/package.json +1 -1
  276. package/lib/Entities/FocusCamera.d.ts +0 -70
  277. package/lib/Entities/FocusCamera.js +0 -272
  278. package/lib/Entities/MemoizedBoolean.d.ts +0 -8
  279. package/lib/Entities/MemoizedBoolean.js +0 -22
  280. package/lib/Entities/MemoizedNumber.d.ts +0 -8
  281. package/lib/Entities/MemoizedNumber.js +0 -22
  282. package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
  283. package/lib/Entities/MemoizedQuaternion.js +0 -23
  284. package/lib/Entities/MemoizedString.d.ts +0 -8
  285. package/lib/Entities/MemoizedString.js +0 -22
  286. package/lib/Entities/MemoizedVector2.d.ts +0 -9
  287. package/lib/Entities/MemoizedVector2.js +0 -23
  288. package/lib/Entities/MemoizedVector3.d.ts +0 -9
  289. package/lib/Entities/MemoizedVector3.js +0 -23
  290. package/lib/Entities/MeshModel.d.ts +0 -68
  291. package/lib/Entities/MeshModel.js +0 -174
  292. package/lib/Entities/ModelObject.d.ts +0 -10
  293. package/lib/Entities/ModelObject.js +0 -42
  294. package/lib/Entities/SceneRoot.d.ts +0 -29
  295. package/lib/Entities/SceneRoot.js +0 -145
  296. package/lib/PresentationManagers/FocusCameraPM.d.ts +0 -15
  297. package/lib/PresentationManagers/FocusCameraPM.js +0 -31
  298. package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +0 -13
  299. package/lib/PresentationManagers/FocusCameraPosRotPM.js +0 -28
  300. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
  301. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
  302. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +0 -17
  303. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +0 -64
  304. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +0 -36
  305. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +0 -71
  306. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +0 -11
  307. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +0 -36
  308. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +0 -11
  309. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +0 -36
  310. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +0 -11
  311. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +0 -26
  312. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +0 -11
  313. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +0 -33
  314. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +0 -22
  315. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +0 -81
  316. package/lib/UseCases/FocusCamera/index.d.ts +0 -7
  317. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
  318. package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
  319. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
  320. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
  321. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
  322. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
  323. package/lib/UseCases/SceneModel/index.d.ts +0 -5
  324. package/lib/UseCases/SceneModel/loadNewModel.d.ts +0 -2
  325. package/lib/UseCases/SceneModel/loadNewModel.js +0 -84
  326. package/lib/UseCases/SceneModel/modelDataLoader.d.ts +0 -3
  327. package/lib/UseCases/SceneModel/modelDataLoader.js +0 -33
  328. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
  329. package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
  330. package/lib/UseCases/SceneObjects/index.d.ts +0 -1
  331. package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +0 -33
  332. package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +0 -67
  333. package/lib/UseCases/SceneRoot/index.d.ts +0 -2
  334. package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +0 -2
  335. package/lib/UseCases/SceneRoot/setupSceneRoot.js +0 -11
@@ -0,0 +1,21 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { Vector2 } from "../../../ValueObjects";
4
+ import { Transform3D } from "../../Transform3D";
5
+ export declare enum ZSpaceDevice {
6
+ MAKO = "MAKO",
7
+ INSPIRE = "INSPIRE",
8
+ AIO = "AIO"
9
+ }
10
+ export declare abstract class ZSpaceDisplayEntity extends AppObjectEntity {
11
+ static readonly type = "ZSpaceDisplayEntity";
12
+ abstract readonly transform: Transform3D;
13
+ abstract get displaySizeMeters(): Vector2;
14
+ abstract set displaySizeMeters(val: Vector2);
15
+ abstract get displaySizePixels(): Vector2;
16
+ abstract set displaySizePixels(val: Vector2);
17
+ abstract get metersPerPixel(): number;
18
+ abstract get pixelPerMeter(): number;
19
+ abstract setForDevice(device: ZSpaceDevice): void;
20
+ }
21
+ export declare function makeZSpaceDisplayEntity(appObj: AppObject): ZSpaceDisplayEntity;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceDisplayEntity = exports.ZSpaceDisplayEntity = exports.ZSpaceDevice = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const Entities_1 = require("../../../Entities");
6
+ const ValueObjects_1 = require("../../../ValueObjects");
7
+ const Transform3D_1 = require("../../Transform3D");
8
+ var ZSpaceDevice;
9
+ (function (ZSpaceDevice) {
10
+ ZSpaceDevice["MAKO"] = "MAKO";
11
+ ZSpaceDevice["INSPIRE"] = "INSPIRE";
12
+ ZSpaceDevice["AIO"] = "AIO";
13
+ })(ZSpaceDevice = exports.ZSpaceDevice || (exports.ZSpaceDevice = {}));
14
+ class ZSpaceDisplayEntity extends AppObjectEntity_1.AppObjectEntity {
15
+ }
16
+ exports.ZSpaceDisplayEntity = ZSpaceDisplayEntity;
17
+ ZSpaceDisplayEntity.type = "ZSpaceDisplayEntity";
18
+ function makeZSpaceDisplayEntity(appObj) {
19
+ return new ZSpaceDisplayEntityImp(appObj);
20
+ }
21
+ exports.makeZSpaceDisplayEntity = makeZSpaceDisplayEntity;
22
+ class ZSpaceDisplayEntityImp extends ZSpaceDisplayEntity {
23
+ constructor(appObject) {
24
+ super(appObject, ZSpaceDisplayEntity.type);
25
+ this.memoizedSizeMeters = new Entities_1.MemoizedVector2(ValueObjects_1.Vector2.One(), this.notifyOnChange);
26
+ this.memoizedSizePixels = new Entities_1.MemoizedVector2(ValueObjects_1.Vector2.One(), this.notifyOnChange);
27
+ this.transform = Transform3D_1.Transform3D.addIfMissing(appObject);
28
+ }
29
+ get displaySizeMeters() {
30
+ return this.memoizedSizeMeters.val;
31
+ }
32
+ set displaySizeMeters(val) {
33
+ this.memoizedSizeMeters.val = val;
34
+ }
35
+ get displaySizePixels() {
36
+ return this.memoizedSizePixels.val;
37
+ }
38
+ set displaySizePixels(val) {
39
+ this.memoizedSizePixels.val = val;
40
+ }
41
+ get metersPerPixel() {
42
+ if (this.memoizedSizePixels.val.x === 0)
43
+ return 0;
44
+ return this.memoizedSizeMeters.val.x / this.memoizedSizePixels.val.x;
45
+ }
46
+ get pixelPerMeter() {
47
+ if (this.memoizedSizeMeters.val.x === 0)
48
+ return 0;
49
+ return this.memoizedSizePixels.val.x / this.memoizedSizeMeters.val.x;
50
+ }
51
+ setForDevice(device) {
52
+ if (device === ZSpaceDevice.AIO) {
53
+ this.displaySizeMeters = new ValueObjects_1.Vector2(0.521, 0.293);
54
+ }
55
+ else {
56
+ this.displaySizeMeters = new ValueObjects_1.Vector2(0.344, 0.193);
57
+ }
58
+ this.displaySizePixels = new ValueObjects_1.Vector2(1920, 1080);
59
+ }
60
+ }
@@ -0,0 +1,21 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
4
+ import { ZSpaceDisplayEntity } from "./ZSpaceDisplayEntity";
5
+ import { ZSpaceStylusEntity } from "./ZSpaceStylusEntity";
6
+ import { ZSpaceViewEntity } from "./ZSpaceViewEntity";
7
+ export declare abstract class ZSpaceEntity extends AppObjectEntity {
8
+ static readonly type = "ZSpaceEntity";
9
+ abstract get enabled(): boolean;
10
+ abstract set enabled(val: boolean);
11
+ abstract get emulate(): boolean;
12
+ abstract set emulate(val: boolean);
13
+ abstract readonly viewerScale: number;
14
+ abstract readonly stylus: ZSpaceStylusEntity;
15
+ abstract readonly headView: ZSpaceViewEntity;
16
+ abstract readonly leftEyeView: ZSpaceViewEntity;
17
+ abstract readonly rightEyeView: ZSpaceViewEntity;
18
+ abstract readonly display: ZSpaceDisplayEntity;
19
+ static get(appObjects: AppObjectRepo): ZSpaceEntity | undefined;
20
+ }
21
+ export declare function makeZSpaceEntity(appObj: AppObject): ZSpaceEntity;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceEntity = exports.ZSpaceEntity = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const Entities_1 = require("../../../Entities");
6
+ const ZSpaceDisplayEntity_1 = require("./ZSpaceDisplayEntity");
7
+ const ZSpaceStylusEntity_1 = require("./ZSpaceStylusEntity");
8
+ const ZSpaceViewEntity_1 = require("./ZSpaceViewEntity");
9
+ class ZSpaceEntity extends AppObjectEntity_1.AppObjectEntity {
10
+ static get(appObjects) {
11
+ const selectionEntities = appObjects.getAllComponents(ZSpaceEntity.type);
12
+ if (selectionEntities.length === 0) {
13
+ console.warn("Unable to find a ZSpaceEntity. Add one on Mount");
14
+ return undefined;
15
+ }
16
+ else if (selectionEntities.length > 1) {
17
+ console.warn("Multiple ZSpaceEntity have been found. There should only be one. Using the first one");
18
+ }
19
+ return selectionEntities[0];
20
+ }
21
+ }
22
+ exports.ZSpaceEntity = ZSpaceEntity;
23
+ ZSpaceEntity.type = "ZSpaceEntity";
24
+ function makeZSpaceEntity(appObj) {
25
+ return new ZSpaceImp(appObj);
26
+ }
27
+ exports.makeZSpaceEntity = makeZSpaceEntity;
28
+ class ZSpaceImp extends ZSpaceEntity {
29
+ constructor(appObj) {
30
+ super(appObj, ZSpaceEntity.type);
31
+ this.viewerScale = 1;
32
+ this.memoizedEnabled = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
33
+ this.memoizedEmulate = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
34
+ this.memoizedIsRendering = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
35
+ const headView = appObj.appObjectRepo.getOrCreate("zSpaceHeadView");
36
+ this.headView = ZSpaceViewEntity_1.makeZSpaceView(headView, ZSpaceViewEntity_1.ZSapceViewType.CENTER);
37
+ const leftEye = appObj.appObjectRepo.getOrCreate("zSpaceLeftEyeView");
38
+ this.leftEyeView = ZSpaceViewEntity_1.makeZSpaceView(leftEye, ZSpaceViewEntity_1.ZSapceViewType.LEFT);
39
+ const rightEye = appObj.appObjectRepo.getOrCreate("zSpaceRightEyeView");
40
+ this.rightEyeView = ZSpaceViewEntity_1.makeZSpaceView(rightEye, ZSpaceViewEntity_1.ZSapceViewType.RIGHT);
41
+ const stylusAO = appObj.appObjectRepo.getOrCreate("zSpaceStylus");
42
+ this.stylus = ZSpaceStylusEntity_1.makeZSpaceStylus(stylusAO);
43
+ const displayAO = appObj.appObjectRepo.getOrCreate("zSpaceDisplay");
44
+ this.display = ZSpaceDisplayEntity_1.makeZSpaceDisplayEntity(displayAO);
45
+ }
46
+ get enabled() {
47
+ return this.memoizedEnabled.val;
48
+ }
49
+ set enabled(val) {
50
+ this.memoizedEnabled.val = val;
51
+ }
52
+ get emulate() {
53
+ return this.memoizedEmulate.val;
54
+ }
55
+ set emulate(val) {
56
+ this.memoizedEmulate.val = val;
57
+ }
58
+ get isRendering() {
59
+ return this.memoizedIsRendering.val;
60
+ }
61
+ set isRendering(val) {
62
+ this.memoizedIsRendering.val = val;
63
+ }
64
+ }
@@ -0,0 +1,26 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
3
+ import { ParametricLine } from "../../../ValueObjects";
4
+ import { Transform3D } from "../../Transform3D";
5
+ export declare enum ZSpaceStylusButton {
6
+ PRIMARY = 0,
7
+ BACK_RIGHT = 1,
8
+ BACK_LEFT = 2
9
+ }
10
+ export interface ZSpaceStylusController {
11
+ onButtonDown?: (button: ZSpaceStylusButton) => void;
12
+ onButtonUp?: (button: ZSpaceStylusButton) => void;
13
+ onButtonClick?: (button: ZSpaceStylusButton) => void;
14
+ onStylusMove?: (transform: Transform3D) => void;
15
+ }
16
+ export declare abstract class ZSpaceStylusEntity extends AppObjectEntity {
17
+ static readonly type = "ZSpaceStylusEntity";
18
+ static clickMovementThreshold: number;
19
+ static clickTimeThresholdMS: number;
20
+ abstract registerController: (controller: ZSpaceStylusController) => void;
21
+ abstract updateButtonState: (button: ZSpaceStylusButton, isPressed: boolean) => void;
22
+ abstract readonly transform: Transform3D;
23
+ abstract readonly helperTransform: Transform3D;
24
+ abstract get pickRay(): ParametricLine;
25
+ }
26
+ export declare function makeZSpaceStylus(appObj: AppObject): ZSpaceStylusEntity;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceStylus = exports.ZSpaceStylusEntity = exports.ZSpaceStylusButton = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const Transform3D_1 = require("../../Transform3D");
7
+ var ZSpaceStylusButton;
8
+ (function (ZSpaceStylusButton) {
9
+ ZSpaceStylusButton[ZSpaceStylusButton["PRIMARY"] = 0] = "PRIMARY";
10
+ ZSpaceStylusButton[ZSpaceStylusButton["BACK_RIGHT"] = 1] = "BACK_RIGHT";
11
+ ZSpaceStylusButton[ZSpaceStylusButton["BACK_LEFT"] = 2] = "BACK_LEFT";
12
+ })(ZSpaceStylusButton = exports.ZSpaceStylusButton || (exports.ZSpaceStylusButton = {}));
13
+ class ZSpaceStylusEntity extends AppObjectEntity_1.AppObjectEntity {
14
+ }
15
+ exports.ZSpaceStylusEntity = ZSpaceStylusEntity;
16
+ ZSpaceStylusEntity.type = "ZSpaceStylusEntity";
17
+ ZSpaceStylusEntity.clickMovementThreshold = 0.32;
18
+ ZSpaceStylusEntity.clickTimeThresholdMS = 350;
19
+ function makeZSpaceStylus(appObj) {
20
+ const transform = Transform3D_1.Transform3D.addIfMissing(appObj);
21
+ return new StylusImp(appObj, transform);
22
+ }
23
+ exports.makeZSpaceStylus = makeZSpaceStylus;
24
+ class StylusImp extends ZSpaceStylusEntity {
25
+ constructor(appObject, transform) {
26
+ super(appObject, ZSpaceStylusEntity.type);
27
+ this.controllers = [];
28
+ this.buttonStates = [false, false, false];
29
+ this.pressPosition = ValueObjects_1.Vector3.Zero();
30
+ this.pressTime = 0;
31
+ this.registerController = (controller) => {
32
+ this.controllers.push(controller);
33
+ };
34
+ this.updateButtonState = (button, isPressed) => {
35
+ if (this.buttonStates[button] === isPressed)
36
+ return;
37
+ this.controllers.forEach((controller) => {
38
+ if (isPressed) {
39
+ if (controller.onButtonDown) {
40
+ controller.onButtonDown(button);
41
+ }
42
+ this.lassPressedButton = button;
43
+ this.pressPosition = this.transform.localPosition;
44
+ this.pressTime = Date.now();
45
+ }
46
+ else {
47
+ if (controller.onButtonUp) {
48
+ controller.onButtonUp(button);
49
+ }
50
+ if (this.isClick(button) && controller.onButtonClick) {
51
+ controller.onButtonClick(button);
52
+ }
53
+ }
54
+ });
55
+ this.buttonStates[button] = isPressed;
56
+ };
57
+ this.isClick = (button) => {
58
+ const buttonIsCorrect = button === this.lassPressedButton;
59
+ const movement = ValueObjects_1.Vector3.Subtract(this.transform.localPosition, this.pressPosition).magnitued;
60
+ const movementIsSmallEnough = movement < ZSpaceStylusEntity.clickMovementThreshold;
61
+ const passedTime = Date.now() - this.pressTime;
62
+ const pressTimeIsShortEnough = passedTime < ZSpaceStylusEntity.clickTimeThresholdMS;
63
+ if (buttonIsCorrect && movementIsSmallEnough && pressTimeIsShortEnough) {
64
+ return true;
65
+ }
66
+ else {
67
+ return false;
68
+ }
69
+ };
70
+ this.onTransformUpdate = () => {
71
+ this.controllers.forEach((controller) => {
72
+ if (controller.onStylusMove) {
73
+ controller.onStylusMove(this.transform);
74
+ }
75
+ });
76
+ };
77
+ this.transform = transform;
78
+ this.transform.addChangeObserver(this.onTransformUpdate);
79
+ const helperTransformAO = appObject.appObjectRepo.getOrCreate("StylusHelper");
80
+ this.helperTransform = Transform3D_1.Transform3D.addIfMissing(helperTransformAO);
81
+ this.helperTransform.parent = this.transform;
82
+ }
83
+ get pickRay() {
84
+ return ValueObjects_1.ParametricLine.FromPointDirection(this.transform.worldPosition, this.transform.localDirectionToWorld(ValueObjects_1.Vector3.Forward()));
85
+ }
86
+ }
@@ -0,0 +1,25 @@
1
+ /// <reference types="webxr" />
2
+ import { AppObject } from "../../../AppObject/AppObject";
3
+ import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
4
+ import { Matrix, Quaternion, Vector3 } from "../../../ValueObjects";
5
+ import { Transform3D } from "../../Transform3D";
6
+ export interface UpdateDTO {
7
+ position: Vector3;
8
+ rotation: Quaternion;
9
+ projectionMatrix: Matrix;
10
+ view?: XRView;
11
+ }
12
+ export declare enum ZSapceViewType {
13
+ CENTER = "Center",
14
+ LEFT = "Left",
15
+ RIGHT = "Right"
16
+ }
17
+ export declare abstract class ZSpaceViewEntity extends AppObjectEntity {
18
+ static readonly type = "ZSpaceViewEntity";
19
+ abstract update(data: UpdateDTO): void;
20
+ abstract get view(): XRView | undefined;
21
+ abstract readonly transform: Transform3D;
22
+ abstract get projectionMatrix(): Matrix;
23
+ abstract readonly viewType: ZSapceViewType;
24
+ }
25
+ export declare function makeZSpaceView(appObj: AppObject, viewType: ZSapceViewType): ZSpaceViewEntity;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceView = exports.ZSpaceViewEntity = exports.ZSapceViewType = void 0;
4
+ const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const Transform3D_1 = require("../../Transform3D");
7
+ var ZSapceViewType;
8
+ (function (ZSapceViewType) {
9
+ ZSapceViewType["CENTER"] = "Center";
10
+ ZSapceViewType["LEFT"] = "Left";
11
+ ZSapceViewType["RIGHT"] = "Right";
12
+ })(ZSapceViewType = exports.ZSapceViewType || (exports.ZSapceViewType = {}));
13
+ class ZSpaceViewEntity extends AppObjectEntity_1.AppObjectEntity {
14
+ }
15
+ exports.ZSpaceViewEntity = ZSpaceViewEntity;
16
+ ZSpaceViewEntity.type = "ZSpaceViewEntity";
17
+ function makeZSpaceView(appObj, viewType) {
18
+ const transform = Transform3D_1.Transform3D.addIfMissing(appObj);
19
+ return new ZSpaceViewImp(appObj, viewType, transform);
20
+ }
21
+ exports.makeZSpaceView = makeZSpaceView;
22
+ class ZSpaceViewImp extends ZSpaceViewEntity {
23
+ constructor(appObject, viewType, transform) {
24
+ super(appObject, ZSpaceViewEntity.type);
25
+ this._projectionMatrix = ValueObjects_1.Matrix.Identity();
26
+ this.viewType = viewType;
27
+ this.transform = transform;
28
+ this.transform.addChangeObserver(this.notifyOnChange);
29
+ }
30
+ update(data) {
31
+ this.transform.localPosition = data.position;
32
+ this.transform.localRotation = data.rotation;
33
+ this._projectionMatrix = data.projectionMatrix;
34
+ this._view = data.view;
35
+ this.notifyOnChange();
36
+ }
37
+ get view() {
38
+ return this._view;
39
+ }
40
+ submitView(view) {
41
+ this._view = view;
42
+ this.notifyOnChange();
43
+ }
44
+ get projectionMatrix() {
45
+ return this._projectionMatrix;
46
+ }
47
+ }
@@ -0,0 +1,3 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ export declare function makeZSpace(appObjectRepo: AppObjectRepo): AppObject;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpace = void 0;
4
+ const Transform3D_1 = require("../../Transform3D");
5
+ const XR_1 = require("../../XR");
6
+ const ZSpaceScaleRoot_1 = require("../Controllers/ZSpaceScaleRoot");
7
+ const ZSpaceStylusRootMovement_1 = require("../Controllers/ZSpaceStylusRootMovement");
8
+ const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
9
+ const ZSpaceDisplayPM_1 = require("../PM/ZSpaceDisplayPM");
10
+ const ZSpaceIsEnabledPM_1 = require("../PM/ZSpaceIsEnabledPM");
11
+ const StylusFromGamepadHook_1 = require("../UseCases/StylusFromGamepadHook");
12
+ const StylusRootMovementUC_1 = require("../UseCases/StylusRootMovementUC");
13
+ const ViewFromPoseHook_1 = require("../UseCases/ViewFromPoseHook");
14
+ function makeZSpace(appObjectRepo) {
15
+ const zSpaceAO = appObjectRepo.getOrCreate("zSpace");
16
+ const zSpaceEntity = ZSpaceEntity_1.makeZSpaceEntity(zSpaceAO);
17
+ XR_1.makeXREntity(zSpaceAO);
18
+ ViewFromPoseHook_1.makeViewFromPoseHook(zSpaceAO);
19
+ StylusFromGamepadHook_1.makeStylusFromGamepadHook(zSpaceAO);
20
+ ZSpaceIsEnabledPM_1.makeZSpaceIsEnabledPM(zSpaceAO);
21
+ const stylusAO = zSpaceEntity.stylus.appObject;
22
+ new Transform3D_1.Transform3DPM(stylusAO);
23
+ StylusRootMovementUC_1.makeDefaultStylusRootMovementUC(stylusAO);
24
+ new ZSpaceStylusRootMovement_1.ZSpaceStylusRootMovement(stylusAO);
25
+ new ZSpaceScaleRoot_1.ZSpaceScaleRoot(stylusAO);
26
+ const displayAO = zSpaceEntity.display.appObject;
27
+ new Transform3D_1.Transform3DPM(displayAO);
28
+ ZSpaceDisplayPM_1.makeZSpaceDisplayPM(displayAO);
29
+ return zSpaceAO;
30
+ }
31
+ exports.makeZSpace = makeZSpace;
@@ -0,0 +1,12 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectPM } from "../../../AppObject/AppObjectPM";
3
+ import { Vector2 } from "../../../ValueObjects";
4
+ export interface ZSpaceDisplayVM {
5
+ show: boolean;
6
+ pixelSize: Vector2;
7
+ worldSize: Vector2;
8
+ }
9
+ export declare abstract class ZSpaceDisplayPM extends AppObjectPM<ZSpaceDisplayVM> {
10
+ static readonly type = "ZSpaceDisplayPM";
11
+ }
12
+ export declare function makeZSpaceDisplayPM(appObject: AppObject): ZSpaceDisplayPM;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceDisplayPM = exports.ZSpaceDisplayPM = void 0;
4
+ const AppObjectPM_1 = require("../../../AppObject/AppObjectPM");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const ZSpaceDisplayEntity_1 = require("../Entities/ZSpaceDisplayEntity");
7
+ const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
8
+ class ZSpaceDisplayPM extends AppObjectPM_1.AppObjectPM {
9
+ }
10
+ exports.ZSpaceDisplayPM = ZSpaceDisplayPM;
11
+ ZSpaceDisplayPM.type = "ZSpaceDisplayPM";
12
+ function makeZSpaceDisplayPM(appObject) {
13
+ return new ZSpaceDisplayPMImp(appObject);
14
+ }
15
+ exports.makeZSpaceDisplayPM = makeZSpaceDisplayPM;
16
+ class ZSpaceDisplayPMImp extends ZSpaceDisplayPM {
17
+ constructor(appObject) {
18
+ super(appObject, ZSpaceDisplayPM.type);
19
+ this.onEntityChange = () => {
20
+ var _a, _b;
21
+ if (!this.zSpaceDisplay)
22
+ return;
23
+ const show = (_b = (_a = this.zSpaceEntity) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : false;
24
+ const vm = {
25
+ show,
26
+ pixelSize: this.zSpaceDisplay.displaySizePixels,
27
+ worldSize: this.zSpaceDisplay.displaySizeMeters
28
+ };
29
+ this.doUpdateView(vm);
30
+ };
31
+ this.dispose = () => {
32
+ var _a, _b, _c, _d;
33
+ super.dispose();
34
+ (_a = this.zSpaceDisplay) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onEntityChange);
35
+ (_b = this.zSpaceDisplay) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
36
+ (_c = this.zSpaceEntity) === null || _c === void 0 ? void 0 : _c.removeChangeObserver(this.onEntityChange);
37
+ (_d = this.zSpaceEntity) === null || _d === void 0 ? void 0 : _d.removeOnDisposeObserver(this.dispose);
38
+ };
39
+ this.zSpaceDisplay = appObject.getComponent(ZSpaceDisplayEntity_1.ZSpaceDisplayEntity.type);
40
+ if (!this.zSpaceDisplay) {
41
+ console.error("[ZSpaceDisplayPM] App Object does not have a ZSpace Display Entity");
42
+ return;
43
+ }
44
+ this.zSpaceEntity = ZSpaceEntity_1.ZSpaceEntity.get(appObject.appObjectRepo);
45
+ if (!this.zSpaceEntity) {
46
+ console.error("[ZSpaceDisplayPM] Could not find a ZSpace Entity");
47
+ return;
48
+ }
49
+ this.zSpaceDisplay.addChangeObserver(this.onEntityChange);
50
+ this.zSpaceDisplay.addOnDisposeObserver(this.dispose);
51
+ this.zSpaceEntity.addChangeObserver(this.onEntityChange);
52
+ this.zSpaceEntity.addOnDisposeObserver(this.dispose);
53
+ this.onEntityChange();
54
+ }
55
+ vmsAreEqual(a, b) {
56
+ if (a.show === b.show &&
57
+ ValueObjects_1.Vector2.Equal(a.pixelSize, b.pixelSize) &&
58
+ ValueObjects_1.Vector2.Equal(a.worldSize, b.worldSize)) {
59
+ return true;
60
+ }
61
+ else {
62
+ return false;
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,6 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectPM } from "../../../AppObject/AppObjectPM";
3
+ export declare abstract class ZSpaceIsEnabledPM extends AppObjectPM<boolean> {
4
+ static readonly type = "ZSpaceIsEnabledPM";
5
+ }
6
+ export declare function makeZSpaceIsEnabledPM(appObject: AppObject): ZSpaceIsEnabledPM;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeZSpaceIsEnabledPM = exports.ZSpaceIsEnabledPM = void 0;
4
+ const AppObjectPM_1 = require("../../../AppObject/AppObjectPM");
5
+ const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
6
+ class ZSpaceIsEnabledPM extends AppObjectPM_1.AppObjectPM {
7
+ }
8
+ exports.ZSpaceIsEnabledPM = ZSpaceIsEnabledPM;
9
+ ZSpaceIsEnabledPM.type = "ZSpaceIsEnabledPM";
10
+ function makeZSpaceIsEnabledPM(appObject) {
11
+ return new ZSpaceIsEnabledPMImp(appObject);
12
+ }
13
+ exports.makeZSpaceIsEnabledPM = makeZSpaceIsEnabledPM;
14
+ class ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {
15
+ constructor(appObject) {
16
+ super(appObject, ZSpaceIsEnabledPM.type);
17
+ this.onRepoChange = () => {
18
+ if (!this.zSpace)
19
+ return;
20
+ this.doUpdateView(this.zSpace.enabled);
21
+ };
22
+ this.dispose = () => {
23
+ var _a, _b;
24
+ super.dispose();
25
+ (_a = this.zSpace) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onRepoChange);
26
+ (_b = this.zSpace) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
27
+ };
28
+ this.zSpace = appObject.getComponent(ZSpaceEntity_1.ZSpaceEntity.type);
29
+ if (this.zSpace) {
30
+ this.zSpace.addChangeObserver(this.onRepoChange);
31
+ this.zSpace.addOnDisposeObserver(() => this.dispose());
32
+ this.onRepoChange();
33
+ }
34
+ else {
35
+ console.warn("[ZSpaceIsEnabledPMImp] App Object does not have a ZSpace Entity");
36
+ }
37
+ }
38
+ vmsAreEqual(a, b) {
39
+ return a === b;
40
+ }
41
+ }
@@ -0,0 +1,18 @@
1
+ /// <reference types="webxr" />
2
+ import { AppObject } from "../../../AppObject/AppObject";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ export declare abstract class StylusFromGamepadHook extends AppObjectUC {
5
+ static readonly type = "StylusFromGamepadHook";
6
+ abstract onNewXRFrame(frame: XRFrame): void;
7
+ }
8
+ export declare function makeStylusFromGamepadHook(appObj: AppObject): StylusFromGamepadUCImp;
9
+ declare class StylusFromGamepadUCImp extends StylusFromGamepadHook {
10
+ private lastPresses;
11
+ private zSpace;
12
+ private xrEntity;
13
+ onNewXRFrame: () => void;
14
+ private processStylusPose;
15
+ private processButtons;
16
+ constructor(appObject: AppObject);
17
+ }
18
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeStylusFromGamepadHook = exports.StylusFromGamepadHook = void 0;
4
+ const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const XR_1 = require("../../XR");
7
+ const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
8
+ class StylusFromGamepadHook extends AppObjectUC_1.AppObjectUC {
9
+ }
10
+ exports.StylusFromGamepadHook = StylusFromGamepadHook;
11
+ StylusFromGamepadHook.type = "StylusFromGamepadHook";
12
+ function makeStylusFromGamepadHook(appObj) {
13
+ return new StylusFromGamepadUCImp(appObj);
14
+ }
15
+ exports.makeStylusFromGamepadHook = makeStylusFromGamepadHook;
16
+ class StylusFromGamepadUCImp extends StylusFromGamepadHook {
17
+ constructor(appObject) {
18
+ super(appObject, StylusFromGamepadHook.type);
19
+ this.lastPresses = [false, false, false];
20
+ this.onNewXRFrame = () => {
21
+ const frame = this.xrEntity.lastXRFrame;
22
+ if (!frame)
23
+ return;
24
+ let stylusSource = null;
25
+ if (frame &&
26
+ frame.session.inputSources &&
27
+ frame.session.inputSources[0] &&
28
+ frame.session.inputSources[0].gripSpace) {
29
+ stylusSource = frame.session.inputSources[0];
30
+ }
31
+ if (stylusSource === null) {
32
+ console.log("No stylus source");
33
+ return;
34
+ }
35
+ this.processButtons(stylusSource);
36
+ if (!this.xrEntity.xrReferenceSpace) {
37
+ console.log("No reference space");
38
+ return;
39
+ }
40
+ let stylusPose = frame.getPose(stylusSource.targetRaySpace, this.xrEntity.xrReferenceSpace);
41
+ if (stylusPose)
42
+ this.processStylusPose(stylusPose);
43
+ };
44
+ const zSpaceEntity = appObject.getComponent(ZSpaceEntity_1.ZSpaceEntity.type);
45
+ if (!zSpaceEntity) {
46
+ throw new Error("No ZSpace Entity");
47
+ }
48
+ this.zSpace = zSpaceEntity;
49
+ const xrEntity = zSpaceEntity.appObject.getComponent(XR_1.XREntity.type);
50
+ if (!xrEntity) {
51
+ throw new Error("No XR Entity");
52
+ }
53
+ this.xrEntity = xrEntity;
54
+ this.xrEntity.addChangeObserver(this.onNewXRFrame);
55
+ }
56
+ processStylusPose(pose) {
57
+ const matrix = ValueObjects_1.Matrix.FromFloat32Array(pose.transform.matrix);
58
+ const flippedMatrix = ValueObjects_1.Matrix.FlipTransformMatrixHand(matrix);
59
+ this.zSpace.stylus.transform.localMatrix = flippedMatrix;
60
+ }
61
+ processButtons(stylusSource) {
62
+ var _a, _b, _c;
63
+ const gamepad = stylusSource.gamepad;
64
+ if (!gamepad) {
65
+ console.log("No gamepad");
66
+ return;
67
+ }
68
+ const presses = [false, false, false];
69
+ presses[0] = (_a = gamepad.buttons[0]) === null || _a === void 0 ? void 0 : _a.pressed;
70
+ presses[1] = (_b = gamepad.buttons[3]) === null || _b === void 0 ? void 0 : _b.pressed;
71
+ presses[2] = (_c = gamepad.buttons[4]) === null || _c === void 0 ? void 0 : _c.pressed;
72
+ presses.forEach((press, i) => {
73
+ if (this.lastPresses[i] !== press) {
74
+ this.lastPresses[i] = press;
75
+ this.zSpace.stylus.updateButtonState(i, press);
76
+ }
77
+ });
78
+ }
79
+ }
@@ -0,0 +1,12 @@
1
+ import { AppObject } from "../../../AppObject/AppObject";
2
+ import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
3
+ import { AppObjectUC } from "../../../AppObject/AppObjectUC";
4
+ import { ParametricLine } from "../../../ValueObjects";
5
+ export declare abstract class StylusRootMovementUC extends AppObjectUC {
6
+ static readonly type = "StylusRootMovementUC";
7
+ abstract initialize(ray: ParametricLine, appObject?: AppObject): boolean;
8
+ abstract move(ray: ParametricLine): void;
9
+ abstract stop(): void;
10
+ static get(appObjects: AppObjectRepo): StylusRootMovementUC | undefined;
11
+ }
12
+ export declare function makeDefaultStylusRootMovementUC(appObject: AppObject): StylusRootMovementUC;