@vived/app 5.3.0 → 6.1.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 (539) hide show
  1. package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
  2. package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
  3. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  4. package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
  5. package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
  6. package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
  7. package/dist/cjs/BaseApp/PM/IsAuthoringPM.js +6 -9
  8. package/dist/cjs/BaseApp/PM/IsAuthoringPM.js.map +1 -1
  9. package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js +2 -6
  10. package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
  11. package/dist/cjs/BaseApp/PM/IsReviewingPM.js +6 -9
  12. package/dist/cjs/BaseApp/PM/IsReviewingPM.js.map +1 -1
  13. package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js +2 -6
  14. package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
  15. package/dist/cjs/BaseApp/PM/SlideTextPM.js +6 -5
  16. package/dist/cjs/BaseApp/PM/SlideTextPM.js.map +1 -1
  17. package/dist/cjs/BaseApp/PM/SlideTextPM.test.js +2 -6
  18. package/dist/cjs/BaseApp/PM/SlideTextPM.test.js.map +1 -1
  19. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +1 -0
  20. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  21. package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js +1 -1
  22. package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
  23. package/dist/cjs/Callouts/Factories/calloutFactory.test.js +6 -0
  24. package/dist/cjs/Callouts/Factories/calloutFactory.test.js.map +1 -1
  25. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
  26. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  27. package/dist/cjs/Callouts/UC/SerializeCallouts.js +1 -1
  28. package/dist/cjs/Callouts/UC/SerializeCallouts.js.map +1 -1
  29. package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
  30. package/dist/cjs/Challenge/UCs/SerializeChallenge.js +1 -1
  31. package/dist/cjs/Challenge/UCs/SerializeChallenge.js.map +1 -1
  32. package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
  33. package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
  34. package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js +6 -5
  35. package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
  36. package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
  37. package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
  38. package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
  39. package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
  40. package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
  41. package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
  42. package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
  43. package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
  44. package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
  45. package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
  46. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
  47. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
  48. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
  49. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
  50. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
  51. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
  52. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
  53. package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
  54. package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
  55. package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
  56. package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
  57. package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
  58. package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
  59. package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
  60. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
  61. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  62. package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js +1 -1
  63. package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
  64. package/dist/cjs/Dispatcher/Entities/AppDispatcher.js +7 -0
  65. package/dist/cjs/Dispatcher/Entities/AppDispatcher.js.map +1 -1
  66. package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js +31 -0
  67. package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
  68. package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
  69. package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
  70. package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
  71. package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
  72. package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
  73. package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
  74. package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js +2 -2
  75. package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
  76. package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
  77. package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
  78. package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js +1 -1
  79. package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
  80. package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js +1 -1
  81. package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
  82. package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
  83. package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
  84. package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js +1 -1
  85. package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
  86. package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js +5 -5
  87. package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
  88. package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
  89. package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
  90. package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
  91. package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
  92. package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
  93. package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
  94. package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
  95. package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
  96. package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
  97. package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
  98. package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
  99. package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
  100. package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
  101. package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
  102. package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
  103. package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
  104. package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
  105. package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
  106. package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
  107. package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
  108. package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
  109. package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
  110. package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
  111. package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
  112. package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js +3 -1
  113. package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
  114. package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
  115. package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
  116. package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
  117. package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
  118. package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
  119. package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
  120. package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
  121. package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
  122. package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
  123. package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
  124. package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
  125. package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
  126. package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
  127. package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
  128. package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
  129. package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
  130. package/dist/cjs/Enablement/PM/EnabledStatePM.js +5 -9
  131. package/dist/cjs/Enablement/PM/EnabledStatePM.js.map +1 -1
  132. package/dist/cjs/Enablement/PM/EnabledStatePM.test.js +1 -0
  133. package/dist/cjs/Enablement/PM/EnabledStatePM.test.js.map +1 -1
  134. package/dist/cjs/Environment/UCs/SerializeEnvironment.js +1 -1
  135. package/dist/cjs/Environment/UCs/SerializeEnvironment.js.map +1 -1
  136. package/dist/cjs/Hideable/Factories/setupHideable.test.js +6 -0
  137. package/dist/cjs/Hideable/Factories/setupHideable.test.js.map +1 -1
  138. package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js +1 -1
  139. package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
  140. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  141. package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
  142. package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
  143. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  144. package/dist/cjs/Label/Controller/submitCustomLabel.test.js +3 -0
  145. package/dist/cjs/Label/Controller/submitCustomLabel.test.js.map +1 -1
  146. package/dist/cjs/Label/Controller/updateCustomLabel.test.js +3 -0
  147. package/dist/cjs/Label/Controller/updateCustomLabel.test.js.map +1 -1
  148. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +0 -7
  149. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  150. package/dist/cjs/Label/UC/SerializeCustomLabels.js +1 -1
  151. package/dist/cjs/Label/UC/SerializeCustomLabels.js.map +1 -1
  152. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +0 -7
  153. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  154. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  155. package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
  156. package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
  157. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  158. package/dist/cjs/Landmarks/PM/LandmarkSizePM.js +5 -8
  159. package/dist/cjs/Landmarks/PM/LandmarkSizePM.js.map +1 -1
  160. package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js +1 -1
  161. package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
  162. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
  163. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  164. package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
  165. package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
  166. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  167. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
  168. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  169. package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
  170. package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
  171. package/dist/cjs/Question/UC/SerializeQuestionChallenge.js +1 -1
  172. package/dist/cjs/Question/UC/SerializeQuestionChallenge.js.map +1 -1
  173. package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
  174. package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
  175. package/dist/cjs/RequestHandler/Entities/AppHandler.js +4 -0
  176. package/dist/cjs/RequestHandler/Entities/AppHandler.js.map +1 -1
  177. package/dist/cjs/RequestHandler/Entities/AppHandler.test.js +27 -0
  178. package/dist/cjs/RequestHandler/Entities/AppHandler.test.js.map +1 -1
  179. package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
  180. package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
  181. package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +128 -0
  182. package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
  183. package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
  184. package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
  185. package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js +1 -1
  186. package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
  187. package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
  188. package/dist/cjs/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
  189. package/dist/cjs/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
  190. package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js +21 -0
  191. package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
  192. package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js +34 -0
  193. package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
  194. package/dist/cjs/StateMachine/Controller/index.js +1 -1
  195. package/dist/cjs/StateMachine/Controller/index.js.map +1 -1
  196. package/dist/cjs/StateMachine/Entities/StateMachineEntity.js +26 -4
  197. package/dist/cjs/StateMachine/Entities/StateMachineEntity.js.map +1 -1
  198. package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js +23 -4
  199. package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
  200. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  201. package/dist/cjs/StoredView/PM/HasStoredViewPM.js +6 -10
  202. package/dist/cjs/StoredView/PM/HasStoredViewPM.js.map +1 -1
  203. package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js +1 -0
  204. package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
  205. package/dist/cjs/StoredView/UC/SerializeStoredView.js +1 -1
  206. package/dist/cjs/StoredView/UC/SerializeStoredView.js.map +1 -1
  207. package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js +7 -6
  208. package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
  209. package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
  210. package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
  211. package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
  212. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  213. package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
  214. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  215. package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js +1 -1
  216. package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
  217. package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js +6 -5
  218. package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
  219. package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
  220. package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
  221. package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js +6 -5
  222. package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
  223. package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
  224. package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
  225. package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
  226. package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
  227. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  228. package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
  229. package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
  230. package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
  231. package/dist/esm/BaseApp/PM/IsAuthoringPM.js +7 -10
  232. package/dist/esm/BaseApp/PM/IsAuthoringPM.js.map +1 -1
  233. package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js +2 -6
  234. package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
  235. package/dist/esm/BaseApp/PM/IsReviewingPM.js +7 -10
  236. package/dist/esm/BaseApp/PM/IsReviewingPM.js.map +1 -1
  237. package/dist/esm/BaseApp/PM/IsReviewingPM.test.js +2 -6
  238. package/dist/esm/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
  239. package/dist/esm/BaseApp/PM/SlideTextPM.js +7 -6
  240. package/dist/esm/BaseApp/PM/SlideTextPM.js.map +1 -1
  241. package/dist/esm/BaseApp/PM/SlideTextPM.test.js +2 -6
  242. package/dist/esm/BaseApp/PM/SlideTextPM.test.js.map +1 -1
  243. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +1 -0
  244. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  245. package/dist/esm/BaseApp/UC/SerializeBaseAppState.js +1 -1
  246. package/dist/esm/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
  247. package/dist/esm/Callouts/Factories/calloutFactory.test.js +6 -0
  248. package/dist/esm/Callouts/Factories/calloutFactory.test.js.map +1 -1
  249. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
  250. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  251. package/dist/esm/Callouts/UC/SerializeCallouts.js +1 -1
  252. package/dist/esm/Callouts/UC/SerializeCallouts.js.map +1 -1
  253. package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
  254. package/dist/esm/Challenge/UCs/SerializeChallenge.js +1 -1
  255. package/dist/esm/Challenge/UCs/SerializeChallenge.js.map +1 -1
  256. package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
  257. package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
  258. package/dist/esm/ChannelModel/PMs/ActiveModelPM.js +7 -6
  259. package/dist/esm/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
  260. package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
  261. package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
  262. package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
  263. package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
  264. package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
  265. package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
  266. package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
  267. package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
  268. package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
  269. package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
  270. package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
  271. package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
  272. package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
  273. package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
  274. package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
  275. package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
  276. package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
  277. package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
  278. package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
  279. package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
  280. package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
  281. package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
  282. package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
  283. package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
  284. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
  285. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  286. package/dist/esm/ChannelModel/UC/SerializeActiveModel.js +1 -1
  287. package/dist/esm/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
  288. package/dist/esm/Dispatcher/Entities/AppDispatcher.js +7 -0
  289. package/dist/esm/Dispatcher/Entities/AppDispatcher.js.map +1 -1
  290. package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js +31 -0
  291. package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
  292. package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
  293. package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
  294. package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
  295. package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
  296. package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
  297. package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
  298. package/dist/esm/Dispatcher/Mocks/MockDispatcher.js +2 -2
  299. package/dist/esm/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
  300. package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
  301. package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
  302. package/dist/esm/Dispatcher/Mocks/MockShowAlert.js +1 -1
  303. package/dist/esm/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
  304. package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js +1 -1
  305. package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
  306. package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
  307. package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
  308. package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js +1 -1
  309. package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
  310. package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js +5 -5
  311. package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
  312. package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
  313. package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
  314. package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
  315. package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
  316. package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
  317. package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
  318. package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
  319. package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
  320. package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
  321. package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
  322. package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
  323. package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
  324. package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
  325. package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
  326. package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
  327. package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
  328. package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
  329. package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
  330. package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
  331. package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
  332. package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
  333. package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
  334. package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
  335. package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
  336. package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js +3 -1
  337. package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
  338. package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
  339. package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
  340. package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
  341. package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
  342. package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
  343. package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
  344. package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
  345. package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
  346. package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
  347. package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
  348. package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
  349. package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
  350. package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
  351. package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
  352. package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
  353. package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
  354. package/dist/esm/Enablement/PM/EnabledStatePM.js +5 -9
  355. package/dist/esm/Enablement/PM/EnabledStatePM.js.map +1 -1
  356. package/dist/esm/Enablement/PM/EnabledStatePM.test.js +1 -0
  357. package/dist/esm/Enablement/PM/EnabledStatePM.test.js.map +1 -1
  358. package/dist/esm/Environment/UCs/SerializeEnvironment.js +1 -1
  359. package/dist/esm/Environment/UCs/SerializeEnvironment.js.map +1 -1
  360. package/dist/esm/Hideable/Factories/setupHideable.test.js +6 -0
  361. package/dist/esm/Hideable/Factories/setupHideable.test.js.map +1 -1
  362. package/dist/esm/Hideable/UCs/SerializeHideableObjects.js +1 -1
  363. package/dist/esm/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
  364. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  365. package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
  366. package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
  367. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  368. package/dist/esm/Label/Controller/submitCustomLabel.test.js +3 -0
  369. package/dist/esm/Label/Controller/submitCustomLabel.test.js.map +1 -1
  370. package/dist/esm/Label/Controller/updateCustomLabel.test.js +3 -0
  371. package/dist/esm/Label/Controller/updateCustomLabel.test.js.map +1 -1
  372. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +0 -7
  373. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  374. package/dist/esm/Label/UC/SerializeCustomLabels.js +1 -1
  375. package/dist/esm/Label/UC/SerializeCustomLabels.js.map +1 -1
  376. package/dist/esm/Label/UC/SetCustomLabelUC.test.js +0 -7
  377. package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  378. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  379. package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
  380. package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
  381. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  382. package/dist/esm/Landmarks/PM/LandmarkSizePM.js +5 -8
  383. package/dist/esm/Landmarks/PM/LandmarkSizePM.js.map +1 -1
  384. package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js +1 -1
  385. package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
  386. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
  387. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  388. package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
  389. package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
  390. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  391. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
  392. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  393. package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
  394. package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
  395. package/dist/esm/Question/UC/SerializeQuestionChallenge.js +1 -1
  396. package/dist/esm/Question/UC/SerializeQuestionChallenge.js.map +1 -1
  397. package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
  398. package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
  399. package/dist/esm/RequestHandler/Entities/AppHandler.js +4 -0
  400. package/dist/esm/RequestHandler/Entities/AppHandler.js.map +1 -1
  401. package/dist/esm/RequestHandler/Entities/AppHandler.test.js +27 -0
  402. package/dist/esm/RequestHandler/Entities/AppHandler.test.js.map +1 -1
  403. package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
  404. package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
  405. package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +126 -0
  406. package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
  407. package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
  408. package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
  409. package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js +1 -1
  410. package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
  411. package/dist/esm/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
  412. package/dist/esm/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
  413. package/dist/esm/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
  414. package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js +17 -0
  415. package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
  416. package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js +32 -0
  417. package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
  418. package/dist/esm/StateMachine/Controller/index.js +1 -1
  419. package/dist/esm/StateMachine/Controller/index.js.map +1 -1
  420. package/dist/esm/StateMachine/Entities/StateMachineEntity.js +26 -4
  421. package/dist/esm/StateMachine/Entities/StateMachineEntity.js.map +1 -1
  422. package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js +23 -4
  423. package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
  424. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  425. package/dist/esm/StoredView/PM/HasStoredViewPM.js +7 -11
  426. package/dist/esm/StoredView/PM/HasStoredViewPM.js.map +1 -1
  427. package/dist/esm/StoredView/PM/HasStoredViewPM.test.js +1 -0
  428. package/dist/esm/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
  429. package/dist/esm/StoredView/UC/SerializeStoredView.js +1 -1
  430. package/dist/esm/StoredView/UC/SerializeStoredView.js.map +1 -1
  431. package/dist/esm/Stylus/PMs/StylusIsInUsePM.js +8 -7
  432. package/dist/esm/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
  433. package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
  434. package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
  435. package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
  436. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  437. package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
  438. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  439. package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js +1 -1
  440. package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
  441. package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js +7 -6
  442. package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
  443. package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
  444. package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
  445. package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js +7 -6
  446. package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
  447. package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
  448. package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
  449. package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts +3 -2
  450. package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts.map +1 -1
  451. package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts +2 -2
  452. package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts.map +1 -1
  453. package/dist/types/BaseApp/PM/IsReviewingPM.d.ts +2 -2
  454. package/dist/types/BaseApp/PM/IsReviewingPM.d.ts.map +1 -1
  455. package/dist/types/BaseApp/PM/SlideTextPM.d.ts +2 -2
  456. package/dist/types/BaseApp/PM/SlideTextPM.d.ts.map +1 -1
  457. package/dist/types/BaseApp/UC/SerializeBaseAppState.d.ts +1 -1
  458. package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts +1 -1
  459. package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts.map +1 -1
  460. package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts +1 -1
  461. package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts.map +1 -1
  462. package/dist/types/Callouts/UC/SerializeCallouts.d.ts +1 -1
  463. package/dist/types/Challenge/UCs/SerializeChallenge.d.ts +1 -1
  464. package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts +4 -3
  465. package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts.map +1 -1
  466. package/dist/types/ChannelModel/UC/SerializeActiveModel.d.ts +2 -2
  467. package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts +1 -0
  468. package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts.map +1 -1
  469. package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts +1 -0
  470. package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts.map +1 -1
  471. package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts +1 -1
  472. package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts.map +1 -1
  473. package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts +1 -1
  474. package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts.map +1 -1
  475. package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts +2 -2
  476. package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts.map +1 -1
  477. package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts +1 -1
  478. package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts.map +1 -1
  479. package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts +1 -1
  480. package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts.map +1 -1
  481. package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts +1 -1
  482. package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts.map +1 -1
  483. package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts +1 -1
  484. package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts.map +1 -1
  485. package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts +1 -1
  486. package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts.map +1 -1
  487. package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts +5 -5
  488. package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts.map +1 -1
  489. package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts +4 -1
  490. package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts.map +1 -1
  491. package/dist/types/Environment/UCs/SerializeEnvironment.d.ts +1 -1
  492. package/dist/types/Hideable/UCs/SerializeHideableObjects.d.ts +2 -2
  493. package/dist/types/HoverLabel/UseCases/SerializeAllowHoverLabel.d.ts +1 -1
  494. package/dist/types/Label/UC/SerializeCustomLabels.d.ts +1 -2
  495. package/dist/types/Label/UC/SerializeCustomLabels.d.ts.map +1 -1
  496. package/dist/types/LabelDrop/UseCases/SerializeLabelDrop.d.ts +1 -1
  497. package/dist/types/Landmarks/UseCases/SerializeLandmarks.d.ts +1 -1
  498. package/dist/types/ObjectPick/UseCases/SerializeObjectPick.d.ts +1 -1
  499. package/dist/types/OverlayColor/UC/SerializeOverlayColoredObjects.d.ts +2 -2
  500. package/dist/types/Question/UC/SerializeQuestionChallenge.d.ts +1 -1
  501. package/dist/types/RequestHandler/Entities/AppHandler.d.ts +1 -0
  502. package/dist/types/RequestHandler/Entities/AppHandler.d.ts.map +1 -1
  503. package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts +19 -20
  504. package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts.map +1 -1
  505. package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts +2 -0
  506. package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts.map +1 -0
  507. package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts +1 -0
  508. package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts.map +1 -1
  509. package/dist/types/SceneRoot/UC/SerializeSceneRoot.d.ts +1 -1
  510. package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts +7 -0
  511. package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts.map +1 -0
  512. package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts +2 -0
  513. package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts.map +1 -0
  514. package/dist/types/StateMachine/Controller/index.d.ts +1 -1
  515. package/dist/types/StateMachine/Controller/index.d.ts.map +1 -1
  516. package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts +87 -2
  517. package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts.map +1 -1
  518. package/dist/types/StoredView/PM/HasStoredViewPM.d.ts +2 -2
  519. package/dist/types/StoredView/PM/HasStoredViewPM.d.ts.map +1 -1
  520. package/dist/types/StoredView/UC/SerializeStoredView.d.ts +1 -1
  521. package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts +2 -2
  522. package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts.map +1 -1
  523. package/dist/types/Transform3D/UC/MoveTransformUC.d.ts +3 -3
  524. package/dist/types/Transform3D/UC/MoveTransformUC.d.ts.map +1 -1
  525. package/dist/types/Transform3D/UC/PanTransformUC.d.ts +3 -3
  526. package/dist/types/Transform3D/UC/PanTransformUC.d.ts.map +1 -1
  527. package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts +1 -1
  528. package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts.map +1 -1
  529. package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts +2 -2
  530. package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts.map +1 -1
  531. package/dist/types/Transparency/UCs/SerializeTransparentObjects.d.ts +2 -2
  532. package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts +2 -2
  533. package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts.map +1 -1
  534. package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts +2 -2
  535. package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts.map +1 -1
  536. package/package.json +4 -3
  537. package/src/Dispatcher/README.md +652 -0
  538. package/src/RequestHandler/README.md +790 -0
  539. package/src/StateMachine/README.md +430 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward()\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(\n new Vector3(10, 20, 60)\n );\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
1
+ {"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward(),\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(\n new Vector3(10, 20, 60),\n );\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
1
+ {"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
@@ -72,7 +72,7 @@ class SerializeTransparentObjectsImp extends SerializeTransparentObjects {
72
72
  }
73
73
  constructor(appObj) {
74
74
  super(appObj, SerializeTransparentObjects.type);
75
- this.seriliziationVersion = 1;
75
+ this.serializationVersion = 1;
76
76
  const stateMachine = this.appObjects.getSingleton(StateMachine_1.StateMachineEntity.type);
77
77
  if (stateMachine) {
78
78
  stateMachine.registerSerializedSystem(this);
@@ -1 +1 @@
1
- {"version":3,"file":"SerializeTransparentObjects.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/SerializeTransparentObjects.ts"],"names":[],"mappings":";;;AAoBA,0EAIC;AAxBD,sCAAqD;AACrD,qDAA0E;AAC1E,0CAA2C;AAE3C,MAAsB,2BACpB,SAAQ,kBAAW;IADrB;;QAKE,SAAI,GAAW,qBAAqB,CAAC;IASvC,CAAC;;AAdD,kEAcC;AAViB,gCAAI,GAAG,6BAA6B,AAAhC,CAAiC;AAYvD,SAAgB,+BAA+B,CAC7C,SAAoB;IAEpB,OAAO,IAAI,8BAA8B,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,MAAa,8BAA+B,SAAQ,2BAA2B;IAG7E,cAAc;QACZ,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACtD,uBAAY,CAAC,IAAI,CAClB,CAAC;QAEF,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,WAAW,CAAC,aAAa;gBAC3B,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAmC;YAC5C,kBAAkB;SACnB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CACd,KAAa,EACb,OAAe,EACf,SAAiB;QAEjB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,YAAY,CACtB,KAAuC,EACvC,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,YAAY,CAClB,KAAqC,EACrC,SAAiB;QAEjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;QAErC,IAAI,qBAAqB,GAAa,EAAE,CAAC;QACzC,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,qBAAqB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACtD,uBAAY,CAAC,IAAI,CAClB,CAAC;QAEF,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAE7C,IAAI,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;gBAEjC,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,uBAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACtD,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACtD,uBAAY,CAAC,IAAI,CAClB,CAAC;QAEF,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,MAAiB;QAC3B,KAAK,CAAC,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC;QArFlD,yBAAoB,GAAG,CAAC,CAAC;QAuFvB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAC/C,iCAAkB,CAAC,IAAI,CACxB,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CACF;AAjGD,wEAiGC","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { Transparency } from \"../Entities\";\n\nexport abstract class SerializeTransparentObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeTransparentObjects\";\n name: string = \"transparent-objects\";\n abstract seriliziationVersion: number;\n abstract getSystemState(): object;\n abstract applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void;\n abstract applyDefaultState(transitionDuration: number): void;\n}\n\nexport function makeSerializeTransparentObjects(\n appObject: AppObject,\n): SerializeTransparentObjects {\n return new SerializeTransparentObjectsImp(appObject);\n}\n\nexport class SerializeTransparentObjectsImp extends SerializeTransparentObjects {\n seriliziationVersion = 1;\n\n getSystemState(): object {\n const transparentObjects: string[] = [];\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n if (transparent.isTransparent)\n transparentObjects.push(transparent.appObject.id);\n });\n\n const state: SerializedTransparentObjectsV1 = {\n transparentObjects,\n };\n\n return state;\n }\n\n applySystemState(\n state: object,\n version: number,\n durationS: number,\n ): Promise<void> | void {\n if (version === 1) {\n return this.applyStateV1(\n state as SerializedTransparentObjectsV1,\n durationS,\n );\n } else {\n this.applyDefaultState();\n }\n }\n\n private applyStateV1(\n state: SerializedTransparentObjectsV1,\n durationS: number,\n ) {\n const { transparentObjects } = state;\n\n let transparentObjectsIds: string[] = [];\n if (transparentObjects !== undefined && transparentObjects.length > 0) {\n transparentObjectsIds = [...transparentObjects];\n } else {\n this.applyDefaultState();\n return;\n }\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n const appObjectId = transparent.appObject.id;\n\n if (transparentObjectsIds.includes(appObjectId)) {\n transparent.isTransparent = true;\n\n const index = transparentObjectsIds.indexOf(appObjectId);\n if (index !== -1) {\n transparentObjectsIds.splice(index, 1);\n }\n }\n });\n\n transparentObjectsIds.forEach((remainingObjectId) => {\n const appObject = this.appObjects.getOrCreate(remainingObjectId);\n const hideable = Transparency.addIfMissing(appObject);\n hideable.isTransparent = true;\n });\n }\n\n applyDefaultState(): void {\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n transparent.isTransparent = false;\n });\n }\n\n constructor(appObj: AppObject) {\n super(appObj, SerializeTransparentObjects.type);\n\n const stateMachine = this.appObjects.getSingleton<StateMachineEntity>(\n StateMachineEntity.type,\n );\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface SerializedTransparentObjectsV1 {\n transparentObjects: string[];\n}\n"]}
1
+ {"version":3,"file":"SerializeTransparentObjects.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/SerializeTransparentObjects.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { Transparency } from \"../Entities\";\n\nexport abstract class SerializeTransparentObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeTransparentObjects\";\n name: string = \"transparent-objects\";\n abstract serializationVersion: number;\n abstract getSystemState(): object;\n abstract applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void;\n abstract applyDefaultState(transitionDuration: number): void;\n}\n\nexport function makeSerializeTransparentObjects(\n appObject: AppObject,\n): SerializeTransparentObjects {\n return new SerializeTransparentObjectsImp(appObject);\n}\n\nexport class SerializeTransparentObjectsImp extends SerializeTransparentObjects {\n serializationVersion = 1;\n\n getSystemState(): object {\n const transparentObjects: string[] = [];\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n if (transparent.isTransparent)\n transparentObjects.push(transparent.appObject.id);\n });\n\n const state: SerializedTransparentObjectsV1 = {\n transparentObjects,\n };\n\n return state;\n }\n\n applySystemState(\n state: object,\n version: number,\n durationS: number,\n ): Promise<void> | void {\n if (version === 1) {\n return this.applyStateV1(\n state as SerializedTransparentObjectsV1,\n durationS,\n );\n } else {\n this.applyDefaultState();\n }\n }\n\n private applyStateV1(\n state: SerializedTransparentObjectsV1,\n durationS: number,\n ) {\n const { transparentObjects } = state;\n\n let transparentObjectsIds: string[] = [];\n if (transparentObjects !== undefined && transparentObjects.length > 0) {\n transparentObjectsIds = [...transparentObjects];\n } else {\n this.applyDefaultState();\n return;\n }\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n const appObjectId = transparent.appObject.id;\n\n if (transparentObjectsIds.includes(appObjectId)) {\n transparent.isTransparent = true;\n\n const index = transparentObjectsIds.indexOf(appObjectId);\n if (index !== -1) {\n transparentObjectsIds.splice(index, 1);\n }\n }\n });\n\n transparentObjectsIds.forEach((remainingObjectId) => {\n const appObject = this.appObjects.getOrCreate(remainingObjectId);\n const hideable = Transparency.addIfMissing(appObject);\n hideable.isTransparent = true;\n });\n }\n\n applyDefaultState(): void {\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n transparent.isTransparent = false;\n });\n }\n\n constructor(appObj: AppObject) {\n super(appObj, SerializeTransparentObjects.type);\n\n const stateMachine = this.appObjects.getSingleton<StateMachineEntity>(\n StateMachineEntity.type,\n );\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface SerializedTransparentObjectsV1 {\n transparentObjects: string[];\n}\n"]}
@@ -4,7 +4,7 @@ exports.ZSpaceIsEnabledPM = void 0;
4
4
  exports.makeZSpaceIsEnabledPM = makeZSpaceIsEnabledPM;
5
5
  const core_1 = require("@vived/core");
6
6
  const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
7
- class ZSpaceIsEnabledPM extends core_1.AppObjectPM {
7
+ class ZSpaceIsEnabledPM extends core_1.AppObjectSingletonPM {
8
8
  }
9
9
  exports.ZSpaceIsEnabledPM = ZSpaceIsEnabledPM;
10
10
  ZSpaceIsEnabledPM.type = "ZSpaceIsEnabledPM";
@@ -21,14 +21,15 @@ class ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {
21
21
  }
22
22
  constructor(appObject) {
23
23
  super(appObject, ZSpaceIsEnabledPM.type);
24
- this.onZSpaceChange = () => {
24
+ this.defaultVM = false;
25
+ this.formVM = () => {
25
26
  if (!this.zSpace)
26
27
  return;
27
28
  this.doUpdateView(this.zSpace.enabled);
28
29
  };
29
- this.zSpace?.addChangeObserver(this.onZSpaceChange);
30
- this.onZSpaceChange();
31
- this.appObjects.registerSingleton(this);
30
+ if (this.zSpace) {
31
+ this.observeEntity(this.zSpace);
32
+ }
32
33
  }
33
34
  }
34
35
  //# sourceMappingURL=ZSpaceIsEnabledPM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZSpaceIsEnabledPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.ts"],"names":[],"mappings":";;;AAeA,sDAEC;AAjBD,sCAKqB;AACrB,2DAAwD;AAExD,MAAsB,iBAAkB,SAAQ,kBAAoB;;AAApE,8CAKC;AAJiB,sBAAI,GAAG,mBAAmB,CAAC;AAEpC,qBAAG,GAAG,CAAC,UAAyB,EAAiC,EAAE,CACxE,IAAA,4BAAqB,EAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG9D,SAAgB,qBAAqB,CAAC,SAAoB;IACxD,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,oBAAqB,SAAQ,iBAAiB;IAClD,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAN3C,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QAKA,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsEnabledPM extends AppObjectPM<boolean> {\n static readonly type = \"ZSpaceIsEnabledPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsEnabledPM | undefined =>\n getSingletonComponent(ZSpaceIsEnabledPM.type, appObjects);\n}\n\nexport function makeZSpaceIsEnabledPM(appObject: AppObject): ZSpaceIsEnabledPM {\n return new ZSpaceIsEnabledPMImp(appObject);\n}\n\nclass ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {\n private get zSpace() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n onZSpaceChange = () => {\n if (!this.zSpace) return;\n this.doUpdateView(this.zSpace.enabled);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsEnabledPM.type);\n\n this.zSpace?.addChangeObserver(this.onZSpaceChange);\n this.onZSpaceChange();\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
1
+ {"version":3,"file":"ZSpaceIsEnabledPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.ts"],"names":[],"mappings":";;;AAeA,sDAEC;AAjBD,sCAKqB;AACrB,2DAAwD;AAExD,MAAsB,iBAAkB,SAAQ,2BAA6B;;AAA7E,8CAKC;AAJiB,sBAAI,GAAG,mBAAmB,CAAC;AAEpC,qBAAG,GAAG,CAAC,UAAyB,EAAiC,EAAE,CACxE,IAAA,4BAAqB,EAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG9D,SAAgB,qBAAqB,CAAC,SAAoB;IACxD,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,oBAAqB,SAAQ,iBAAiB;IAGlD,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAhB3C,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsEnabledPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"ZSpaceIsEnabledPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsEnabledPM | undefined =>\n getSingletonComponent(ZSpaceIsEnabledPM.type, appObjects);\n}\n\nexport function makeZSpaceIsEnabledPM(appObject: AppObject): ZSpaceIsEnabledPM {\n return new ZSpaceIsEnabledPMImp(appObject);\n}\n\nclass ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {\n defaultVM = false;\n\n private get zSpace() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.zSpace) return;\n this.doUpdateView(this.zSpace.enabled);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsEnabledPM.type);\n\n if (this.zSpace) {\n this.observeEntity(this.zSpace);\n }\n }\n}\n"]}
@@ -5,12 +5,12 @@ const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
5
5
  const ZSpaceIsEnabledPM_1 = require("./ZSpaceIsEnabledPM");
6
6
  function makeTestRig() {
7
7
  const appObjects = (0, core_1.makeAppObjectRepo)();
8
- const registerSpy = jest.spyOn(appObjects, "registerSingleton");
9
8
  const ao = appObjects.getOrCreate("zSpace");
10
9
  const zSpace = (0, ZSpaceEntity_1.makeZSpaceEntity)(ao);
11
10
  zSpace.enabled = true;
12
11
  const pm = (0, ZSpaceIsEnabledPM_1.makeZSpaceIsEnabledPM)(ao);
13
- return { zSpace, pm, registerSpy, appObjects };
12
+ pm.addView(() => { });
13
+ return { zSpace, pm, appObjects };
14
14
  }
15
15
  describe("ZSpace Display Presentation Manager", () => {
16
16
  it("Initializes the VM", () => {
@@ -37,13 +37,9 @@ describe("ZSpace Display Presentation Manager", () => {
37
37
  expect(pm.vmsAreEqual(true, false)).toEqual(false);
38
38
  expect(pm.vmsAreEqual(false, true)).toEqual(false);
39
39
  });
40
- it("Gets the singleton", () => {
41
- const { appObjects, pm } = makeTestRig();
40
+ it("Gets the PM", () => {
41
+ const { pm, appObjects } = makeTestRig();
42
42
  expect(ZSpaceIsEnabledPM_1.ZSpaceIsEnabledPM.get(appObjects)).toEqual(pm);
43
43
  });
44
- it("Registers as the singleton", () => {
45
- const { registerSpy, pm } = makeTestRig();
46
- expect(registerSpy).toHaveBeenCalledWith(pm);
47
- });
48
44
  });
49
45
  //# sourceMappingURL=ZSpaceIsEnabledPM.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZSpaceIsEnabledPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeZSpaceEntity } from \"../Entities/ZSpaceEntity\";\nimport { makeZSpaceIsEnabledPM, ZSpaceIsEnabledPM } from \"./ZSpaceIsEnabledPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"zSpace\");\n const zSpace = makeZSpaceEntity(ao);\n zSpace.enabled = true;\n\n const pm = makeZSpaceIsEnabledPM(ao);\n\n return { zSpace, pm, registerSpy, appObjects };\n}\n\ndescribe(\"ZSpace Display Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, zSpace } = makeTestRig();\n\n zSpace.enabled = false;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n zSpace.enabled = true;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for equal vms\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Checks for a change in the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n });\n\n it(\"Gets the singleton\", () => {\n const { appObjects, pm } = makeTestRig();\n\n expect(ZSpaceIsEnabledPM.get(appObjects)).toEqual(pm);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSpy, pm } = makeTestRig();\n\n expect(registerSpy).toHaveBeenCalledWith(pm);\n });\n});\n"]}
1
+ {"version":3,"file":"ZSpaceIsEnabledPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,2DAA4D;AAC5D,2DAA+E;AAE/E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,+BAAgB,EAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,MAAM,EAAE,GAAG,IAAA,yCAAqB,EAAC,EAAE,CAAC,CAAC;IACrC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeZSpaceEntity } from \"../Entities/ZSpaceEntity\";\nimport { makeZSpaceIsEnabledPM, ZSpaceIsEnabledPM } from \"./ZSpaceIsEnabledPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const ao = appObjects.getOrCreate(\"zSpace\");\n const zSpace = makeZSpaceEntity(ao);\n zSpace.enabled = true;\n\n const pm = makeZSpaceIsEnabledPM(ao);\n pm.addView(() => {});\n\n return { zSpace, pm, appObjects };\n}\n\ndescribe(\"ZSpace Display Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, zSpace } = makeTestRig();\n\n zSpace.enabled = false;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n zSpace.enabled = true;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for equal vms\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Checks for a change in the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n\n expect(ZSpaceIsEnabledPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
@@ -4,7 +4,7 @@ exports.ZSpaceIsSupportedPM = void 0;
4
4
  exports.makeZSpaceIsSupportedPM = makeZSpaceIsSupportedPM;
5
5
  const core_1 = require("@vived/core");
6
6
  const ZSpaceEntity_1 = require("../Entities/ZSpaceEntity");
7
- class ZSpaceIsSupportedPM extends core_1.AppObjectPM {
7
+ class ZSpaceIsSupportedPM extends core_1.AppObjectSingletonPM {
8
8
  }
9
9
  exports.ZSpaceIsSupportedPM = ZSpaceIsSupportedPM;
10
10
  ZSpaceIsSupportedPM.type = "ZSpaceIsSupportedPM";
@@ -21,14 +21,15 @@ class ZSpaceIsSupportedPMImp extends ZSpaceIsSupportedPM {
21
21
  }
22
22
  constructor(appObject) {
23
23
  super(appObject, ZSpaceIsSupportedPM.type);
24
- this.onZSpaceChange = () => {
24
+ this.defaultVM = false;
25
+ this.formVM = () => {
25
26
  if (!this.zSpaceEntity)
26
27
  return;
27
28
  this.doUpdateView(this.zSpaceEntity.isSupported);
28
29
  };
29
- this.zSpaceEntity?.addChangeObserver(this.onZSpaceChange);
30
- this.onZSpaceChange();
31
- this.appObjects.registerSingleton(this);
30
+ if (this.zSpaceEntity) {
31
+ this.observeEntity(this.zSpaceEntity);
32
+ }
32
33
  }
33
34
  }
34
35
  //# sourceMappingURL=ZSpaceIsSupportedPM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZSpaceIsSupportedPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.ts"],"names":[],"mappings":";;;AAeA,0DAIC;AAnBD,sCAKqB;AACrB,2DAAwD;AAExD,MAAsB,mBAAoB,SAAQ,kBAAoB;;AAAtE,kDAKC;AAJiB,wBAAI,GAAG,qBAAqB,CAAC;AAEtC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,IAAA,4BAAqB,EAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,SAAgB,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IACtD,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAN7C,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsSupportedPM extends AppObjectPM<boolean> {\n static readonly type = \"ZSpaceIsSupportedPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsSupportedPM | undefined =>\n getSingletonComponent(ZSpaceIsSupportedPM.type, appObjects);\n}\n\nexport function makeZSpaceIsSupportedPM(\n appObject: AppObject,\n): ZSpaceIsSupportedPM {\n return new ZSpaceIsSupportedPMImp(appObject);\n}\n\nclass ZSpaceIsSupportedPMImp extends ZSpaceIsSupportedPM {\n private get zSpaceEntity() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n onZSpaceChange = () => {\n if (!this.zSpaceEntity) return;\n this.doUpdateView(this.zSpaceEntity.isSupported);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsSupportedPM.type);\n\n this.zSpaceEntity?.addChangeObserver(this.onZSpaceChange);\n this.onZSpaceChange();\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
1
+ {"version":3,"file":"ZSpaceIsSupportedPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.ts"],"names":[],"mappings":";;;AAeA,0DAIC;AAnBD,sCAKqB;AACrB,2DAAwD;AAExD,MAAsB,mBAAoB,SAAQ,2BAA6B;;AAA/E,kDAKC;AAJiB,wBAAI,GAAG,qBAAqB,CAAC;AAEtC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,IAAA,4BAAqB,EAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,SAAgB,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IAGtD,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAhB7C,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsSupportedPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"ZSpaceIsSupportedPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsSupportedPM | undefined =>\n getSingletonComponent(ZSpaceIsSupportedPM.type, appObjects);\n}\n\nexport function makeZSpaceIsSupportedPM(\n appObject: AppObject,\n): ZSpaceIsSupportedPM {\n return new ZSpaceIsSupportedPMImp(appObject);\n}\n\nclass ZSpaceIsSupportedPMImp extends ZSpaceIsSupportedPM {\n defaultVM = false;\n\n private get zSpaceEntity() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.zSpaceEntity) return;\n this.doUpdateView(this.zSpaceEntity.isSupported);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsSupportedPM.type);\n\n if (this.zSpaceEntity) {\n this.observeEntity(this.zSpaceEntity);\n }\n }\n}\n"]}
@@ -9,6 +9,7 @@ function makeTestRig() {
9
9
  const zSpace = (0, ZSpaceEntity_1.makeZSpaceEntity)(ao);
10
10
  zSpace.isSupported = true;
11
11
  const pm = (0, ZSpaceIsSupportedPM_1.makeZSpaceIsSupportedPM)(ao);
12
+ pm.addView(() => { });
12
13
  return { zSpace, pm, appObjects };
13
14
  }
14
15
  describe("ZSpace Display Presentation Manager", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ZSpaceIsSupportedPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.test.ts"],"names":[],"mappings":";;AACA,sCAAgD;AAOhD,2DAA0E;AAM1E,+DAG+B;AAE/B,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,+BAAgB,EAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAE1B,MAAM,EAAE,GAAG,IAAA,6CAAuB,EAAC,EAAE,CAAC,CAAC;IAEvC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,yCAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\nimport { makeAppObjectRepo } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n makeZSpaceDisplayEntity,\n ZSpaceDevice,\n ZSpaceDisplayEntity,\n} from \"../Entities/ZSpaceDisplayEntity\";\nimport { makeZSpaceEntity, ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\nimport {\n makeZSpaceView,\n ZSpaceViewType,\n ZSpaceViewEntity,\n} from \"../Entities/ZSpaceViewEntity\";\nimport {\n makeZSpaceIsSupportedPM,\n ZSpaceIsSupportedPM,\n} from \"./ZSpaceIsSupportedPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"zSpace\");\n const zSpace = makeZSpaceEntity(ao);\n zSpace.isSupported = true;\n\n const pm = makeZSpaceIsSupportedPM(ao);\n\n return { zSpace, pm, appObjects };\n}\n\ndescribe(\"ZSpace Display Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, zSpace } = makeTestRig();\n\n zSpace.isSupported = false;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n zSpace.isSupported = true;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for equal vms\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Checks for a change in the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n expect(ZSpaceIsSupportedPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
1
+ {"version":3,"file":"ZSpaceIsSupportedPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.test.ts"],"names":[],"mappings":";;AACA,sCAAgD;AAOhD,2DAA0E;AAM1E,+DAG+B;AAE/B,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,+BAAgB,EAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAE1B,MAAM,EAAE,GAAG,IAAA,6CAAuB,EAAC,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,yCAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\nimport { makeAppObjectRepo } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n makeZSpaceDisplayEntity,\n ZSpaceDevice,\n ZSpaceDisplayEntity,\n} from \"../Entities/ZSpaceDisplayEntity\";\nimport { makeZSpaceEntity, ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\nimport {\n makeZSpaceView,\n ZSpaceViewType,\n ZSpaceViewEntity,\n} from \"../Entities/ZSpaceViewEntity\";\nimport {\n makeZSpaceIsSupportedPM,\n ZSpaceIsSupportedPM,\n} from \"./ZSpaceIsSupportedPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"zSpace\");\n const zSpace = makeZSpaceEntity(ao);\n zSpace.isSupported = true;\n\n const pm = makeZSpaceIsSupportedPM(ao);\n pm.addView(() => {});\n\n return { zSpace, pm, appObjects };\n}\n\ndescribe(\"ZSpace Display Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, zSpace } = makeTestRig();\n\n zSpace.isSupported = false;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n zSpace.isSupported = true;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for equal vms\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Checks for a change in the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n expect(ZSpaceIsSupportedPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
@@ -1,8 +1,11 @@
1
1
  import { showBabylonInspectorAdapter } from "./showBabylonInspectorAdapter";
2
2
  import { makeShowBabylonInspectorPmMock } from "../Mocks/ShowBabylonInspectorPmMock";
3
3
  import { makeAppObjectRepo } from "@vived/core";
4
+ import { makeBabylonEntity } from "../Entities/BabylonEntity";
4
5
  function makeTestRig() {
5
6
  const appObjects = makeAppObjectRepo();
7
+ const appObject = appObjects.getOrCreate("ShowBabylonInspectorPmMock");
8
+ makeBabylonEntity(appObject);
6
9
  const mockPM = makeShowBabylonInspectorPmMock(appObjects);
7
10
  return { appObjects, mockPM };
8
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"showBabylonInspectorAdapter.test.js","sourceRoot":"","sources":["../../../../src/Babylon/Adapters/showBabylonInspectorAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2BAA2B,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2BAA2B,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { showBabylonInspectorAdapter } from \"./showBabylonInspectorAdapter\";\nimport { makeShowBabylonInspectorPmMock } from \"../Mocks/ShowBabylonInspectorPmMock\";\nimport { makeAppObjectRepo } from \"@vived/core\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const mockPM = makeShowBabylonInspectorPmMock(appObjects);\n\n return { appObjects, mockPM };\n}\n\ndescribe(\"ShowBabylonInspector Adapter\", () => {\n it(\"Sets the Default VM\", () => {\n expect(showBabylonInspectorAdapter.defaultVM).toEqual(false);\n });\n\n it(\"Add a view on subscribe\", () => {\n const { mockPM, appObjects } = makeTestRig();\n\n mockPM.addView = jest.fn();\n const setVM = jest.fn();\n\n showBabylonInspectorAdapter.subscribe(appObjects, setVM);\n\n expect(mockPM.addView).toHaveBeenCalledWith(setVM);\n });\n\n it(\"Removes a view on unsubscribe\", () => {\n const { mockPM, appObjects } = makeTestRig();\n\n mockPM.removeView = jest.fn();\n const setVM = jest.fn();\n\n showBabylonInspectorAdapter.unsubscribe(appObjects, setVM);\n\n expect(mockPM.removeView).toHaveBeenCalledWith(setVM);\n });\n});\n"]}
1
+ {"version":3,"file":"showBabylonInspectorAdapter.test.js","sourceRoot":"","sources":["../../../../src/Babylon/Adapters/showBabylonInspectorAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACvE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2BAA2B,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2BAA2B,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { showBabylonInspectorAdapter } from \"./showBabylonInspectorAdapter\";\nimport { makeShowBabylonInspectorPmMock } from \"../Mocks/ShowBabylonInspectorPmMock\";\nimport { makeAppObjectRepo } from \"@vived/core\";\nimport { makeBabylonEntity } from \"../Entities/BabylonEntity\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const appObject = appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\");\n makeBabylonEntity(appObject);\n const mockPM = makeShowBabylonInspectorPmMock(appObjects);\n\n return { appObjects, mockPM };\n}\n\ndescribe(\"ShowBabylonInspector Adapter\", () => {\n it(\"Sets the Default VM\", () => {\n expect(showBabylonInspectorAdapter.defaultVM).toEqual(false);\n });\n\n it(\"Add a view on subscribe\", () => {\n const { mockPM, appObjects } = makeTestRig();\n\n mockPM.addView = jest.fn();\n const setVM = jest.fn();\n\n showBabylonInspectorAdapter.subscribe(appObjects, setVM);\n\n expect(mockPM.addView).toHaveBeenCalledWith(setVM);\n });\n\n it(\"Removes a view on unsubscribe\", () => {\n const { mockPM, appObjects } = makeTestRig();\n\n mockPM.removeView = jest.fn();\n const setVM = jest.fn();\n\n showBabylonInspectorAdapter.unsubscribe(appObjects, setVM);\n\n expect(mockPM.removeView).toHaveBeenCalledWith(setVM);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAGpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAHxC,iBAAY,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,SAAS,CAAC;IAI7C,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAyB;IAEzB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SceneRayPickUC } from \"../UC\";\n\nexport class MockSceneRayPickUC extends SceneRayPickUC {\n sceneRayPick = (_ray: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, SceneRayPickUC.type);\n }\n}\n\nexport function makeMockSceneRayPickUC(\n appObjects: AppObjectRepo\n): MockSceneRayPickUC {\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
1
+ {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAGpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAHxC,iBAAY,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,SAAS,CAAC;IAI7C,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAyB;IAEzB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SceneRayPickUC } from \"../UC\";\n\nexport class MockSceneRayPickUC extends SceneRayPickUC {\n sceneRayPick = (_ray: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, SceneRayPickUC.type);\n }\n}\n\nexport function makeMockSceneRayPickUC(\n appObjects: AppObjectRepo,\n): MockSceneRayPickUC {\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,0BAA2B,SAAQ,sBAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAW,EAAE,CAAC,KAAK,CAAC;IAIvD,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,UAAyB;IACtE,OAAO,IAAI,0BAA0B,CACnC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ShowBabylonInspectorPM } from \"../PM/ShowBabylonInspectorPM\";\n\nexport class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {\n vmsAreEqual = (_vm1: any, _vm2: any): boolean => false;\n\n constructor(appObject: AppObject) {\n super(appObject);\n }\n}\n\nexport function makeShowBabylonInspectorPmMock(appObjects: AppObjectRepo) {\n return new ShowBabylonInspectorPmMock(\n appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\")\n );\n}\n"]}
1
+ {"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,OAAO,0BAA2B,SAAQ,sBAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAW,EAAE,CAAC,KAAK,CAAC;IAIvD,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,UAAyB;IACtE,OAAO,IAAI,0BAA0B,CACnC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ShowBabylonInspectorPM } from \"../PM/ShowBabylonInspectorPM\";\n\nexport class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {\n vmsAreEqual = (_vm1: any, _vm2: any): boolean => false;\n\n constructor(appObject: AppObject) {\n super(appObject);\n }\n}\n\nexport function makeShowBabylonInspectorPmMock(appObjects: AppObjectRepo) {\n return new ShowBabylonInspectorPmMock(\n appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\"),\n );\n}\n"]}
@@ -1,23 +1,26 @@
1
1
  import { AppObjectPM, getSingletonComponent, } from "@vived/core";
2
2
  import { BabylonEntity } from "../Entities/BabylonEntity";
3
3
  export class ShowBabylonInspectorPM extends AppObjectPM {
4
+ get babylon() {
5
+ return this.getCachedLocalComponent(BabylonEntity.type);
6
+ }
4
7
  vmsAreEqual(a, b) {
5
8
  return a === b;
6
9
  }
7
10
  constructor(appObject) {
8
11
  super(appObject, ShowBabylonInspectorPM.type);
9
- this.onBabylonChange = () => {
12
+ this.defaultVM = false;
13
+ this.formVM = () => {
10
14
  if (!this.babylon)
11
15
  return;
12
16
  this.doUpdateView(this.babylon.showInspector);
13
17
  };
14
- this.babylon = appObject.getComponent(BabylonEntity.type);
15
- if (!this.babylon) {
18
+ if (this.babylon) {
19
+ this.observeEntity(this.babylon);
20
+ }
21
+ else {
16
22
  this.warn("ShowBabylonInspectorPM has been added to something without a BabylonEntity");
17
- return;
18
23
  }
19
- this.babylon.addChangeObserver(this.onBabylonChange);
20
- this.onBabylonChange();
21
24
  }
22
25
  }
23
26
  ShowBabylonInspectorPM.type = "ShowBabylonInspectorPM";
@@ -1 +1 @@
1
- {"version":3,"file":"ShowBabylonInspectorPM.js","sourceRoot":"","sources":["../../../../src/Babylon/PM/ShowBabylonInspectorPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,WAAoB;IAU9D,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QANhD,oBAAe,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC;QAKA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,YAAY,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CACP,4EAA4E,CAC7E,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;;AA/Be,2BAAI,GAAG,wBAAwB,AAA3B,CAA4B;AAEzC,0BAAG,GAAG,CACX,UAAyB,EACW,EAAE,CACtC,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,AAHtD,CAGuD","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BabylonEntity } from \"../Entities/BabylonEntity\";\n\nexport class ShowBabylonInspectorPM extends AppObjectPM<boolean> {\n static readonly type = \"ShowBabylonInspectorPM\";\n\n static get = (\n appObjects: AppObjectRepo,\n ): ShowBabylonInspectorPM | undefined =>\n getSingletonComponent(ShowBabylonInspectorPM.type, appObjects);\n\n private babylon?: BabylonEntity;\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n onBabylonChange = () => {\n if (!this.babylon) return;\n this.doUpdateView(this.babylon.showInspector);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ShowBabylonInspectorPM.type);\n\n this.babylon = appObject.getComponent<BabylonEntity>(BabylonEntity.type);\n if (!this.babylon) {\n this.warn(\n \"ShowBabylonInspectorPM has been added to something without a BabylonEntity\",\n );\n return;\n }\n\n this.babylon.addChangeObserver(this.onBabylonChange);\n this.onBabylonChange();\n }\n}\n"]}
1
+ {"version":3,"file":"ShowBabylonInspectorPM.js","sourceRoot":"","sources":["../../../../src/Babylon/PM/ShowBabylonInspectorPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,WAAoB;IAS9D,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAgB,aAAa,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QArBhD,cAAS,GAAG,KAAK,CAAC;QAelB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;;AA/Be,2BAAI,GAAG,wBAAwB,AAA3B,CAA4B;AAGzC,0BAAG,GAAG,CACX,UAAyB,EACW,EAAE,CACtC,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,AAHtD,CAGuD","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BabylonEntity } from \"../Entities/BabylonEntity\";\n\nexport class ShowBabylonInspectorPM extends AppObjectPM<boolean> {\n static readonly type = \"ShowBabylonInspectorPM\";\n defaultVM = false;\n\n static get = (\n appObjects: AppObjectRepo,\n ): ShowBabylonInspectorPM | undefined =>\n getSingletonComponent(ShowBabylonInspectorPM.type, appObjects);\n\n private get babylon() {\n return this.getCachedLocalComponent<BabylonEntity>(BabylonEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.babylon) return;\n this.doUpdateView(this.babylon.showInspector);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ShowBabylonInspectorPM.type);\n\n if (this.babylon) {\n this.observeEntity(this.babylon);\n } else {\n this.warn(\n \"ShowBabylonInspectorPM has been added to something without a BabylonEntity\",\n );\n }\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { AppObjectPM, getSingletonComponent, } from "@vived/core";
1
+ import { AppObjectSingletonPM, getSingletonComponent, } from "@vived/core";
2
2
  import { BaseAppState } from "../Entity";
3
- export class IsAuthoringPM extends AppObjectPM {
3
+ export class IsAuthoringPM extends AppObjectSingletonPM {
4
4
  }
5
5
  IsAuthoringPM.type = "IsAuthoringPM";
6
6
  IsAuthoringPM.get = (appObjects) => getSingletonComponent(IsAuthoringPM.type, appObjects);
@@ -14,20 +14,17 @@ class IsAuthoringPMImp extends IsAuthoringPM {
14
14
  vmsAreEqual(a, b) {
15
15
  return a === b;
16
16
  }
17
- dispose() {
18
- super.dispose();
19
- this.baseAppState?.removeChangeObserver(this.onAppStateChange);
20
- }
21
17
  constructor(appObject) {
22
18
  super(appObject, IsAuthoringPM.type);
23
- this.onAppStateChange = () => {
19
+ this.defaultVM = false;
20
+ this.formVM = () => {
24
21
  if (!this.baseAppState)
25
22
  return;
26
23
  this.doUpdateView(this.baseAppState.isAuthoring);
27
24
  };
28
- this.baseAppState?.addChangeObserver(this.onAppStateChange);
29
- this.onAppStateChange();
30
- this.appObjects.registerSingleton(this);
25
+ if (this.baseAppState) {
26
+ this.observeEntity(this.baseAppState);
27
+ }
31
28
  }
32
29
  }
33
30
  //# sourceMappingURL=IsAuthoringPM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsAuthoringPM.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsAuthoringPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,aAAc,SAAQ,WAAoB;;AAC9C,kBAAI,GAAG,eAAe,CAAC;AAEhC,iBAAG,GAAG,CAAC,UAAyB,EAA6B,EAAE,CACpE,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAC1C,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAXvC,qBAAgB,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAUA,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BaseAppState } from \"../Entity\";\n\nexport abstract class IsAuthoringPM extends AppObjectPM<boolean> {\n static readonly type = \"IsAuthoringPM\";\n\n static get = (appObjects: AppObjectRepo): IsAuthoringPM | undefined =>\n getSingletonComponent(IsAuthoringPM.type, appObjects);\n}\n\nexport function makeIsAuthoringPM(appObject: AppObject): IsAuthoringPM {\n return new IsAuthoringPMImp(appObject);\n}\n\nclass IsAuthoringPMImp extends IsAuthoringPM {\n private get baseAppState() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n onAppStateChange = () => {\n if (!this.baseAppState) return;\n this.doUpdateView(this.baseAppState.isAuthoring);\n };\n\n dispose() {\n super.dispose();\n this.baseAppState?.removeChangeObserver(this.onAppStateChange);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, IsAuthoringPM.type);\n\n this.baseAppState?.addChangeObserver(this.onAppStateChange);\n this.onAppStateChange();\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
1
+ {"version":3,"file":"IsAuthoringPM.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsAuthoringPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,aAAc,SAAQ,oBAA6B;;AACvD,kBAAI,GAAG,eAAe,CAAC;AAEhC,iBAAG,GAAG,CAAC,UAAyB,EAA6B,EAAE,CACpE,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAG1C,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAhBvC,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BaseAppState } from \"../Entity\";\n\nexport abstract class IsAuthoringPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"IsAuthoringPM\";\n\n static get = (appObjects: AppObjectRepo): IsAuthoringPM | undefined =>\n getSingletonComponent(IsAuthoringPM.type, appObjects);\n}\n\nexport function makeIsAuthoringPM(appObject: AppObject): IsAuthoringPM {\n return new IsAuthoringPMImp(appObject);\n}\n\nclass IsAuthoringPMImp extends IsAuthoringPM {\n defaultVM = false;\n\n private get baseAppState() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.baseAppState) return;\n this.doUpdateView(this.baseAppState.isAuthoring);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, IsAuthoringPM.type);\n\n if (this.baseAppState) {\n this.observeEntity(this.baseAppState);\n }\n }\n}\n"]}
@@ -3,11 +3,11 @@ import { makeBaseAppState } from "../Entity";
3
3
  import { IsAuthoringPM, makeIsAuthoringPM } from "./IsAuthoringPM";
4
4
  function makeTestRig() {
5
5
  const appObjects = makeAppObjectRepo();
6
- const registerSpy = jest.spyOn(appObjects, "registerSingleton");
7
6
  const app = appObjects.getOrCreate("app");
8
7
  const baseApp = makeBaseAppState(app);
9
8
  const pm = makeIsAuthoringPM(app);
10
- return { baseApp, pm, appObjects, registerSpy };
9
+ pm.addView(() => { });
10
+ return { baseApp, pm, appObjects };
11
11
  }
12
12
  describe("Is Authoring Presentation Manager", () => {
13
13
  it("Updates the view when the app mode changes", () => {
@@ -31,9 +31,5 @@ describe("Is Authoring Presentation Manager", () => {
31
31
  const { pm } = makeTestRig();
32
32
  expect(pm.lastVM).not.toBeUndefined();
33
33
  });
34
- it("Registers as the singleton", () => {
35
- const { pm, registerSpy } = makeTestRig();
36
- expect(registerSpy).toHaveBeenCalledWith(pm);
37
- });
38
34
  });
39
35
  //# sourceMappingURL=IsAuthoringPM.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsAuthoringPM.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsAuthoringPM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAElC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;QAE1C,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeBaseAppState } from \"../Entity\";\nimport { IsAuthoringPM, makeIsAuthoringPM } from \"./IsAuthoringPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSpy = jest.spyOn(appObjects, \"registerSingleton\");\n const app = appObjects.getOrCreate(\"app\");\n const baseApp = makeBaseAppState(app);\n\n const pm = makeIsAuthoringPM(app);\n\n return { baseApp, pm, appObjects, registerSpy };\n}\n\ndescribe(\"Is Authoring Presentation Manager\", () => {\n it(\"Updates the view when the app mode changes\", () => {\n const { baseApp, pm } = makeTestRig();\n\n expect(pm.lastVM).toEqual(false);\n\n baseApp.isAuthoring = true;\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for VMs to be equal\", () => {\n const { pm } = makeTestRig();\n\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n\n expect(IsAuthoringPM.get(appObjects)).toEqual(pm);\n });\n\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.lastVM).not.toBeUndefined();\n });\n\n it(\"Registers as the singleton\", () => {\n const { pm, registerSpy } = makeTestRig();\n\n expect(registerSpy).toHaveBeenCalledWith(pm);\n });\n});\n"]}
1
+ {"version":3,"file":"IsAuthoringPM.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsAuthoringPM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtC,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeBaseAppState } from \"../Entity\";\nimport { IsAuthoringPM, makeIsAuthoringPM } from \"./IsAuthoringPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const app = appObjects.getOrCreate(\"app\");\n const baseApp = makeBaseAppState(app);\n\n const pm = makeIsAuthoringPM(app);\n pm.addView(() => {});\n\n return { baseApp, pm, appObjects };\n}\n\ndescribe(\"Is Authoring Presentation Manager\", () => {\n it(\"Updates the view when the app mode changes\", () => {\n const { baseApp, pm } = makeTestRig();\n\n expect(pm.lastVM).toEqual(false);\n\n baseApp.isAuthoring = true;\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for VMs to be equal\", () => {\n const { pm } = makeTestRig();\n\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n\n expect(IsAuthoringPM.get(appObjects)).toEqual(pm);\n });\n\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.lastVM).not.toBeUndefined();\n });\n});\n"]}
@@ -1,6 +1,6 @@
1
- import { AppObjectPM, getSingletonComponent, } from "@vived/core";
1
+ import { AppObjectSingletonPM, getSingletonComponent, } from "@vived/core";
2
2
  import { BaseAppState } from "../Entity";
3
- export class IsReviewingPM extends AppObjectPM {
3
+ export class IsReviewingPM extends AppObjectSingletonPM {
4
4
  }
5
5
  IsReviewingPM.type = "IsReviewingPM";
6
6
  IsReviewingPM.get = (appObjects) => getSingletonComponent(IsReviewingPM.type, appObjects);
@@ -14,20 +14,17 @@ class IsReviewingPMImp extends IsReviewingPM {
14
14
  vmsAreEqual(a, b) {
15
15
  return a === b;
16
16
  }
17
- dispose() {
18
- super.dispose();
19
- this.baseAppState?.removeChangeObserver(this.onAppStateChange);
20
- }
21
17
  constructor(appObject) {
22
18
  super(appObject, IsReviewingPM.type);
23
- this.onAppStateChange = () => {
19
+ this.defaultVM = false;
20
+ this.formVM = () => {
24
21
  if (!this.baseAppState)
25
22
  return;
26
23
  this.doUpdateView(this.baseAppState.isReviewing);
27
24
  };
28
- this.baseAppState?.addChangeObserver(this.onAppStateChange);
29
- this.onAppStateChange();
30
- this.appObjects.registerSingleton(this);
25
+ if (this.baseAppState) {
26
+ this.observeEntity(this.baseAppState);
27
+ }
31
28
  }
32
29
  }
33
30
  //# sourceMappingURL=IsReviewingPM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsReviewingPM.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsReviewingPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,aAAc,SAAQ,WAAoB;;AAC9C,kBAAI,GAAG,eAAe,CAAC;AAEhC,iBAAG,GAAG,CAAC,UAAyB,EAA6B,EAAE,CACpE,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAC1C,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAXvC,qBAAgB,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAUA,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BaseAppState } from \"../Entity\";\n\nexport abstract class IsReviewingPM extends AppObjectPM<boolean> {\n static readonly type = \"IsReviewingPM\";\n\n static get = (appObjects: AppObjectRepo): IsReviewingPM | undefined =>\n getSingletonComponent(IsReviewingPM.type, appObjects);\n}\n\nexport function makeIsReviewingPM(appObject: AppObject): IsReviewingPM {\n return new IsReviewingPMImp(appObject);\n}\n\nclass IsReviewingPMImp extends IsReviewingPM {\n private get baseAppState() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n onAppStateChange = () => {\n if (!this.baseAppState) return;\n this.doUpdateView(this.baseAppState.isReviewing);\n };\n\n dispose() {\n super.dispose();\n this.baseAppState?.removeChangeObserver(this.onAppStateChange);\n }\n\n constructor(appObject: AppObject) {\n super(appObject, IsReviewingPM.type);\n\n this.baseAppState?.addChangeObserver(this.onAppStateChange);\n this.onAppStateChange();\n this.appObjects.registerSingleton(this);\n }\n}\n"]}
1
+ {"version":3,"file":"IsReviewingPM.js","sourceRoot":"","sources":["../../../../src/BaseApp/PM/IsReviewingPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,aAAc,SAAQ,oBAA6B;;AACvD,kBAAI,GAAG,eAAe,CAAC;AAEhC,iBAAG,GAAG,CAAC,UAAyB,EAA6B,EAAE,CACpE,qBAAqB,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG1D,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAG1C,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAhBvC,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { BaseAppState } from \"../Entity\";\n\nexport abstract class IsReviewingPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"IsReviewingPM\";\n\n static get = (appObjects: AppObjectRepo): IsReviewingPM | undefined =>\n getSingletonComponent(IsReviewingPM.type, appObjects);\n}\n\nexport function makeIsReviewingPM(appObject: AppObject): IsReviewingPM {\n return new IsReviewingPMImp(appObject);\n}\n\nclass IsReviewingPMImp extends IsReviewingPM {\n defaultVM = false;\n\n private get baseAppState() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.baseAppState) return;\n this.doUpdateView(this.baseAppState.isReviewing);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, IsReviewingPM.type);\n\n if (this.baseAppState) {\n this.observeEntity(this.baseAppState);\n }\n }\n}\n"]}
@@ -3,11 +3,11 @@ import { makeBaseAppState } from "../Entity";
3
3
  import { IsReviewingPM, makeIsReviewingPM } from "./IsReviewingPM";
4
4
  function makeTestRig() {
5
5
  const appObjects = makeAppObjectRepo();
6
- const registerSpy = jest.spyOn(appObjects, "registerSingleton");
7
6
  const app = appObjects.getOrCreate("app");
8
7
  const baseApp = makeBaseAppState(app);
9
8
  const pm = makeIsReviewingPM(app);
10
- return { baseApp, pm, appObjects, registerSpy };
9
+ pm.addView(() => { });
10
+ return { baseApp, pm, appObjects };
11
11
  }
12
12
  describe("Is Reviewing Presentation Manager", () => {
13
13
  it("Updates the view when the the flag changes", () => {
@@ -31,9 +31,5 @@ describe("Is Reviewing Presentation Manager", () => {
31
31
  const { pm } = makeTestRig();
32
32
  expect(pm.lastVM).not.toBeUndefined();
33
33
  });
34
- it("Registers as the singleton", () => {
35
- const { pm, registerSpy } = makeTestRig();
36
- expect(registerSpy).toHaveBeenCalledWith(pm);
37
- });
38
34
  });
39
35
  //# sourceMappingURL=IsReviewingPM.test.js.map