@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
@@ -0,0 +1,652 @@
1
+ # Dispatcher Feature
2
+
3
+ The Dispatcher feature provides a communication bridge between VIVED applications and their host environments. It follows Clean Architecture principles with Domain-Driven Design, allowing applications to dispatch requests to the host for handling external operations like UI dialogs, asset management, state navigation, and result submission.
4
+
5
+ ## Overview
6
+
7
+ The Dispatcher acts as the primary communication mechanism between a VIVED app and its hosting environment. It encapsulates request/response patterns into type-safe Use Cases, enabling the app to request host services without direct coupling to host implementation details.
8
+
9
+ **Key Responsibilities:**
10
+ - Dispatch requests from app to host environment
11
+ - Manage app lifecycle events (ready state, state changes)
12
+ - Handle asset operations (fetch, metadata, URLs)
13
+ - Control state navigation (previous, next, completion)
14
+ - Trigger UI interactions (alerts, confirmations, editors)
15
+ - Submit activity results and logs
16
+ - Manage ZSpace integration
17
+ - Register external resources (stylesheets)
18
+
19
+ ## Architecture
20
+
21
+ ### Entities
22
+
23
+ #### AppDispatcher
24
+ Core entity that manages communication with the host environment.
25
+
26
+ ```typescript
27
+ abstract class AppDispatcher extends AppObjectEntity {
28
+ static readonly type = "APP_DISPATCHER";
29
+ verbose: boolean; // Enable logging of dispatched requests
30
+
31
+ abstract dispatch: (request: Request) => void;
32
+ abstract formRequestAndDispatch: (
33
+ type: string,
34
+ version: number,
35
+ payload?: object
36
+ ) => void;
37
+ }
38
+ ```
39
+
40
+ **Creation:**
41
+ ```typescript
42
+ import { makeAppDispatcher } from "@vived/app";
43
+
44
+ const dispatcher = makeAppDispatcher(appObject, hostHandler);
45
+ dispatcher.verbose = true; // Optional: enable request logging
46
+ ```
47
+
48
+ ### Use Cases
49
+
50
+ All Use Cases follow a consistent pattern and require an AppDispatcher to function. Each UC encapsulates a specific host interaction with:
51
+ - A unique `requestType` string
52
+ - A `requestVersion` number for API versioning
53
+ - Type-safe methods for dispatching requests
54
+ - Automatic validation that AppDispatcher exists
55
+
56
+ #### App Lifecycle Use Cases
57
+
58
+ **AppIsReadyUC** - Notify host that app has initialized
59
+ ```typescript
60
+ import { appIsReady } from "@vived/app";
61
+
62
+ appIsReady(appObjects);
63
+ ```
64
+
65
+ **DispatchStateChangeUC** - Notify host of state changes (authoring mode)
66
+ ```typescript
67
+ import { dispatchStateChange } from "@vived/app";
68
+
69
+ // Requires StateMachineEntity and BaseAppState
70
+ dispatchStateChange(appObjects);
71
+ ```
72
+
73
+ **RestoreCurrentStateUC** - Request host to restore current state
74
+ ```typescript
75
+ const uc = RestoreCurrentStateUC.get(appObjects);
76
+ uc?.doDispatch();
77
+ ```
78
+
79
+ #### State Navigation Use Cases
80
+
81
+ **GoToNextStateUC** - Navigate to next state
82
+ ```typescript
83
+ const uc = GoToNextStateUC.get(appObjects);
84
+ uc?.doDispatch();
85
+ ```
86
+
87
+ **GoToPreviousStateUC** - Navigate to previous state
88
+ ```typescript
89
+ const uc = GoToPreviousStateUC.get(appObjects);
90
+ uc?.doDispatch();
91
+ ```
92
+
93
+ **HasNextStateUC** - Check if next state exists
94
+ ```typescript
95
+ const uc = HasNextStateUC.get(appObjects);
96
+ const hasNext = await uc?.doDispatch();
97
+ ```
98
+
99
+ **HasPreviousStateUC** - Check if previous state exists
100
+ ```typescript
101
+ const uc = HasPreviousStateUC.get(appObjects);
102
+ const hasPrevious = await uc?.doDispatch();
103
+ ```
104
+
105
+ **StateHasChangedUC** - Check if state has changed
106
+ ```typescript
107
+ const uc = StateHasChangedUC.get(appObjects);
108
+ const hasChanged = await uc?.doDispatch();
109
+ ```
110
+
111
+ **StateIsCompleteUC** - Check if current state is complete
112
+ ```typescript
113
+ const uc = StateIsCompleteUC.get(appObjects);
114
+ const isComplete = await uc?.doDispatch();
115
+ ```
116
+
117
+ #### Asset Management Use Cases
118
+
119
+ **GetAssetBlobURLUC** - Fetch blob URL for an asset
120
+ ```typescript
121
+ import { getAssetBlobURL } from "@vived/app";
122
+
123
+ const blobURL = await getAssetBlobURL("asset-id", appObjects);
124
+ ```
125
+
126
+ **GetAssetFolderURLUC** - Get URL for asset folder
127
+ ```typescript
128
+ const uc = GetAssetFolderURLUC.get(appObjects);
129
+ const folderURL = await uc?.doDispatch();
130
+ ```
131
+
132
+ **GetAssetMetaUC** - Retrieve asset metadata
133
+ ```typescript
134
+ const uc = GetAssetMetaUC.get(appObjects);
135
+ const meta = await uc?.doDispatch("asset-id");
136
+ // Returns: AssetMetaDTO { id, name, description }
137
+ ```
138
+
139
+ **GetAssetsForOwnerUC** - Get all assets for an owner
140
+ ```typescript
141
+ const uc = GetAssetsForOwnerUC.get(appObjects);
142
+ const assets = await uc?.doDispatch("owner-id");
143
+ ```
144
+
145
+ **GetLinkedAssetsUC** - Get assets linked to current activity
146
+ ```typescript
147
+ const uc = GetLinkedAssetsUC.get(appObjects);
148
+ const assets = await uc?.doDispatch();
149
+ ```
150
+
151
+ **IsAssetFetchedUC** - Check if asset has been fetched
152
+ ```typescript
153
+ const uc = IsAssetFetchedUC.get(appObjects);
154
+ const isFetched = await uc?.doDispatch("asset-id");
155
+ ```
156
+
157
+ **SubmitActivityAssetUC** - Submit an asset for the activity
158
+ ```typescript
159
+ const uc = SubmitActivityAssetUC.get(appObjects);
160
+ await uc?.submitAsset(assetID, file);
161
+ ```
162
+
163
+ #### UI Interaction Use Cases
164
+
165
+ **ShowAlertUC** - Display alert dialog
166
+ ```typescript
167
+ const uc = ShowAlertUC.get(appObjects);
168
+ uc?.showAlert({
169
+ title: "Alert Title",
170
+ message: "Alert message",
171
+ closeButtonLabel: "OK",
172
+ closeCallback: () => console.log("Alert closed")
173
+ });
174
+ ```
175
+
176
+ **ShowConfirmUC** - Display confirmation dialog
177
+ ```typescript
178
+ const uc = ShowConfirmUC.get(appObjects);
179
+ uc?.showConfirm({
180
+ title: "Confirm Action",
181
+ message: "Are you sure?",
182
+ confirmButtonLabel: "Yes",
183
+ cancelButtonLabel: "No",
184
+ confirmCallback: () => console.log("Confirmed"),
185
+ cancelCallback: () => console.log("Cancelled")
186
+ });
187
+ ```
188
+
189
+ **ShowMarkdownEditorUC** - Display markdown editor
190
+ ```typescript
191
+ const uc = ShowMarkdownEditorUC.get(appObjects);
192
+ uc?.showMarkdownEditor({
193
+ markdown: "# Initial Content",
194
+ saveCallback: (updatedMarkdown) => console.log(updatedMarkdown),
195
+ closeCallback: () => console.log("Editor closed")
196
+ });
197
+ ```
198
+
199
+ **ShowSelectModelUC** - Show model selection dialog
200
+ ```typescript
201
+ const uc = ShowSelectModelUC.get(appObjects);
202
+ const selectedModel = await uc?.doDispatch();
203
+ ```
204
+
205
+ **ShowSpinnerUC** - Show/hide loading spinner
206
+ ```typescript
207
+ const uc = ShowSpinnerUC.get(appObjects);
208
+ uc?.showSpinner(true); // Show spinner
209
+ uc?.showSpinner(false); // Hide spinner
210
+ ```
211
+
212
+ #### Result Submission Use Cases
213
+
214
+ **SubmitResultResultUC** - Submit activity results
215
+ ```typescript
216
+ import {
217
+ submitHitResult,
218
+ submitProgressResult,
219
+ submitQualityResult
220
+ } from "@vived/app";
221
+
222
+ // Hit/Miss result
223
+ submitHitResult({
224
+ success: true,
225
+ description: "Correct answer"
226
+ }, appObjects);
227
+
228
+ // Progress result
229
+ submitProgressResult({
230
+ progress: 0.75,
231
+ description: "75% complete"
232
+ }, appObjects);
233
+
234
+ // Multi-hit result
235
+ const uc = SubmitResultResultUC.get(appObjects);
236
+ uc?.submitMultiHitResult({
237
+ hits: 8,
238
+ misses: 2,
239
+ unanswered: 0,
240
+ description: "Quiz results"
241
+ });
242
+
243
+ // Quality result (star rating)
244
+ submitQualityResult({
245
+ stars: 4,
246
+ maxStars: 5,
247
+ description: "Good performance"
248
+ }, appObjects);
249
+
250
+ // Score result
251
+ uc?.submitScoreResult({
252
+ score: 85,
253
+ maxScore: 100,
254
+ description: "Test score"
255
+ });
256
+ ```
257
+
258
+ #### ZSpace Integration Use Cases
259
+
260
+ **IsZSpaceAvailableUC** - Check if ZSpace is available
261
+ ```typescript
262
+ const uc = IsZSpaceAvailableUC.get(appObjects);
263
+ const isAvailable = await uc?.doDispatch();
264
+ ```
265
+
266
+ **DispatchStartZSpaceUC** - Start ZSpace mode
267
+ ```typescript
268
+ const uc = DispatchStartZSpaceUC.get(appObjects);
269
+ uc?.doDispatch();
270
+ ```
271
+
272
+ **DispatchStopZSpaceUC** - Stop ZSpace mode
273
+ ```typescript
274
+ import { dispatchStopZSpace } from "@vived/app";
275
+
276
+ dispatchStopZSpace(appObjects);
277
+ ```
278
+
279
+ #### Utility Use Cases
280
+
281
+ **LogUC** - Send log messages to host
282
+ ```typescript
283
+ const uc = LogUC.get(appObjects);
284
+ uc?.dispatchLog("ComponentName", "Info message");
285
+ uc?.dispatchWarn("ComponentName", "Warning message");
286
+ uc?.dispatchError("ComponentName", "Error message");
287
+ uc?.dispatchFatal("ComponentName", "Fatal error");
288
+ ```
289
+
290
+ **RegisterExternalStylesheetsUC** - Register external CSS files
291
+ ```typescript
292
+ const uc = RegisterExternalStylesheetsUC.get(appObjects);
293
+ uc?.doDispatch(["https://example.com/style1.css", "https://example.com/style2.css"]);
294
+ ```
295
+
296
+ ### Controllers
297
+
298
+ Controllers provide convenient wrapper functions for common operations:
299
+
300
+ **dispatchStopZSpace** - Stop ZSpace mode
301
+ ```typescript
302
+ import { dispatchStopZSpace } from "@vived/app";
303
+
304
+ dispatchStopZSpace(appObjects);
305
+ ```
306
+
307
+ ### Types
308
+
309
+ **AssetMetaDTO** - Asset metadata structure
310
+ ```typescript
311
+ interface AssetMetaDTO {
312
+ id: string;
313
+ name: string;
314
+ description: string;
315
+ }
316
+ ```
317
+
318
+ ### Factories
319
+
320
+ #### DispatcherFeatureFactory
321
+ Domain factory for setting up the complete Dispatcher feature.
322
+
323
+ ```typescript
324
+ import { DispatcherFeatureFactory } from "@vived/app";
325
+
326
+ const factory = new DispatcherFeatureFactory(appObject, hostHandler);
327
+ factory.verbose = true; // Optional: enable dispatcher logging
328
+ factory.setup(); // Sets up entity and all 24 use cases
329
+ ```
330
+
331
+ **Legacy Setup Function:**
332
+ ```typescript
333
+ import { setupDispatchers } from "@vived/app";
334
+
335
+ // Older approach, prefer DispatcherFeatureFactory for new code
336
+ setupDispatchers(appObjects, hostHandler);
337
+ ```
338
+
339
+ ## Usage Patterns
340
+
341
+ ### Basic Setup
342
+
343
+ ```typescript
344
+ import {
345
+ AppObjectRepo,
346
+ makeAppObjectRepo,
347
+ Handler
348
+ } from "@vived/core";
349
+ import { DispatcherFeatureFactory } from "@vived/app";
350
+
351
+ // Create app objects repository
352
+ const appObjects = makeAppObjectRepo();
353
+ const dispatcherAO = appObjects.getOrCreate("App Dispatcher");
354
+
355
+ // Define host handler
356
+ const hostHandler: Handler = (request) => {
357
+ console.log("Host received:", request);
358
+ // Forward to host environment
359
+ };
360
+
361
+ // Setup dispatcher feature
362
+ const factory = new DispatcherFeatureFactory(dispatcherAO, hostHandler);
363
+ factory.setup();
364
+ ```
365
+
366
+ ### Using Dispatcher in Features
367
+
368
+ ```typescript
369
+ import { appIsReady, getAssetBlobURL, submitHitResult } from "@vived/app";
370
+
371
+ // Notify host app is ready
372
+ appIsReady(appObjects);
373
+
374
+ // Fetch an asset
375
+ try {
376
+ const blobURL = await getAssetBlobURL("asset-123", appObjects);
377
+ console.log("Asset URL:", blobURL);
378
+ } catch (error) {
379
+ console.error("Failed to fetch asset:", error);
380
+ }
381
+
382
+ // Submit activity result
383
+ submitHitResult(
384
+ { success: true, description: "User completed task" },
385
+ appObjects
386
+ );
387
+ ```
388
+
389
+ ### Request/Response Pattern
390
+
391
+ The dispatcher uses a Request object format:
392
+
393
+ ```typescript
394
+ interface Request {
395
+ type: string; // e.g., "SHOW_ALERT"
396
+ version: number; // API version (1, 2, 3...)
397
+ payload?: object; // Optional data
398
+ }
399
+ ```
400
+
401
+ Example of what gets dispatched:
402
+ ```typescript
403
+ // When calling showAlert
404
+ {
405
+ type: "SHOW_ALERT",
406
+ version: 1,
407
+ payload: {
408
+ title: "Title",
409
+ message: "Message",
410
+ closeButtonLabel: "OK",
411
+ closeCallback: Function
412
+ }
413
+ }
414
+ ```
415
+
416
+ ## Testing
417
+
418
+ ### Testing with Mocks
419
+
420
+ The Dispatcher feature provides mock implementations for testing:
421
+
422
+ **MockDispatcher** - Mock the AppDispatcher entity
423
+ ```typescript
424
+ import { makeMockDispatcher } from "@vived/app";
425
+
426
+ const mockDispatcher = makeMockDispatcher(appObjects);
427
+ // Use in tests without actual host communication
428
+ ```
429
+
430
+ **Mock Use Cases** - Available mocks:
431
+ - `MockShowAlert` - Mock alert dialogs
432
+ - `MockShowConfirm` - Mock confirmation dialogs
433
+ - `MockShowMarkdown` - Mock markdown editor
434
+ - `MockShowSpinner` - Mock spinner control
435
+ - `MockSubmitResult` - Mock result submission
436
+ - `MockDispatchStateChange` - Mock state change dispatching
437
+ - `MockGetAssetFolderURL` - Mock asset folder URL retrieval
438
+ - `GetAssetBlobURLUCMock` - Mock asset blob URL retrieval
439
+ - `GetLinkedAssetsUCMock` - Mock linked assets retrieval
440
+ - `ShowSelectModelUCMock` - Mock model selection
441
+
442
+ Example test:
443
+ ```typescript
444
+ import { makeAppObjectRepo } from "@vived/core";
445
+ import { makeMockDispatcher, makeShowAlertUC } from "@vived/app";
446
+
447
+ describe("Feature using alerts", () => {
448
+ it("Shows an alert", () => {
449
+ const appObjects = makeAppObjectRepo();
450
+ const dispatcherAO = appObjects.getOrCreate("Dispatcher");
451
+
452
+ const mockDispatcher = makeMockDispatcher(appObjects);
453
+ const spy = jest.spyOn(mockDispatcher, "formRequestAndDispatch");
454
+
455
+ const uc = makeShowAlertUC(dispatcherAO);
456
+ uc.showAlert({
457
+ title: "Test",
458
+ message: "Test message",
459
+ closeButtonLabel: "OK",
460
+ closeCallback: jest.fn()
461
+ });
462
+
463
+ expect(spy).toHaveBeenCalledWith("SHOW_ALERT", 1, expect.any(Object));
464
+ });
465
+ });
466
+ ```
467
+
468
+ ### Testing Use Cases
469
+
470
+ Use Cases follow a standard test pattern:
471
+ 1. Create test rig with MockDispatcher
472
+ 2. Create the Use Case
473
+ 3. Spy on `formRequestAndDispatch`
474
+ 4. Verify request type, version, and payload
475
+
476
+ Example:
477
+ ```typescript
478
+ import { makeAppObjectRepo } from "@vived/core";
479
+ import { AppDispatcher } from "@vived/app";
480
+ import { ShowAlertUC, makeShowAlertUC } from "@vived/app";
481
+
482
+ class MockDispatcher extends AppDispatcher {
483
+ dispatch = jest.fn();
484
+ formRequestAndDispatch = jest.fn();
485
+ }
486
+
487
+ function makeTestRig() {
488
+ const appObjects = makeAppObjectRepo();
489
+ const dispatcher = appObjects.getOrCreate("Dispatcher");
490
+ const mockDispatcher = new MockDispatcher(dispatcher, AppDispatcher.type);
491
+ const uc = makeShowAlertUC(dispatcher);
492
+
493
+ return { uc, mockDispatcher, appObjects };
494
+ }
495
+
496
+ describe("ShowAlertUC", () => {
497
+ it("Dispatches correct request type", () => {
498
+ const { uc, mockDispatcher } = makeTestRig();
499
+ const spy = jest.spyOn(mockDispatcher, "formRequestAndDispatch");
500
+
501
+ uc.showAlert({
502
+ title: "Test",
503
+ message: "Message",
504
+ closeButtonLabel: "OK",
505
+ closeCallback: jest.fn()
506
+ });
507
+
508
+ expect(spy).toHaveBeenCalledTimes(1);
509
+ expect(spy.mock.calls[0][0]).toEqual("SHOW_ALERT");
510
+ expect(spy.mock.calls[0][1]).toEqual(1); // version
511
+ });
512
+ });
513
+ ```
514
+
515
+ ## Component Summary
516
+
517
+ ### Entities (1)
518
+ - `AppDispatcher` - Core dispatcher entity
519
+
520
+ ### Use Cases (27)
521
+ **Lifecycle:** AppIsReadyUC, DispatchStateChangeUC, RestoreCurrentStateUC
522
+
523
+ **State Navigation:** GoToNextStateUC, GoToPreviousStateUC, HasNextStateUC, HasPreviousStateUC, StateHasChangedUC, StateIsCompleteUC
524
+
525
+ **Assets:** GetAssetBlobURLUC, GetAssetFolderURLUC, GetAssetMetaUC, GetAssetsForOwnerUC, GetLinkedAssetsUC, IsAssetFetchedUC, SubmitActivityAssetUC
526
+
527
+ **UI:** ShowAlertUC, ShowConfirmUC, ShowMarkdownEditorUC, ShowSelectModelUC, ShowSpinnerUC
528
+
529
+ **Results:** SubmitResultResultUC
530
+
531
+ **ZSpace:** DispatchStartZSpaceUC, DispatchStopZSpaceUC, IsZSpaceAvailableUC
532
+
533
+ **Utilities:** LogUC, RegisterExternalStylesheetsUC
534
+
535
+ ### Controllers (1)
536
+ - `dispatchStopZSpace` - Controller for stopping ZSpace
537
+
538
+ ### Factories (2)
539
+ - `DispatcherFeatureFactory` - Modern factory for complete setup
540
+ - `setupDispatchers` - Legacy setup function
541
+
542
+ ### Mocks (12)
543
+ - `MockDispatcher` - Mock dispatcher entity
544
+ - `MockShowAlert`, `MockShowConfirm`, `MockShowMarkdown` - UI mocks
545
+ - `MockShowSpinner`, `MockSubmitResult` - Action mocks
546
+ - `MockDispatchStateChange`, `MockGetAssetFolderURL` - State/Asset mocks
547
+ - `GetAssetBlobURLUCMock`, `GetLinkedAssetsUCMock`, `ShowSelectModelUCMock` - UC mocks
548
+
549
+ ### Types (1)
550
+ - `AssetMetaDTO` - Asset metadata structure
551
+
552
+ ## Dependencies
553
+
554
+ **Required:**
555
+ - `@vived/core` - Core VIVED framework types and utilities
556
+
557
+ **Optional (for specific features):**
558
+ - `StateMachineEntity` - Required for DispatchStateChangeUC
559
+ - `BaseAppState` - Required for DispatchStateChangeUC
560
+
561
+ ## Best Practices
562
+
563
+ 1. **Always check UC availability** - Use optional chaining when getting UCs
564
+ ```typescript
565
+ const uc = ShowAlertUC.get(appObjects);
566
+ uc?.showAlert(data); // Safe call
567
+ ```
568
+
569
+ 2. **Handle async operations** - Many UCs return Promises
570
+ ```typescript
571
+ try {
572
+ const url = await getAssetBlobURL("id", appObjects);
573
+ } catch (error) {
574
+ console.error("Failed:", error);
575
+ }
576
+ ```
577
+
578
+ 3. **Use factory for setup** - Prefer DispatcherFeatureFactory over manual setup
579
+ ```typescript
580
+ const factory = new DispatcherFeatureFactory(appObject, hostHandler);
581
+ factory.setup();
582
+ ```
583
+
584
+ 4. **Enable verbose logging during development**
585
+ ```typescript
586
+ const dispatcher = AppDispatcher.get(appObjects);
587
+ if (dispatcher) dispatcher.verbose = true;
588
+ ```
589
+
590
+ 5. **Mock in tests** - Always use mock implementations for unit testing
591
+ ```typescript
592
+ const mockDispatcher = makeMockDispatcher(appObjects);
593
+ ```
594
+
595
+ 6. **Version your requests** - When host API changes, increment requestVersion
596
+ ```typescript
597
+ // In UC implementation
598
+ readonly requestVersion = 2; // Incremented from 1
599
+ ```
600
+
601
+ ## Request Type Reference
602
+
603
+ | Request Type | Version | Use Case | Description |
604
+ |--------------|---------|----------|-------------|
605
+ | APP_IS_READY | 1 | AppIsReadyUC | App initialization complete |
606
+ | ON_STATE_CHANGE | 3 | DispatchStateChangeUC | State has changed (authoring) |
607
+ | RESTORE_CURRENT_STATE | 1 | RestoreCurrentStateUC | Restore current state |
608
+ | GO_TO_NEXT_STATE | 1 | GoToNextStateUC | Navigate to next state |
609
+ | GO_TO_PREVIOUS_STATE | 1 | GoToPreviousStateUC | Navigate to previous state |
610
+ | HAS_NEXT_STATE | 1 | HasNextStateUC | Check next state exists |
611
+ | HAS_PREVIOUS_STATE | 1 | HasPreviousStateUC | Check previous state exists |
612
+ | STATE_HAS_CHANGED | 1 | StateHasChangedUC | Check if state changed |
613
+ | STATE_IS_COMPLETE | 1 | StateIsCompleteUC | Check if state complete |
614
+ | GET_ASSET_BLOB | 1 | GetAssetBlobURLUC | Fetch asset blob URL |
615
+ | GET_ASSET_FOLDER | 1 | GetAssetFolderURLUC | Get asset folder URL |
616
+ | GET_ASSET_META | 1 | GetAssetMetaUC | Get asset metadata |
617
+ | GET_ASSETS_FOR_OWNER | 1 | GetAssetsForOwnerUC | Get owner's assets |
618
+ | GET_LINKED_ASSETS | 1 | GetLinkedAssetsUC | Get linked assets |
619
+ | IS_ASSET_FETCHED | 1 | IsAssetFetchedUC | Check asset fetched |
620
+ | SUBMIT_ACTIVITY_ASSET | 1 | SubmitActivityAssetUC | Submit activity asset |
621
+ | SHOW_ALERT | 1 | ShowAlertUC | Display alert dialog |
622
+ | SHOW_CONFIRM | 1 | ShowConfirmUC | Display confirm dialog |
623
+ | SHOW_MARKDOWN_EDITOR | 1 | ShowMarkdownEditorUC | Show markdown editor |
624
+ | SHOW_SELECT_MODEL | 1 | ShowSelectModelUC | Show model selection |
625
+ | SHOW_SPINNER | 1 | ShowSpinnerUC | Toggle loading spinner |
626
+ | SUBMIT_RESULTS | 1 | SubmitResultResultUC | Submit activity results |
627
+ | START_ZSPACE | 1 | DispatchStartZSpaceUC | Start ZSpace mode |
628
+ | STOP_ZSPACE | 1 | DispatchStopZSpaceUC | Stop ZSpace mode |
629
+ | IS_ZSPACE_AVAILABLE | 1 | IsZSpaceAvailableUC | Check ZSpace available |
630
+ | SUBMIT_LOG | 1 | LogUC | Send log message |
631
+ | REGISTER_EXTERNAL_STYLESHEETS | 1 | RegisterExternalStylesheetsUC | Register CSS files |
632
+
633
+ ## AI Agent Guidelines
634
+
635
+ When working with the Dispatcher feature:
636
+
637
+ 1. **Identify the operation** - Determine what host interaction is needed
638
+ 2. **Find the appropriate UC** - Reference the component summary or request type table
639
+ 3. **Check dependencies** - Ensure AppDispatcher is set up in the AppObjectRepo
640
+ 4. **Use type-safe APIs** - Follow the UC interfaces and DTOs
641
+ 5. **Handle errors gracefully** - Many UCs return Promises that can reject
642
+ 6. **Test with mocks** - Use provided mock implementations for isolated testing
643
+ 7. **Follow naming conventions** - UCs are PascalCase, factories/functions are camelCase
644
+ 8. **Document request versions** - Note which API version each request uses
645
+
646
+ For new functionality, extend by:
647
+ 1. Creating a new UC extending `AppObjectUC`
648
+ 2. Defining `requestType` and `requestVersion`
649
+ 3. Implementing dispatch logic using AppDispatcher
650
+ 4. Adding to DispatcherFeatureFactory's `setupUCs()`
651
+ 5. Creating corresponding mock for testing
652
+ 6. Writing comprehensive tests following AAA pattern