@vived/app 4.26.2 → 4.27.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 (337) hide show
  1. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.d.ts +42 -0
  2. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.js +99 -0
  3. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.d.ts +12 -0
  4. package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.js +45 -0
  5. package/lib/AppObjectComponents/ChannelModel/index.d.ts +2 -0
  6. package/lib/AppObjectComponents/ChannelModel/index.js +14 -0
  7. package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.d.ts +16 -0
  8. package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.js +40 -0
  9. package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.d.ts +5 -0
  10. package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.js +25 -0
  11. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.d.ts +10 -0
  12. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.js +44 -0
  13. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.d.ts +10 -0
  14. package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.js +44 -0
  15. package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.d.ts +10 -0
  16. package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.js +44 -0
  17. package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.d.ts +10 -0
  18. package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.js +44 -0
  19. package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.d.ts +10 -0
  20. package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.js +54 -0
  21. package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.d.ts +10 -0
  22. package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.js +54 -0
  23. package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.d.ts +10 -0
  24. package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.js +54 -0
  25. package/lib/AppObjectComponents/Dispatcher/index.d.ts +9 -0
  26. package/lib/AppObjectComponents/Dispatcher/index.js +21 -0
  27. package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.d.ts +16 -0
  28. package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.js +28 -0
  29. package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.d.ts +14 -0
  30. package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.js +41 -0
  31. package/lib/AppObjectComponents/Enablement/index.d.ts +2 -0
  32. package/lib/AppObjectComponents/Enablement/index.js +14 -0
  33. package/lib/AppObjectComponents/Hideable/Entities/Hideable.d.ts +10 -0
  34. package/lib/AppObjectComponents/Hideable/Entities/Hideable.js +31 -0
  35. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.d.ts +12 -0
  36. package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.js +43 -0
  37. package/lib/AppObjectComponents/Hideable/index.d.ts +2 -0
  38. package/lib/AppObjectComponents/Hideable/index.js +14 -0
  39. package/lib/AppObjectComponents/Label/Entities/Label.d.ts +17 -0
  40. package/lib/AppObjectComponents/Label/Entities/Label.js +58 -0
  41. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.d.ts +19 -0
  42. package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.js +62 -0
  43. package/lib/AppObjectComponents/Label/index.d.ts +2 -0
  44. package/lib/AppObjectComponents/Label/index.js +14 -0
  45. package/lib/AppObjectComponents/Mesh/Entities/Mesh.d.ts +21 -0
  46. package/lib/AppObjectComponents/Mesh/Entities/Mesh.js +45 -0
  47. package/lib/AppObjectComponents/Mesh/index.d.ts +1 -0
  48. package/lib/AppObjectComponents/Mesh/index.js +13 -0
  49. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.d.ts +25 -0
  50. package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.js +59 -0
  51. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.d.ts +13 -0
  52. package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.js +43 -0
  53. package/lib/AppObjectComponents/OverlayColor/index.d.ts +2 -0
  54. package/lib/AppObjectComponents/OverlayColor/index.js +14 -0
  55. package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.d.ts +31 -0
  56. package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.js +106 -0
  57. package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.d.ts +31 -0
  58. package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.js +109 -0
  59. package/lib/AppObjectComponents/SceneRoot/index.d.ts +2 -0
  60. package/lib/AppObjectComponents/SceneRoot/index.js +14 -0
  61. package/lib/AppObjectComponents/StoredView/Entities/StoredView.d.ts +13 -0
  62. package/lib/AppObjectComponents/StoredView/Entities/StoredView.js +64 -0
  63. package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.d.ts +27 -0
  64. package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.js +82 -0
  65. package/lib/AppObjectComponents/StoredView/index.d.ts +2 -0
  66. package/lib/AppObjectComponents/StoredView/index.js +14 -0
  67. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.d.ts +45 -0
  68. package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.js +226 -0
  69. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.d.ts +12 -0
  70. package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.js +46 -0
  71. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.d.ts +19 -0
  72. package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.js +60 -0
  73. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.d.ts +20 -0
  74. package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.js +67 -0
  75. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.d.ts +14 -0
  76. package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.js +53 -0
  77. package/lib/AppObjectComponents/Transform3D/index.d.ts +5 -0
  78. package/lib/AppObjectComponents/Transform3D/index.js +17 -0
  79. package/lib/AppObjectComponents/index.d.ts +10 -0
  80. package/lib/AppObjectComponents/index.js +22 -0
  81. package/lib/Components/App/PM/HasNextPreviousStatePM.d.ts +15 -0
  82. package/lib/Components/App/PM/HasNextPreviousStatePM.js +44 -0
  83. package/lib/Components/ChannelModel/Controllers/setModelObjectLabel.js +1 -1
  84. package/lib/Components/ChannelModel/UC/ProcessChannelModelUC.d.ts +6 -0
  85. package/lib/Components/ChannelModel/UC/ProcessChannelModelUC.js +9 -0
  86. package/lib/Components/ChannelModel/UC/SetupChannelModelUC.d.ts +10 -0
  87. package/lib/Components/ChannelModel/UC/SetupChannelModelUC.js +141 -0
  88. package/lib/Components/Hideable/UCs/SerializeHideableObjects.d.ts +23 -0
  89. package/lib/Components/Hideable/UCs/SerializeHideableObjects.js +90 -0
  90. package/lib/Components/Hideable/UCs/index.d.ts +1 -0
  91. package/lib/Components/Hideable/UCs/index.js +1 -0
  92. package/lib/Components/Label/Entities/Label.d.ts +1 -2
  93. package/lib/Components/Label/Entities/Label.js +0 -6
  94. package/lib/Components/Landmarks/UseCases/AddLandmarkUC.js +1 -1
  95. package/lib/Components/SceneRoot/Controllers/StylusMove.d.ts +14 -0
  96. package/lib/Components/SceneRoot/Controllers/StylusMove.js +56 -0
  97. package/lib/Components/SceneRoot/Controllers/StylusScale.d.ts +14 -0
  98. package/lib/Components/SceneRoot/Controllers/StylusScale.js +58 -0
  99. package/lib/Components/Selection/Controller/StylusHoverOnAppObject.d.ts +11 -0
  100. package/lib/Components/Selection/Controller/StylusHoverOnAppObject.js +42 -0
  101. package/lib/Components/Selection/Controller/StylusPressOnAppObject.d.ts +18 -0
  102. package/lib/Components/Selection/Controller/StylusPressOnAppObject.js +77 -0
  103. package/lib/Components/Selection/Controller/StylusSelectAppObject.d.ts +11 -0
  104. package/lib/Components/Selection/Controller/StylusSelectAppObject.js +44 -0
  105. package/lib/Components/XR/Mocks/index.d.ts +2 -0
  106. package/lib/Components/XR/Mocks/index.js +14 -0
  107. package/lib/Components/zSpace/Controllers/EmulateStylus.d.ts +9 -0
  108. package/lib/Components/zSpace/Controllers/EmulateStylus.js +100 -0
  109. package/lib/Components/zSpace/Controllers/ZSpaceScaleRoot.d.ts +14 -0
  110. package/lib/Components/zSpace/Controllers/ZSpaceScaleRoot.js +57 -0
  111. package/lib/Components/zSpace/Controllers/index.d.ts +1 -0
  112. package/lib/Components/zSpace/Controllers/index.js +13 -0
  113. package/lib/Components/zSpace/Entities/ZSpaceStylusEntity.d.ts +27 -0
  114. package/lib/Components/zSpace/Entities/ZSpaceStylusEntity.js +111 -0
  115. package/lib/Components/zSpace/PM/StylusColorLengthPM.d.ts +13 -0
  116. package/lib/Components/zSpace/PM/StylusColorLengthPM.js +77 -0
  117. package/lib/Components/zSpace/PM/StylusIsInUsePM.d.ts +6 -0
  118. package/lib/Components/zSpace/PM/StylusIsInUsePM.js +42 -0
  119. package/lib/Controllers/HoverLabelMouse.d.ts +10 -0
  120. package/lib/Controllers/HoverLabelMouse.js +23 -0
  121. package/lib/Controllers/HoverLabelTouch.d.ts +14 -0
  122. package/lib/Controllers/HoverLabelTouch.js +41 -0
  123. package/lib/Controllers/ToolHotkeys.d.ts +6 -0
  124. package/lib/Controllers/ToolHotkeys.js +25 -0
  125. package/lib/Controllers/index.d.ts +3 -0
  126. package/lib/Controllers/index.js +15 -0
  127. package/lib/Entities/AppBoundary.d.ts +6 -0
  128. package/lib/Entities/AppBoundary.js +2 -0
  129. package/lib/Entities/AppDispatcher.d.ts +63 -0
  130. package/lib/Entities/AppDispatcher.js +336 -0
  131. package/lib/Entities/AppHandler.d.ts +20 -0
  132. package/lib/Entities/AppHandler.js +94 -0
  133. package/lib/Entities/Babylon.d.ts +48 -0
  134. package/lib/Entities/Babylon.js +146 -0
  135. package/lib/Entities/BaseApp.d.ts +9 -0
  136. package/lib/Entities/BaseApp.js +30 -0
  137. package/lib/Entities/DevicePreview.d.ts +11 -0
  138. package/lib/Entities/DevicePreview.js +49 -0
  139. package/lib/Entities/FocusCamera.d.ts +70 -0
  140. package/lib/Entities/FocusCamera.js +272 -0
  141. package/lib/Entities/FramedScreen.d.ts +15 -0
  142. package/lib/Entities/FramedScreen.js +58 -0
  143. package/lib/Entities/FramedScreenContainer.d.ts +12 -0
  144. package/lib/Entities/FramedScreenContainer.js +41 -0
  145. package/lib/Entities/HoverLabels.d.ts +42 -0
  146. package/lib/Entities/HoverLabels.js +82 -0
  147. package/lib/Entities/KeyboardInput.d.ts +13 -0
  148. package/lib/Entities/KeyboardInput.js +68 -0
  149. package/lib/Entities/Memoized/MemoizedAngle.d.ts +9 -0
  150. package/lib/Entities/Memoized/MemoizedAngle.js +22 -0
  151. package/lib/Entities/Memoized/MemoizedBoolean.d.ts +8 -0
  152. package/lib/Entities/Memoized/MemoizedBoolean.js +22 -0
  153. package/lib/Entities/Memoized/MemoizedColor.d.ts +9 -0
  154. package/lib/Entities/Memoized/MemoizedColor.js +23 -0
  155. package/lib/Entities/Memoized/MemoizedNumber.d.ts +8 -0
  156. package/lib/Entities/Memoized/MemoizedNumber.js +22 -0
  157. package/lib/Entities/Memoized/MemoizedQuaternion.d.ts +9 -0
  158. package/lib/Entities/Memoized/MemoizedQuaternion.js +23 -0
  159. package/lib/Entities/Memoized/MemoizedString.d.ts +8 -0
  160. package/lib/Entities/Memoized/MemoizedString.js +22 -0
  161. package/lib/Entities/Memoized/MemoizedVector2.d.ts +9 -0
  162. package/lib/Entities/Memoized/MemoizedVector2.js +23 -0
  163. package/lib/Entities/Memoized/MemoizedVector3.d.ts +9 -0
  164. package/lib/Entities/Memoized/MemoizedVector3.js +23 -0
  165. package/lib/Entities/MeshModel.d.ts +68 -0
  166. package/lib/Entities/MeshModel.js +174 -0
  167. package/lib/Entities/ModelObject.d.ts +10 -0
  168. package/lib/Entities/ModelObject.js +42 -0
  169. package/lib/Entities/MouseInput.d.ts +21 -0
  170. package/lib/Entities/MouseInput.js +127 -0
  171. package/lib/Entities/ObservableEntityRepo.d.ts +20 -0
  172. package/lib/Entities/ObservableEntityRepo.js +80 -0
  173. package/lib/Entities/QuestionChallenge.d.ts +21 -0
  174. package/lib/Entities/QuestionChallenge.js +103 -0
  175. package/lib/Entities/QuestionChallengeAnswer.d.ts +32 -0
  176. package/lib/Entities/QuestionChallengeAnswer.js +51 -0
  177. package/lib/Entities/SceneModel.d.ts +85 -0
  178. package/lib/Entities/SceneModel.js +202 -0
  179. package/lib/Entities/SceneModelMesh.d.ts +40 -0
  180. package/lib/Entities/SceneModelMesh.js +75 -0
  181. package/lib/Entities/SceneModelRepo.d.ts +11 -0
  182. package/lib/Entities/SceneModelRepo.js +48 -0
  183. package/lib/Entities/SceneObject.d.ts +23 -0
  184. package/lib/Entities/SceneObject.js +79 -0
  185. package/lib/Entities/SceneObjectsRepo.d.ts +12 -0
  186. package/lib/Entities/SceneObjectsRepo.js +58 -0
  187. package/lib/Entities/SceneRoot.d.ts +29 -0
  188. package/lib/Entities/SceneRoot.js +145 -0
  189. package/lib/Entities/StateMachine.d.ts +29 -0
  190. package/lib/Entities/StateMachine.js +98 -0
  191. package/lib/Entities/Tool.d.ts +81 -0
  192. package/lib/Entities/Tool.js +94 -0
  193. package/lib/Entities/ToolRepository.d.ts +46 -0
  194. package/lib/Entities/ToolRepository.js +118 -0
  195. package/lib/Entities/TouchInput.d.ts +28 -0
  196. package/lib/Entities/TouchInput.js +144 -0
  197. package/lib/Entities/UndoRedo.d.ts +22 -0
  198. package/lib/Entities/UndoRedo.js +61 -0
  199. package/lib/PresentationManagers/DevicePreviewPM.d.ts +14 -0
  200. package/lib/PresentationManagers/DevicePreviewPM.js +30 -0
  201. package/lib/PresentationManagers/FocusCameraPM.d.ts +15 -0
  202. package/lib/PresentationManagers/FocusCameraPM.js +31 -0
  203. package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +13 -0
  204. package/lib/PresentationManagers/FocusCameraPosRotPM.js +28 -0
  205. package/lib/PresentationManagers/FramedScreenContainerPM.d.ts +18 -0
  206. package/lib/PresentationManagers/FramedScreenContainerPM.js +55 -0
  207. package/lib/PresentationManagers/HasRedoPM.d.ts +9 -0
  208. package/lib/PresentationManagers/HasRedoPM.js +22 -0
  209. package/lib/PresentationManagers/HasUndoPM.d.ts +9 -0
  210. package/lib/PresentationManagers/HasUndoPM.js +22 -0
  211. package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.d.ts +9 -0
  212. package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.js +19 -0
  213. package/lib/PresentationManagers/HoverLabels/HoverLabelPM.d.ts +17 -0
  214. package/lib/PresentationManagers/HoverLabels/HoverLabelPM.js +32 -0
  215. package/lib/PresentationManagers/HoverLabels/index.d.ts +2 -0
  216. package/lib/PresentationManagers/HoverLabels/index.js +14 -0
  217. package/lib/PresentationManagers/IsAuthoringPM.d.ts +9 -0
  218. package/lib/PresentationManagers/IsAuthoringPM.js +20 -0
  219. package/lib/PresentationManagers/PresentationManager.d.ts +8 -0
  220. package/lib/PresentationManagers/PresentationManager.js +16 -0
  221. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.d.ts +24 -0
  222. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.js +65 -0
  223. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.d.ts +17 -0
  224. package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.js +46 -0
  225. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.d.ts +17 -0
  226. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.js +51 -0
  227. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.d.ts +15 -0
  228. package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.js +34 -0
  229. package/lib/PresentationManagers/QuestionChallenge/index.d.ts +4 -0
  230. package/lib/PresentationManagers/QuestionChallenge/index.js +16 -0
  231. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +15 -0
  232. package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +34 -0
  233. package/lib/PresentationManagers/SceneModel/SceneModelPM.d.ts +15 -0
  234. package/lib/PresentationManagers/SceneModel/SceneModelPM.js +36 -0
  235. package/lib/PresentationManagers/SceneModel/index.d.ts +1 -0
  236. package/lib/PresentationManagers/SceneModel/index.js +13 -0
  237. package/lib/PresentationManagers/SceneObject/SceneObjectPM.d.ts +22 -0
  238. package/lib/PresentationManagers/SceneObject/SceneObjectPM.js +57 -0
  239. package/lib/PresentationManagers/SceneObject/index.d.ts +1 -0
  240. package/lib/PresentationManagers/SceneObject/index.js +13 -0
  241. package/lib/PresentationManagers/ShowBabylonInspectorPM.d.ts +9 -0
  242. package/lib/PresentationManagers/ShowBabylonInspectorPM.js +24 -0
  243. package/lib/PresentationManagers/ToolPM.d.ts +17 -0
  244. package/lib/PresentationManagers/ToolPM.js +35 -0
  245. package/lib/PresentationManagers/TransformNodePM.d.ts +14 -0
  246. package/lib/PresentationManagers/TransformNodePM.js +23 -0
  247. package/lib/PresentationManagers/index.d.ts +13 -0
  248. package/lib/PresentationManagers/index.js +25 -0
  249. package/lib/Types/ChannelModelData.d.ts +68 -0
  250. package/lib/Types/ChannelModelData.js +21 -0
  251. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +17 -0
  252. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +64 -0
  253. package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +36 -0
  254. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +71 -0
  255. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +11 -0
  256. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +36 -0
  257. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +11 -0
  258. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +36 -0
  259. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +11 -0
  260. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +26 -0
  261. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +11 -0
  262. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +33 -0
  263. package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +22 -0
  264. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +81 -0
  265. package/lib/UseCases/FocusCamera/index.d.ts +7 -0
  266. package/lib/UseCases/FocusCamera/index.js +19 -0
  267. package/lib/UseCases/Handlers/DisposeAppBase.d.ts +8 -0
  268. package/lib/UseCases/Handlers/DisposeAppBase.js +24 -0
  269. package/lib/UseCases/Handlers/SetAppStateBase.d.ts +10 -0
  270. package/lib/UseCases/Handlers/SetAppStateBase.js +32 -0
  271. package/lib/UseCases/Handlers/SetDevicePreviewBase.d.ts +10 -0
  272. package/lib/UseCases/Handlers/SetDevicePreviewBase.js +32 -0
  273. package/lib/UseCases/Handlers/SetIsAuthoringBase.d.ts +10 -0
  274. package/lib/UseCases/Handlers/SetIsAuthoringBase.js +32 -0
  275. package/lib/UseCases/Handlers/ShowBabylonInspectorBase.d.ts +10 -0
  276. package/lib/UseCases/Handlers/ShowBabylonInspectorBase.js +32 -0
  277. package/lib/UseCases/Handlers/StartAppBase.d.ts +10 -0
  278. package/lib/UseCases/Handlers/StartAppBase.js +32 -0
  279. package/lib/UseCases/Handlers/StartZSpaceBase.d.ts +10 -0
  280. package/lib/UseCases/Handlers/StartZSpaceBase.js +35 -0
  281. package/lib/UseCases/Handlers/StopAppBase.d.ts +8 -0
  282. package/lib/UseCases/Handlers/StopAppBase.js +24 -0
  283. package/lib/UseCases/Handlers/StopZSpaceBase.d.ts +8 -0
  284. package/lib/UseCases/Handlers/StopZSpaceBase.js +24 -0
  285. package/lib/UseCases/Handlers/index.d.ts +9 -0
  286. package/lib/UseCases/Handlers/index.js +21 -0
  287. package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.d.ts +14 -0
  288. package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.js +35 -0
  289. package/lib/UseCases/HoverLabels/trySetHoverLabel.d.ts +3 -0
  290. package/lib/UseCases/HoverLabels/trySetHoverLabel.js +12 -0
  291. package/lib/UseCases/LerpVector3.d.ts +26 -0
  292. package/lib/UseCases/LerpVector3.js +66 -0
  293. package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.d.ts +25 -0
  294. package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.js +70 -0
  295. package/lib/UseCases/QuestionChallenge/index.d.ts +4 -0
  296. package/lib/UseCases/QuestionChallenge/index.js +16 -0
  297. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.d.ts +2 -0
  298. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.js +16 -0
  299. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.d.ts +2 -0
  300. package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.js +16 -0
  301. package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.d.ts +2 -0
  302. package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.js +16 -0
  303. package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +18 -0
  304. package/lib/UseCases/SceneModel/SerializeActiveModel.js +74 -0
  305. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +7 -0
  306. package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +22 -0
  307. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +2 -0
  308. package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +13 -0
  309. package/lib/UseCases/SceneModel/index.d.ts +5 -0
  310. package/lib/UseCases/SceneModel/index.js +17 -0
  311. package/lib/UseCases/SceneModel/loadNewModel.d.ts +2 -0
  312. package/lib/UseCases/SceneModel/loadNewModel.js +84 -0
  313. package/lib/UseCases/SceneModel/modelDataLoader.d.ts +3 -0
  314. package/lib/UseCases/SceneModel/modelDataLoader.js +33 -0
  315. package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +18 -0
  316. package/lib/UseCases/SceneObjects/PeelSceneObject.js +61 -0
  317. package/lib/UseCases/SceneObjects/index.d.ts +1 -0
  318. package/lib/UseCases/SceneObjects/index.js +13 -0
  319. package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +33 -0
  320. package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +67 -0
  321. package/lib/UseCases/SceneRoot/index.d.ts +2 -0
  322. package/lib/UseCases/SceneRoot/index.js +14 -0
  323. package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +2 -0
  324. package/lib/UseCases/SceneRoot/setupSceneRoot.js +11 -0
  325. package/lib/UseCases/index.d.ts +7 -0
  326. package/lib/UseCases/index.js +19 -0
  327. package/lib/UseCases/setDevicePreview.d.ts +2 -0
  328. package/lib/UseCases/setDevicePreview.js +14 -0
  329. package/lib/UseCases/setupStandardAppObjects.d.ts +2 -0
  330. package/lib/UseCases/setupStandardAppObjects.js +10 -0
  331. package/lib/ValueObjects/Result.d.ts +30 -0
  332. package/lib/ValueObjects/Result.js +45 -0
  333. package/package.json +1 -1
  334. package/lib/Components/Landmarks/Controller/submitLandmarkSizeX.d.ts +0 -2
  335. package/lib/Components/Landmarks/Controller/submitLandmarkSizeX.js +0 -19
  336. package/lib/Components/Landmarks/Controller/updateLandmarkSizeX.d.ts +0 -2
  337. package/lib/Components/Landmarks/Controller/updateLandmarkSizeX.js +0 -19
@@ -0,0 +1,85 @@
1
+ import { Quaternion, Vector3 } from "../ValueObjects";
2
+ import { ObservableEntity } from "./ObservableEntity";
3
+ import { SceneModelMesh, SceneModelObjectDTOv1, SceneModelObjectDTOv0 } from "./SceneModelMesh";
4
+ export declare enum SceneModelState {
5
+ INIT = "Initialized",
6
+ LOADING = "Loading",
7
+ READY = "Ready",
8
+ ERROR = "Error"
9
+ }
10
+ export declare abstract class SceneModel extends ObservableEntity {
11
+ abstract readonly id: string;
12
+ abstract name: string;
13
+ abstract state: SceneModelState;
14
+ abstract error: Error | undefined;
15
+ abstract bounds_min: Vector3;
16
+ abstract bounds_max: Vector3;
17
+ abstract defaultPosition: Vector3;
18
+ abstract defaultRotation: Quaternion;
19
+ abstract defaultScale: number;
20
+ abstract hasMesh(id: string): boolean;
21
+ abstract getMeshById(id: string): SceneModelMesh | undefined;
22
+ abstract getMeshByPath(path: string): SceneModelMesh | undefined;
23
+ abstract addMesh(object: SceneModelMesh): void;
24
+ abstract removeMesh(id: string): void;
25
+ abstract getAllMeshes(): SceneModelMesh[];
26
+ abstract applyData(data: SceneModelDTO): void;
27
+ abstract toData(): SceneModelDTO;
28
+ }
29
+ export declare function makeSceneModel(id: string): SceneModel;
30
+ export declare type SceneModelDTO = SceneModelDTOV0 | SceneModelDTOv1;
31
+ export interface SceneModelDTOV0 {
32
+ version: number;
33
+ objects: SceneModelObjectDTOv0[];
34
+ name: string;
35
+ description: string;
36
+ bounds_min: {
37
+ x: number;
38
+ y: number;
39
+ z: number;
40
+ };
41
+ bounds_max: {
42
+ x: number;
43
+ y: number;
44
+ z: number;
45
+ };
46
+ defaultPosition: {
47
+ x: number;
48
+ y: number;
49
+ z: number;
50
+ };
51
+ defaultRotation: {
52
+ x: number;
53
+ y: number;
54
+ z: number;
55
+ w: number;
56
+ };
57
+ defaultScale: number;
58
+ }
59
+ export interface SceneModelDTOv1 {
60
+ version: number;
61
+ objects: SceneModelObjectDTOv1[];
62
+ name: string;
63
+ bounds_min: {
64
+ x: number;
65
+ y: number;
66
+ z: number;
67
+ };
68
+ bounds_max: {
69
+ x: number;
70
+ y: number;
71
+ z: number;
72
+ };
73
+ defaultPosition: {
74
+ x: number;
75
+ y: number;
76
+ z: number;
77
+ };
78
+ defaultRotation: {
79
+ x: number;
80
+ y: number;
81
+ z: number;
82
+ w: number;
83
+ };
84
+ defaultScale: number;
85
+ }
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSceneModel = exports.SceneModel = exports.SceneModelState = void 0;
4
+ const ValueObjects_1 = require("../ValueObjects");
5
+ const MemoizedNumber_1 = require("./Memoized/MemoizedNumber");
6
+ const MemoizedQuaternion_1 = require("./Memoized/MemoizedQuaternion");
7
+ const MemoizedString_1 = require("./Memoized/MemoizedString");
8
+ const MemoizedVector3_1 = require("./Memoized/MemoizedVector3");
9
+ const ObservableEntity_1 = require("./ObservableEntity");
10
+ const SceneModelMesh_1 = require("./SceneModelMesh");
11
+ var SceneModelState;
12
+ (function (SceneModelState) {
13
+ SceneModelState["INIT"] = "Initialized";
14
+ SceneModelState["LOADING"] = "Loading";
15
+ SceneModelState["READY"] = "Ready";
16
+ SceneModelState["ERROR"] = "Error";
17
+ })(SceneModelState = exports.SceneModelState || (exports.SceneModelState = {}));
18
+ class SceneModel extends ObservableEntity_1.ObservableEntity {
19
+ }
20
+ exports.SceneModel = SceneModel;
21
+ function makeSceneModel(id) {
22
+ return new SceneModelImp(id);
23
+ }
24
+ exports.makeSceneModel = makeSceneModel;
25
+ class SceneModelImp extends SceneModel {
26
+ constructor(id) {
27
+ super();
28
+ this._name = new MemoizedString_1.MemoizedString("", this.notify);
29
+ this._boundsMin = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
30
+ this._boundsMax = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
31
+ this._defaultPosition = new MemoizedVector3_1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.notify);
32
+ this._defaultRotation = new MemoizedQuaternion_1.MemoizedQuaternion(ValueObjects_1.Quaternion.Identity(), this.notify);
33
+ this._defaultScale = new MemoizedNumber_1.MemoizedNumber(1, this.notify);
34
+ this._state = new MemoizedString_1.MemoizedString(SceneModelState.INIT, this.notify);
35
+ this.sceneModelObjectLookup = new Map();
36
+ this.hasMesh = (id) => {
37
+ return this.sceneModelObjectLookup.has(id);
38
+ };
39
+ this.getMeshById = (id) => {
40
+ return this.sceneModelObjectLookup.get(id);
41
+ };
42
+ this.getMeshByPath = (path) => {
43
+ let rVal;
44
+ this.sceneModelObjectLookup.forEach((sceneModelObject) => {
45
+ if (sceneModelObject.hasMeshPath(path)) {
46
+ rVal = sceneModelObject;
47
+ }
48
+ });
49
+ return rVal;
50
+ };
51
+ this.addMesh = (object) => {
52
+ if (this.sceneModelObjectLookup.has(object.id)) {
53
+ const orig = this.sceneModelObjectLookup.get(object.id);
54
+ orig === null || orig === void 0 ? void 0 : orig.removeObserver(this.notify);
55
+ }
56
+ this.sceneModelObjectLookup.set(object.id, object);
57
+ object.addObserver(this.notify);
58
+ this.notify();
59
+ };
60
+ this.removeMesh = (id) => {
61
+ const orig = this.sceneModelObjectLookup.get(id);
62
+ if (orig) {
63
+ this.sceneModelObjectLookup.delete(id);
64
+ orig.removeObserver(this.notify);
65
+ this.notify();
66
+ }
67
+ };
68
+ this.getAllMeshes = () => {
69
+ return Array.from(this.sceneModelObjectLookup.values());
70
+ };
71
+ this.applyData = (data) => {
72
+ if (data.version === 0) {
73
+ this.applyDataV0(data);
74
+ }
75
+ else if (data.version === 1) {
76
+ this.applyDataV1(data);
77
+ }
78
+ else {
79
+ throw new Error(`applyData unsupported version number: ${data.version}`);
80
+ }
81
+ };
82
+ this.toData = () => {
83
+ const data = {
84
+ version: 1,
85
+ bounds_max: this.bounds_max.dto,
86
+ bounds_min: this.bounds_min.dto,
87
+ defaultPosition: this.defaultPosition.dto,
88
+ defaultRotation: this.defaultRotation.dto,
89
+ defaultScale: this.defaultScale,
90
+ name: this.name,
91
+ objects: this.getAllMeshes().map((obj) => obj.toData()),
92
+ };
93
+ return data;
94
+ };
95
+ this.id = id;
96
+ }
97
+ get name() {
98
+ return this._name.val;
99
+ }
100
+ set name(name) {
101
+ this._name.val = name;
102
+ }
103
+ get bounds_min() {
104
+ return this._boundsMin.val;
105
+ }
106
+ set bounds_min(bounds_min) {
107
+ this._boundsMin.val = bounds_min;
108
+ }
109
+ get bounds_max() {
110
+ return this._boundsMax.val;
111
+ }
112
+ set bounds_max(bounds_max) {
113
+ this._boundsMax.val = bounds_max;
114
+ }
115
+ get defaultPosition() {
116
+ return this._defaultPosition.val;
117
+ }
118
+ set defaultPosition(position) {
119
+ this._defaultPosition.val = position;
120
+ }
121
+ get defaultRotation() {
122
+ return this._defaultRotation.val;
123
+ }
124
+ set defaultRotation(rotation) {
125
+ this._defaultRotation.val = rotation;
126
+ }
127
+ get defaultScale() {
128
+ return this._defaultScale.val;
129
+ }
130
+ set defaultScale(scale) {
131
+ this._defaultScale.val = scale;
132
+ }
133
+ get state() {
134
+ return this._state.val;
135
+ }
136
+ set state(val) {
137
+ this._state.val = val;
138
+ }
139
+ get error() {
140
+ return this._error;
141
+ }
142
+ set error(val) {
143
+ this._error = val;
144
+ this._state.val = SceneModelState.ERROR;
145
+ }
146
+ applyDataV0(data) {
147
+ this._name.setValQuietly(data.name);
148
+ this._boundsMin.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.bounds_min));
149
+ this._boundsMax.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.bounds_max));
150
+ this._defaultPosition.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.defaultPosition));
151
+ this._defaultScale.setValQuietly(data.defaultScale);
152
+ this._defaultRotation.setValQuietly(ValueObjects_1.Quaternion.FromDTO(data.defaultRotation));
153
+ const objectsToKeep = [];
154
+ data.objects.forEach((objectDTO) => {
155
+ const existingObj = this.sceneModelObjectLookup.get(objectDTO.id);
156
+ if (existingObj) {
157
+ existingObj.applyData(objectDTO);
158
+ }
159
+ else {
160
+ const newObj = SceneModelMesh_1.makeSceneModelMesh(objectDTO.id);
161
+ newObj.applyData(objectDTO);
162
+ this.addMesh(newObj);
163
+ }
164
+ objectsToKeep.push(objectDTO.id);
165
+ });
166
+ const allObjects = Array.from(this.sceneModelObjectLookup.keys());
167
+ allObjects.forEach((obj) => {
168
+ if (!objectsToKeep.includes(obj)) {
169
+ this.removeMesh(obj);
170
+ }
171
+ });
172
+ this.notify();
173
+ }
174
+ applyDataV1(data) {
175
+ this._name.setValQuietly(data.name);
176
+ this._boundsMin.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.bounds_min));
177
+ this._boundsMax.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.bounds_max));
178
+ this._defaultPosition.setValQuietly(ValueObjects_1.Vector3.FromDTO(data.defaultPosition));
179
+ this._defaultScale.setValQuietly(data.defaultScale);
180
+ this._defaultRotation.setValQuietly(ValueObjects_1.Quaternion.FromDTO(data.defaultRotation));
181
+ const objectsToKeep = [];
182
+ data.objects.forEach((objectDTO) => {
183
+ const existingObj = this.sceneModelObjectLookup.get(objectDTO.id);
184
+ if (existingObj) {
185
+ existingObj.applyData(objectDTO);
186
+ }
187
+ else {
188
+ const newObj = SceneModelMesh_1.makeSceneModelMesh(objectDTO.id);
189
+ newObj.applyData(objectDTO);
190
+ this.addMesh(newObj);
191
+ }
192
+ objectsToKeep.push(objectDTO.id);
193
+ });
194
+ const allObjects = Array.from(this.sceneModelObjectLookup.keys());
195
+ allObjects.forEach((obj) => {
196
+ if (!objectsToKeep.includes(obj)) {
197
+ this.removeMesh(obj);
198
+ }
199
+ });
200
+ this.notify();
201
+ }
202
+ }
@@ -0,0 +1,40 @@
1
+ import { ObservableEntity } from "./ObservableEntity";
2
+ export declare abstract class SceneModelMesh extends ObservableEntity {
3
+ abstract readonly id: string;
4
+ abstract label: string;
5
+ abstract meshPaths: string[];
6
+ abstract addMeshPath(path: string): void;
7
+ abstract hasMeshPath(path: string): boolean;
8
+ abstract removeMeshPath(path: string): void;
9
+ abstract toData(): SceneModelObjectDTO;
10
+ abstract applyData(data: SceneModelObjectDTO): void;
11
+ }
12
+ export declare function makeSceneModelMesh(id: string): SceneModelMeshImp;
13
+ declare class SceneModelMeshImp extends SceneModelMesh {
14
+ readonly id: string;
15
+ private _meshPaths;
16
+ get meshPaths(): string[];
17
+ set meshPaths(paths: string[]);
18
+ private memoizedLabel;
19
+ get label(): string;
20
+ set label(val: string);
21
+ addMeshPath: (path: string) => void;
22
+ hasMeshPath: (path: string) => boolean;
23
+ removeMeshPath: (path: string) => void;
24
+ toData: () => SceneModelObjectDTO;
25
+ applyData: (data: SceneModelObjectDTO) => void;
26
+ constructor(id: string);
27
+ }
28
+ export declare type SceneModelObjectDTO = SceneModelObjectDTOv0 | SceneModelObjectDTOv1;
29
+ export interface SceneModelObjectDTOv1 {
30
+ version: number;
31
+ id: string;
32
+ meshPaths: string[];
33
+ label: string;
34
+ }
35
+ export interface SceneModelObjectDTOv0 {
36
+ id: string;
37
+ meshPaths: string[];
38
+ label: string;
39
+ }
40
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSceneModelMesh = exports.SceneModelMesh = void 0;
4
+ const MemoizedString_1 = require("./Memoized/MemoizedString");
5
+ const ObservableEntity_1 = require("./ObservableEntity");
6
+ class SceneModelMesh extends ObservableEntity_1.ObservableEntity {
7
+ }
8
+ exports.SceneModelMesh = SceneModelMesh;
9
+ function makeSceneModelMesh(id) {
10
+ return new SceneModelMeshImp(id);
11
+ }
12
+ exports.makeSceneModelMesh = makeSceneModelMesh;
13
+ class SceneModelMeshImp extends SceneModelMesh {
14
+ constructor(id) {
15
+ super();
16
+ this._meshPaths = [];
17
+ this.memoizedLabel = new MemoizedString_1.MemoizedString("", this.notify);
18
+ this.addMeshPath = (path) => {
19
+ if (this._meshPaths.includes(path))
20
+ return;
21
+ this._meshPaths.push(path);
22
+ this.notify();
23
+ };
24
+ this.hasMeshPath = (path) => {
25
+ return this._meshPaths.includes(path);
26
+ };
27
+ this.removeMeshPath = (path) => {
28
+ const index = this._meshPaths.indexOf(path);
29
+ if (index >= 0) {
30
+ this._meshPaths.splice(index, 1);
31
+ this.notify();
32
+ }
33
+ };
34
+ this.toData = () => {
35
+ const dto = {
36
+ version: 1,
37
+ id: this.id,
38
+ label: this.label,
39
+ meshPaths: [...this._meshPaths],
40
+ };
41
+ return dto;
42
+ };
43
+ this.applyData = (data) => {
44
+ this.label = data.label;
45
+ this.meshPaths = data.meshPaths;
46
+ };
47
+ this.id = id;
48
+ }
49
+ get meshPaths() {
50
+ return [...this._meshPaths];
51
+ }
52
+ set meshPaths(paths) {
53
+ let pathsHaveChanged = false;
54
+ if (paths.length !== this._meshPaths.length) {
55
+ pathsHaveChanged = true;
56
+ }
57
+ else {
58
+ paths.forEach((path, i) => {
59
+ if (path !== this._meshPaths[i]) {
60
+ pathsHaveChanged = true;
61
+ }
62
+ });
63
+ }
64
+ if (!pathsHaveChanged)
65
+ return;
66
+ this._meshPaths = paths;
67
+ this.notify();
68
+ }
69
+ get label() {
70
+ return this.memoizedLabel.val;
71
+ }
72
+ set label(val) {
73
+ this.memoizedLabel.val = val;
74
+ }
75
+ }
@@ -0,0 +1,11 @@
1
+ import { ObservableEntityRepo } from "./ObservableEntityRepo";
2
+ import { SceneModel, SceneModelDTO } from "./SceneModel";
3
+ export declare abstract class SceneModelRepo extends ObservableEntityRepo<SceneModel> {
4
+ abstract get activeModel(): SceneModel | undefined;
5
+ abstract activeModelID: string;
6
+ abstract isLoadingSceneModel: boolean;
7
+ abstract modelLoader(modelID: string): Promise<void>;
8
+ abstract dataLoader(dataID: string): Promise<SceneModelDTO>;
9
+ abstract clearActiveModel(): void;
10
+ }
11
+ export declare function makeSceneModelRepo(): SceneModelRepo;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSceneModelRepo = exports.SceneModelRepo = void 0;
4
+ const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
5
+ const MemoizedString_1 = require("./Memoized/MemoizedString");
6
+ const ObservableEntityRepo_1 = require("./ObservableEntityRepo");
7
+ class SceneModelRepo extends ObservableEntityRepo_1.ObservableEntityRepo {
8
+ }
9
+ exports.SceneModelRepo = SceneModelRepo;
10
+ function makeSceneModelRepo() {
11
+ return new SceneModelRepoImp();
12
+ }
13
+ exports.makeSceneModelRepo = makeSceneModelRepo;
14
+ class SceneModelRepoImp extends SceneModelRepo {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.memoizedActiveModelID = new MemoizedString_1.MemoizedString("", this.notify);
18
+ this.memoizedIsLoading = new MemoizedBoolean_1.MemoizedBoolean(false, this.notify);
19
+ }
20
+ modelLoader( /*modelID: string*/) {
21
+ return Promise.reject(new Error(`SceneModelRepo function modelLoader has not been injected`));
22
+ }
23
+ dataLoader( /*dataID: string*/) {
24
+ return Promise.reject(new Error(`SceneModelRepo function dataLoader has not been injected`));
25
+ }
26
+ get activeModelID() {
27
+ return this.memoizedActiveModelID.val;
28
+ }
29
+ set activeModelID(id) {
30
+ if (!this.has(id)) {
31
+ console.warn("[SceneModelRepo] Unknown Model ID ", id);
32
+ return;
33
+ }
34
+ this.memoizedActiveModelID.val = id;
35
+ }
36
+ get isLoadingSceneModel() {
37
+ return this.memoizedIsLoading.val;
38
+ }
39
+ set isLoadingSceneModel(val) {
40
+ this.memoizedIsLoading.val = val;
41
+ }
42
+ clearActiveModel() {
43
+ this.memoizedActiveModelID.val = "";
44
+ }
45
+ get activeModel() {
46
+ return this.get(this.memoizedActiveModelID.val);
47
+ }
48
+ }
@@ -0,0 +1,23 @@
1
+ import { ObservableEntity } from "./ObservableEntity";
2
+ import { TransformNode } from "./TransformNode";
3
+ export declare abstract class SceneObject extends ObservableEntity {
4
+ abstract readonly id: string;
5
+ abstract get shown(): boolean;
6
+ abstract set shown(shown: boolean);
7
+ abstract get enabled(): boolean;
8
+ abstract set enabled(enabled: boolean);
9
+ abstract get selected(): boolean;
10
+ abstract set selected(selected: boolean);
11
+ abstract get hovered(): boolean;
12
+ abstract set hovered(hovered: boolean);
13
+ abstract get pressed(): boolean;
14
+ abstract set pressed(pressed: boolean);
15
+ abstract get defaultLabel(): string;
16
+ abstract set defaultLabel(defaultLabel: string);
17
+ abstract get customLabel(): string;
18
+ abstract set customLabel(customLabel: string);
19
+ abstract get validationMessage(): string | null;
20
+ abstract transform: TransformNode;
21
+ abstract sceneTransform: unknown;
22
+ }
23
+ export declare function makeSceneObject(id: string): SceneObject;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSceneObject = exports.SceneObject = void 0;
4
+ const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
5
+ const MemoizedString_1 = require("./Memoized/MemoizedString");
6
+ const ObservableEntity_1 = require("./ObservableEntity");
7
+ const TransformNode_1 = require("./TransformNode");
8
+ class SceneObject extends ObservableEntity_1.ObservableEntity {
9
+ }
10
+ exports.SceneObject = SceneObject;
11
+ function makeSceneObject(id) {
12
+ return new SceneObjectImp(id);
13
+ }
14
+ exports.makeSceneObject = makeSceneObject;
15
+ class SceneObjectImp extends SceneObject {
16
+ constructor(id) {
17
+ super();
18
+ this.memoizedDefaultLabel = new MemoizedString_1.MemoizedString("", this.notify);
19
+ this.memoizedCustomLabel = new MemoizedString_1.MemoizedString("", this.notify);
20
+ this.memoizedShown = new MemoizedBoolean_1.MemoizedBoolean(true, this.notify);
21
+ this.memoizedEnabled = new MemoizedBoolean_1.MemoizedBoolean(true, this.notify);
22
+ this.memoizedSelected = new MemoizedBoolean_1.MemoizedBoolean(false, this.notify);
23
+ this.memoizedHovered = new MemoizedBoolean_1.MemoizedBoolean(false, this.notify);
24
+ this.memoizedPressed = new MemoizedBoolean_1.MemoizedBoolean(false, this.notify);
25
+ this.transform = TransformNode_1.makeTransformNode();
26
+ this.id = id;
27
+ this.transform.addObserver(this.notify);
28
+ }
29
+ get defaultLabel() {
30
+ return this.memoizedDefaultLabel.val;
31
+ }
32
+ set defaultLabel(defaultLabel) {
33
+ this.memoizedDefaultLabel.val = defaultLabel;
34
+ }
35
+ get customLabel() {
36
+ return this.memoizedCustomLabel.val;
37
+ }
38
+ set customLabel(customLabel) {
39
+ this.memoizedCustomLabel.val = customLabel;
40
+ }
41
+ get validationMessage() {
42
+ if (this.customLabel.length > 40) {
43
+ return "Object labels are limited to 40 characters";
44
+ }
45
+ else {
46
+ return null;
47
+ }
48
+ }
49
+ get shown() {
50
+ return this.memoizedShown.val;
51
+ }
52
+ set shown(shown) {
53
+ this.memoizedShown.val = shown;
54
+ }
55
+ get enabled() {
56
+ return this.memoizedEnabled.val;
57
+ }
58
+ set enabled(enabled) {
59
+ this.memoizedEnabled.val = enabled;
60
+ }
61
+ get selected() {
62
+ return this.memoizedSelected.val;
63
+ }
64
+ set selected(selected) {
65
+ this.memoizedSelected.val = selected;
66
+ }
67
+ get hovered() {
68
+ return this.memoizedHovered.val;
69
+ }
70
+ set hovered(hovered) {
71
+ this.memoizedHovered.val = hovered;
72
+ }
73
+ get pressed() {
74
+ return this.memoizedPressed.val;
75
+ }
76
+ set pressed(pressed) {
77
+ this.memoizedPressed.val = pressed;
78
+ }
79
+ }
@@ -0,0 +1,12 @@
1
+ import { ObservableEntityRepo } from "./ObservableEntityRepo";
2
+ import { SceneObject } from "./SceneObject";
3
+ export declare abstract class SceneObjectsRepo extends ObservableEntityRepo<SceneObject> {
4
+ abstract get pressedSceneObject(): string | null;
5
+ abstract set pressedSceneObject(sceneObjectId: string | null);
6
+ abstract get hoveredSceneObject(): string | null;
7
+ abstract set hoveredSceneObject(sceneObjectId: string | null);
8
+ abstract unselectAllSceneObjects: () => void;
9
+ abstract getSelectedSceneObjects: () => SceneObject[];
10
+ abstract selectSceneObject: (id: string) => void;
11
+ }
12
+ export declare function makeSceneObjectRepo(): SceneObjectsRepo;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSceneObjectRepo = exports.SceneObjectsRepo = void 0;
4
+ const ObservableEntityRepo_1 = require("./ObservableEntityRepo");
5
+ class SceneObjectsRepo extends ObservableEntityRepo_1.ObservableEntityRepo {
6
+ }
7
+ exports.SceneObjectsRepo = SceneObjectsRepo;
8
+ function makeSceneObjectRepo() {
9
+ return new SceneObjectsRepoImp();
10
+ }
11
+ exports.makeSceneObjectRepo = makeSceneObjectRepo;
12
+ class SceneObjectsRepoImp extends SceneObjectsRepo {
13
+ constructor() {
14
+ super(...arguments);
15
+ this._pressedSceneObject = null;
16
+ this._hoveredSceneObject = null;
17
+ this.unselectAllSceneObjects = () => {
18
+ this.getAll().forEach(sceneObject => {
19
+ sceneObject.selected = false;
20
+ });
21
+ };
22
+ this.getSelectedSceneObjects = () => {
23
+ const selectedObjects = [];
24
+ this.getAll().forEach(sceneObject => {
25
+ if (sceneObject.selected) {
26
+ selectedObjects.push(sceneObject);
27
+ }
28
+ });
29
+ return selectedObjects;
30
+ };
31
+ this.selectSceneObject = (id) => {
32
+ const sceneObject = this.get(id);
33
+ if (sceneObject) {
34
+ sceneObject.selected = true;
35
+ }
36
+ };
37
+ }
38
+ get pressedSceneObject() {
39
+ return this._pressedSceneObject;
40
+ }
41
+ set pressedSceneObject(sceneObjectId) {
42
+ if (sceneObjectId === this._pressedSceneObject) {
43
+ return;
44
+ }
45
+ this._pressedSceneObject = sceneObjectId;
46
+ this.notify();
47
+ }
48
+ get hoveredSceneObject() {
49
+ return this._hoveredSceneObject;
50
+ }
51
+ set hoveredSceneObject(sceneObjectId) {
52
+ if (sceneObjectId === this._hoveredSceneObject) {
53
+ return;
54
+ }
55
+ this._hoveredSceneObject = sceneObjectId;
56
+ this.notify();
57
+ }
58
+ }
@@ -0,0 +1,29 @@
1
+ import { Quaternion, Vector3 } from "../ValueObjects";
2
+ import { ObservableEntity } from "./ObservableEntity";
3
+ import { SceneObject } from "./SceneObject";
4
+ import { EaseFn } from "./TransformNode";
5
+ export declare const SCENE_ROOT_ID = "scene-root";
6
+ export interface DefaultSceneRootData {
7
+ position: [number, number, number];
8
+ rotation: [number, number, number, number];
9
+ scale: number;
10
+ minScale: number;
11
+ maxScale: number;
12
+ }
13
+ export declare abstract class SceneRoot extends ObservableEntity {
14
+ abstract defaultPosition: Vector3;
15
+ abstract defaultRoation: Quaternion;
16
+ abstract defaultScale: number;
17
+ abstract minScale: number;
18
+ abstract maxScale: number;
19
+ abstract id: string;
20
+ abstract sceneObject: SceneObject | undefined;
21
+ abstract position: Vector3;
22
+ abstract rotation: Quaternion;
23
+ abstract scale: number;
24
+ abstract applyDefaultData: (data: DefaultSceneRootData) => void;
25
+ abstract centerOnPoint: (point: Vector3, durationMS: number, easeFn: EaseFn, onCompleted?: () => void) => void;
26
+ abstract lerpToDefault: (durationMS: number, easeFn: EaseFn, onCompleted?: () => void) => void;
27
+ abstract bumpScaleAboutPoint: (amount: number, worldPoint: Vector3) => void;
28
+ }
29
+ export declare function makeSceneRoot(): SceneRoot;