@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.
- package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
- package/dist/cjs/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
- package/dist/cjs/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.js +6 -9
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsReviewingPM.js +6 -9
- package/dist/cjs/BaseApp/PM/IsReviewingPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/PM/SlideTextPM.js +6 -5
- package/dist/cjs/BaseApp/PM/SlideTextPM.js.map +1 -1
- package/dist/cjs/BaseApp/PM/SlideTextPM.test.js +2 -6
- package/dist/cjs/BaseApp/PM/SlideTextPM.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +1 -0
- package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js +1 -1
- package/dist/cjs/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
- package/dist/cjs/Callouts/Factories/calloutFactory.test.js +6 -0
- package/dist/cjs/Callouts/Factories/calloutFactory.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
- package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/cjs/Callouts/UC/SerializeCallouts.js +1 -1
- package/dist/cjs/Callouts/UC/SerializeCallouts.js.map +1 -1
- package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/cjs/Challenge/UCs/SerializeChallenge.js +1 -1
- package/dist/cjs/Challenge/UCs/SerializeChallenge.js.map +1 -1
- package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
- package/dist/cjs/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js +6 -5
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
- package/dist/cjs/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
- package/dist/cjs/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
- package/dist/cjs/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
- package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js +1 -1
- package/dist/cjs/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.js +7 -0
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js +31 -0
- package/dist/cjs/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
- package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
- package/dist/cjs/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js +2 -2
- package/dist/cjs/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js +5 -5
- package/dist/cjs/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
- package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
- package/dist/cjs/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
- package/dist/cjs/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
- package/dist/cjs/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
- package/dist/cjs/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
- package/dist/cjs/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
- package/dist/cjs/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
- package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
- package/dist/cjs/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
- package/dist/cjs/Enablement/PM/EnabledStatePM.js +5 -9
- package/dist/cjs/Enablement/PM/EnabledStatePM.js.map +1 -1
- package/dist/cjs/Enablement/PM/EnabledStatePM.test.js +1 -0
- package/dist/cjs/Enablement/PM/EnabledStatePM.test.js.map +1 -1
- package/dist/cjs/Environment/UCs/SerializeEnvironment.js +1 -1
- package/dist/cjs/Environment/UCs/SerializeEnvironment.js.map +1 -1
- package/dist/cjs/Hideable/Factories/setupHideable.test.js +6 -0
- package/dist/cjs/Hideable/Factories/setupHideable.test.js.map +1 -1
- package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js +1 -1
- package/dist/cjs/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
- package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
- package/dist/cjs/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
- package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/cjs/Label/Controller/submitCustomLabel.test.js +3 -0
- package/dist/cjs/Label/Controller/submitCustomLabel.test.js.map +1 -1
- package/dist/cjs/Label/Controller/updateCustomLabel.test.js +3 -0
- package/dist/cjs/Label/Controller/updateCustomLabel.test.js.map +1 -1
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +0 -7
- package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/Label/UC/SerializeCustomLabels.js +1 -1
- package/dist/cjs/Label/UC/SerializeCustomLabels.js.map +1 -1
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +0 -7
- package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
- package/dist/cjs/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
- package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/cjs/Landmarks/PM/LandmarkSizePM.js +5 -8
- package/dist/cjs/Landmarks/PM/LandmarkSizePM.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js +1 -1
- package/dist/cjs/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
- package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
- package/dist/cjs/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
- package/dist/cjs/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
- package/dist/cjs/Question/UC/SerializeQuestionChallenge.js +1 -1
- package/dist/cjs/Question/UC/SerializeQuestionChallenge.js.map +1 -1
- package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
- package/dist/cjs/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
- package/dist/cjs/RequestHandler/Entities/AppHandler.js +4 -0
- package/dist/cjs/RequestHandler/Entities/AppHandler.js.map +1 -1
- package/dist/cjs/RequestHandler/Entities/AppHandler.test.js +27 -0
- package/dist/cjs/RequestHandler/Entities/AppHandler.test.js.map +1 -1
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +128 -0
- package/dist/cjs/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
- package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
- package/dist/cjs/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
- package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js +1 -1
- package/dist/cjs/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
- package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
- package/dist/cjs/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
- package/dist/cjs/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js +21 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js +34 -0
- package/dist/cjs/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
- package/dist/cjs/StateMachine/Controller/index.js +1 -1
- package/dist/cjs/StateMachine/Controller/index.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.js +26 -4
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js +23 -4
- package/dist/cjs/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
- package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/cjs/StoredView/PM/HasStoredViewPM.js +6 -10
- package/dist/cjs/StoredView/PM/HasStoredViewPM.js.map +1 -1
- package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js +1 -0
- package/dist/cjs/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
- package/dist/cjs/StoredView/UC/SerializeStoredView.js +1 -1
- package/dist/cjs/StoredView/UC/SerializeStoredView.js.map +1 -1
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js +7 -6
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
- package/dist/cjs/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
- package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js +1 -1
- package/dist/cjs/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js +6 -5
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
- package/dist/cjs/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js +6 -5
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
- package/dist/cjs/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
- package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js +3 -0
- package/dist/esm/Babylon/Adapters/showBabylonInspectorAdapter.test.js.map +1 -1
- package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
- package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
- package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js +9 -6
- package/dist/esm/Babylon/PM/ShowBabylonInspectorPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsAuthoringPM.js +7 -10
- package/dist/esm/BaseApp/PM/IsAuthoringPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/IsAuthoringPM.test.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsReviewingPM.js +7 -10
- package/dist/esm/BaseApp/PM/IsReviewingPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/IsReviewingPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/IsReviewingPM.test.js.map +1 -1
- package/dist/esm/BaseApp/PM/SlideTextPM.js +7 -6
- package/dist/esm/BaseApp/PM/SlideTextPM.js.map +1 -1
- package/dist/esm/BaseApp/PM/SlideTextPM.test.js +2 -6
- package/dist/esm/BaseApp/PM/SlideTextPM.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +1 -0
- package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/SerializeBaseAppState.js +1 -1
- package/dist/esm/BaseApp/UC/SerializeBaseAppState.js.map +1 -1
- package/dist/esm/Callouts/Factories/calloutFactory.test.js +6 -0
- package/dist/esm/Callouts/Factories/calloutFactory.test.js.map +1 -1
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +8 -9
- package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
- package/dist/esm/Callouts/UC/SerializeCallouts.js +1 -1
- package/dist/esm/Callouts/UC/SerializeCallouts.js.map +1 -1
- package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
- package/dist/esm/Challenge/UCs/SerializeChallenge.js +1 -1
- package/dist/esm/Challenge/UCs/SerializeChallenge.js.map +1 -1
- package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js +3 -2
- package/dist/esm/Challenge/UCs/ShowChallengeHelpUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.js +7 -6
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js +2 -6
- package/dist/esm/ChannelModel/PMs/ActiveModelPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js +5 -3
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelHasCalloutsPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js +3 -7
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelHasLandmarksPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js +3 -9
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreHiddenPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js +3 -7
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsAreStickablePM.test.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js +3 -9
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.js.map +1 -1
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js +1 -0
- package/dist/esm/ChannelModel/PMs/ModelObjectsHaveOverlayPM.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js +6 -6
- package/dist/esm/ChannelModel/UC/LoadChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +1 -1
- package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
- package/dist/esm/ChannelModel/UC/SerializeActiveModel.js +1 -1
- package/dist/esm/ChannelModel/UC/SerializeActiveModel.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/AppDispatcher.js +7 -0
- package/dist/esm/Dispatcher/Entities/AppDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js +31 -0
- package/dist/esm/Dispatcher/Entities/AppDispatcher.test.js.map +1 -1
- package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js +3 -1
- package/dist/esm/Dispatcher/Factories/DispatcherFeatureFactory.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/GetAssetBlobURLUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/GetLinkedAssetsUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockDispatcher.js +2 -2
- package/dist/esm/Dispatcher/Mocks/MockDispatcher.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockGetAssetFolderURL.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowAlert.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowAlert.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowConfirm.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowMarkdown.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js +1 -1
- package/dist/esm/Dispatcher/Mocks/MockShowSpinner.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js +5 -5
- package/dist/esm/Dispatcher/Mocks/MockSubmitResult.js.map +1 -1
- package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js +1 -1
- package/dist/esm/Dispatcher/Mocks/ShowSelectModelUCMock.js.map +1 -1
- package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/AppIsReadyUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js +2 -1
- package/dist/esm/Dispatcher/UC/DispatchStartZSpaceUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js +1 -0
- package/dist/esm/Dispatcher/UC/DispatchStateChangeUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js +2 -1
- package/dist/esm/Dispatcher/UC/DispatchStopZSpaceUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetBlobURLUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetFolderURLUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetMetaUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetAssetsForOwnerUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GetLinkedAssetsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GoToNextStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/GoToPreviousStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/HasNextStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/HasPreviousStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/IsAssetFetchedUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/IsZSpaceAvailableUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/RegisterExternalStylesheetsUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/RestoreCurrentStateUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js +3 -1
- package/dist/esm/Dispatcher/UC/StateIsCompleteUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js +5 -3
- package/dist/esm/Dispatcher/UC/SubmitActivityAssetUC.test.js.map +1 -1
- package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js +11 -5
- package/dist/esm/Dispatcher/UC/SubmitResultResultUC.test.js.map +1 -1
- package/dist/esm/Enablement/PM/EnabledStatePM.js +5 -9
- package/dist/esm/Enablement/PM/EnabledStatePM.js.map +1 -1
- package/dist/esm/Enablement/PM/EnabledStatePM.test.js +1 -0
- package/dist/esm/Enablement/PM/EnabledStatePM.test.js.map +1 -1
- package/dist/esm/Environment/UCs/SerializeEnvironment.js +1 -1
- package/dist/esm/Environment/UCs/SerializeEnvironment.js.map +1 -1
- package/dist/esm/Hideable/Factories/setupHideable.test.js +6 -0
- package/dist/esm/Hideable/Factories/setupHideable.test.js.map +1 -1
- package/dist/esm/Hideable/UCs/SerializeHideableObjects.js +1 -1
- package/dist/esm/Hideable/UCs/SerializeHideableObjects.js.map +1 -1
- package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js +1 -1
- package/dist/esm/HoverLabel/UseCases/SerializeAllowHoverLabel.js.map +1 -1
- package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
- package/dist/esm/Label/Controller/submitCustomLabel.test.js +3 -0
- package/dist/esm/Label/Controller/submitCustomLabel.test.js.map +1 -1
- package/dist/esm/Label/Controller/updateCustomLabel.test.js +3 -0
- package/dist/esm/Label/Controller/updateCustomLabel.test.js.map +1 -1
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +0 -7
- package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
- package/dist/esm/Label/UC/SerializeCustomLabels.js +1 -1
- package/dist/esm/Label/UC/SerializeCustomLabels.js.map +1 -1
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js +0 -7
- package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js +1 -1
- package/dist/esm/LabelDrop/UseCases/SerializeLabelDrop.js.map +1 -1
- package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
- package/dist/esm/Landmarks/PM/LandmarkSizePM.js +5 -8
- package/dist/esm/Landmarks/PM/LandmarkSizePM.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js +1 -1
- package/dist/esm/Landmarks/UseCases/SerializeLandmarks.js.map +1 -1
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +2 -0
- package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js +1 -1
- package/dist/esm/ObjectPick/UseCases/SerializeObjectPick.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
- package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
- package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js +1 -1
- package/dist/esm/OverlayColor/UC/SerializeOverlayColoredObjects.js.map +1 -1
- package/dist/esm/Question/UC/SerializeQuestionChallenge.js +1 -1
- package/dist/esm/Question/UC/SerializeQuestionChallenge.js.map +1 -1
- package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js +1 -0
- package/dist/esm/Question/UC/SubmitQuestionAnswerUC.test.js.map +1 -1
- package/dist/esm/RequestHandler/Entities/AppHandler.js +4 -0
- package/dist/esm/RequestHandler/Entities/AppHandler.js.map +1 -1
- package/dist/esm/RequestHandler/Entities/AppHandler.test.js +27 -0
- package/dist/esm/RequestHandler/Entities/AppHandler.test.js.map +1 -1
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js +28 -29
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.js.map +1 -1
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js +126 -0
- package/dist/esm/RequestHandler/Factories/RequestHandlerFeatureFactory.test.js.map +1 -0
- package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js +1 -0
- package/dist/esm/RequestHandler/Mocks/MockAppHandlerEntity.js.map +1 -1
- package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js +1 -1
- package/dist/esm/SceneRoot/UC/SerializeSceneRoot.js.map +1 -1
- package/dist/esm/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
- package/dist/esm/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
- package/dist/esm/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js +17 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.js.map +1 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js +32 -0
- package/dist/esm/StateMachine/Controller/clickRestorePreviousState.test.js.map +1 -0
- package/dist/esm/StateMachine/Controller/index.js +1 -1
- package/dist/esm/StateMachine/Controller/index.js.map +1 -1
- package/dist/esm/StateMachine/Entities/StateMachineEntity.js +26 -4
- package/dist/esm/StateMachine/Entities/StateMachineEntity.js.map +1 -1
- package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js +23 -4
- package/dist/esm/StateMachine/Entities/StateMachineEntity.test.js.map +1 -1
- package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
- package/dist/esm/StoredView/PM/HasStoredViewPM.js +7 -11
- package/dist/esm/StoredView/PM/HasStoredViewPM.js.map +1 -1
- package/dist/esm/StoredView/PM/HasStoredViewPM.test.js +1 -0
- package/dist/esm/StoredView/PM/HasStoredViewPM.test.js.map +1 -1
- package/dist/esm/StoredView/UC/SerializeStoredView.js +1 -1
- package/dist/esm/StoredView/UC/SerializeStoredView.js.map +1 -1
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.js +8 -7
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.js.map +1 -1
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js +2 -6
- package/dist/esm/Stylus/PMs/StylusIsInUsePM.test.js.map +1 -1
- package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
- package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
- package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js +1 -1
- package/dist/esm/Transparency/UCs/SerializeTransparentObjects.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js +7 -6
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js +4 -8
- package/dist/esm/zSpace/PM/ZSpaceIsEnabledPM.test.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js +7 -6
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.js.map +1 -1
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js +1 -0
- package/dist/esm/zSpace/PM/ZSpaceIsSupportedPM.test.js.map +1 -1
- package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts +3 -2
- package/dist/types/Babylon/PM/ShowBabylonInspectorPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/IsAuthoringPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/IsReviewingPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/IsReviewingPM.d.ts.map +1 -1
- package/dist/types/BaseApp/PM/SlideTextPM.d.ts +2 -2
- package/dist/types/BaseApp/PM/SlideTextPM.d.ts.map +1 -1
- package/dist/types/BaseApp/UC/SerializeBaseAppState.d.ts +1 -1
- package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts +1 -1
- package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts.map +1 -1
- package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts +1 -1
- package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts.map +1 -1
- package/dist/types/Callouts/UC/SerializeCallouts.d.ts +1 -1
- package/dist/types/Challenge/UCs/SerializeChallenge.d.ts +1 -1
- package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts +4 -3
- package/dist/types/ChannelModel/PMs/ActiveModelPM.d.ts.map +1 -1
- package/dist/types/ChannelModel/UC/SerializeActiveModel.d.ts +2 -2
- package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts +1 -0
- package/dist/types/Dispatcher/Entities/AppDispatcher.d.ts.map +1 -1
- package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts +1 -0
- package/dist/types/Dispatcher/Factories/DispatcherFeatureFactory.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/GetAssetBlobURLUCMock.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/GetLinkedAssetsUCMock.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts +2 -2
- package/dist/types/Dispatcher/Mocks/MockDispatcher.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockGetAssetFolderURL.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowAlert.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowConfirm.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowMarkdown.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts +1 -1
- package/dist/types/Dispatcher/Mocks/MockShowSpinner.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts +5 -5
- package/dist/types/Dispatcher/Mocks/MockSubmitResult.d.ts.map +1 -1
- package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts +4 -1
- package/dist/types/Dispatcher/Mocks/ShowSelectModelUCMock.d.ts.map +1 -1
- package/dist/types/Environment/UCs/SerializeEnvironment.d.ts +1 -1
- package/dist/types/Hideable/UCs/SerializeHideableObjects.d.ts +2 -2
- package/dist/types/HoverLabel/UseCases/SerializeAllowHoverLabel.d.ts +1 -1
- package/dist/types/Label/UC/SerializeCustomLabels.d.ts +1 -2
- package/dist/types/Label/UC/SerializeCustomLabels.d.ts.map +1 -1
- package/dist/types/LabelDrop/UseCases/SerializeLabelDrop.d.ts +1 -1
- package/dist/types/Landmarks/UseCases/SerializeLandmarks.d.ts +1 -1
- package/dist/types/ObjectPick/UseCases/SerializeObjectPick.d.ts +1 -1
- package/dist/types/OverlayColor/UC/SerializeOverlayColoredObjects.d.ts +2 -2
- package/dist/types/Question/UC/SerializeQuestionChallenge.d.ts +1 -1
- package/dist/types/RequestHandler/Entities/AppHandler.d.ts +1 -0
- package/dist/types/RequestHandler/Entities/AppHandler.d.ts.map +1 -1
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts +19 -20
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.d.ts.map +1 -1
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts +2 -0
- package/dist/types/RequestHandler/Factories/RequestHandlerFeatureFactory.test.d.ts.map +1 -0
- package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts +1 -0
- package/dist/types/RequestHandler/Mocks/MockAppHandlerEntity.d.ts.map +1 -1
- package/dist/types/SceneRoot/UC/SerializeSceneRoot.d.ts +1 -1
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts +7 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.d.ts.map +1 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts +2 -0
- package/dist/types/StateMachine/Controller/clickRestorePreviousState.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Controller/index.d.ts +1 -1
- package/dist/types/StateMachine/Controller/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts +87 -2
- package/dist/types/StateMachine/Entities/StateMachineEntity.d.ts.map +1 -1
- package/dist/types/StoredView/PM/HasStoredViewPM.d.ts +2 -2
- package/dist/types/StoredView/PM/HasStoredViewPM.d.ts.map +1 -1
- package/dist/types/StoredView/UC/SerializeStoredView.d.ts +1 -1
- package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts +2 -2
- package/dist/types/Stylus/PMs/StylusIsInUsePM.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/MoveTransformUC.d.ts +3 -3
- package/dist/types/Transform3D/UC/MoveTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/PanTransformUC.d.ts +3 -3
- package/dist/types/Transform3D/UC/PanTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts +1 -1
- package/dist/types/Transform3D/UC/TryMoveTransformUC.d.ts.map +1 -1
- package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts +2 -2
- package/dist/types/Transform3D/UC/TryPanTransformUC.d.ts.map +1 -1
- package/dist/types/Transparency/UCs/SerializeTransparentObjects.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsEnabledPM.d.ts.map +1 -1
- package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts +2 -2
- package/dist/types/zSpace/PM/ZSpaceIsSupportedPM.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/Dispatcher/README.md +652 -0
- package/src/RequestHandler/README.md +790 -0
- package/src/StateMachine/README.md +430 -0
|
@@ -30,7 +30,7 @@ describe("State Machine Entity", () => {
|
|
|
30
30
|
expect(state.systems).toHaveLength(2);
|
|
31
31
|
const serializeState = state.systems[0];
|
|
32
32
|
expect(serializeState.name).toEqual("state1");
|
|
33
|
-
expect(serializeState.
|
|
33
|
+
expect(serializeState.serializationVersion).toEqual(1);
|
|
34
34
|
expect(serializeState.state).toEqual({ foo: "bar" });
|
|
35
35
|
});
|
|
36
36
|
it("Skips a serialized state that returns undefined", () => {
|
|
@@ -50,6 +50,25 @@ describe("State Machine Entity", () => {
|
|
|
50
50
|
foo: "bar1",
|
|
51
51
|
}, 1, 3);
|
|
52
52
|
});
|
|
53
|
+
it("Set serialized state with old misspelled property name for backwards compatibility", () => {
|
|
54
|
+
const { stateMachine, mockSerializedSystem1 } = makeTestRig();
|
|
55
|
+
const state = {
|
|
56
|
+
version: 2,
|
|
57
|
+
systems: [
|
|
58
|
+
{
|
|
59
|
+
name: "state1",
|
|
60
|
+
seriliziationVersion: 1,
|
|
61
|
+
state: {
|
|
62
|
+
foo: "bar1",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
stateMachine.setSerializedStates(state, 3);
|
|
68
|
+
expect(mockSerializedSystem1.applySystemState).toHaveBeenCalledWith({
|
|
69
|
+
foo: "bar1",
|
|
70
|
+
}, 1, 3);
|
|
71
|
+
});
|
|
53
72
|
it("Submits an warning if trying to deserialize data with a bad version number", () => {
|
|
54
73
|
const { stateMachine } = makeTestRig();
|
|
55
74
|
stateMachine.warn = jest.fn();
|
|
@@ -149,14 +168,14 @@ function makeSerializedState() {
|
|
|
149
168
|
systems: [
|
|
150
169
|
{
|
|
151
170
|
name: "state1",
|
|
152
|
-
|
|
171
|
+
serializationVersion: 1,
|
|
153
172
|
state: {
|
|
154
173
|
foo: "bar1",
|
|
155
174
|
},
|
|
156
175
|
},
|
|
157
176
|
{
|
|
158
177
|
name: "state2",
|
|
159
|
-
|
|
178
|
+
serializationVersion: 1,
|
|
160
179
|
state: {
|
|
161
180
|
foo: "bar2",
|
|
162
181
|
},
|
|
@@ -166,7 +185,7 @@ function makeSerializedState() {
|
|
|
166
185
|
}
|
|
167
186
|
class MockSerializedSystem {
|
|
168
187
|
constructor() {
|
|
169
|
-
this.
|
|
188
|
+
this.serializationVersion = 1;
|
|
170
189
|
this.name = "mockSystem";
|
|
171
190
|
this.getSystemState = () => {
|
|
172
191
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMachineEntity.test.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/StateMachineEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeStateMachineEntity,\n SerializedStates,\n SerializedSystem,\n StateMachineEntity,\n} from \"./StateMachineEntity\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const appAO = appObjects.getOrCreate(\"App\");\n\n const stateMachine = makeStateMachineEntity(appAO);\n const stateAppliedObserver = jest.fn();\n stateMachine.addChangeObserver(stateAppliedObserver);\n\n const mockSerializedSystem1 = new MockSerializedSystem();\n mockSerializedSystem1.name = \"state1\";\n stateMachine.registerSerializedSystem(mockSerializedSystem1);\n\n const mockSerializedSystem2 = new MockSerializedSystem();\n mockSerializedSystem2.name = \"state2\";\n stateMachine.registerSerializedSystem(mockSerializedSystem2);\n\n return {\n stateMachine,\n mockSerializedSystem1,\n mockSerializedSystem2,\n stateAppliedObserver,\n appObjects,\n };\n}\n\ndescribe(\"State Machine Entity\", () => {\n it(\"Gets a serialized state\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = stateMachine.getSerializedStates();\n\n expect(state.version).toEqual(2);\n expect(state.systems).toHaveLength(2);\n\n const serializeState = state.systems[0] as any;\n expect(serializeState.name).toEqual(\"state1\");\n expect(serializeState.seriliziationVersion).toEqual(1);\n expect(serializeState.state).toEqual({ foo: \"bar\" });\n });\n\n it(\"Skips a serialized state that returns undefined\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n mockSerializedSystem1.getSystemState = () => {\n return undefined;\n };\n\n const state = stateMachine.getSerializedStates();\n\n expect(state.version).toEqual(2);\n expect(state.systems).toHaveLength(1);\n });\n\n it(\"Set serialized state\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n const state = makeSerializedState();\n\n stateMachine.setSerializedStates(state, 3);\n\n expect(mockSerializedSystem1.applySystemState).toHaveBeenCalledWith(\n {\n foo: \"bar1\",\n },\n 1,\n 3,\n );\n });\n\n it(\"Submits an warning if trying to deserialize data with a bad version number\", () => {\n const { stateMachine } = makeTestRig();\n stateMachine.warn = jest.fn();\n const state: SerializedStates = {\n version: -1,\n systems: [],\n };\n\n stateMachine.setSerializedStates(state, 0);\n\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Sets an empty state\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n stateMachine.setDefaultState(3);\n\n expect(mockSerializedSystem1.applyDefaultState).toHaveBeenCalledWith(3);\n });\n\n it(\"Logs an error if adding two systems with the same name\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n stateMachine.warn = jest.fn();\n stateMachine.registerSerializedSystem(mockSerializedSystem1);\n\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Sets the default state and warns when passing in junk\", () => {\n const { mockSerializedSystem1, stateMachine } = makeTestRig();\n stateMachine.warn = jest.fn();\n stateMachine.applySerializedStatesString(\"your mom goes to college\", 5);\n\n expect(mockSerializedSystem1.applyDefaultState).toHaveBeenCalledWith(5);\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Set to default if a system is not in the saved state \", () => {\n const { stateMachine } = makeTestRig();\n const state = makeSerializedState();\n\n const secondSystem = new MockSerializedSystem();\n secondSystem.name = \"second system\";\n stateMachine.registerSerializedSystem(secondSystem);\n\n stateMachine.setSerializedStates(state, 3);\n\n expect(secondSystem.applyDefaultState).toHaveBeenCalledWith(3);\n });\n\n it(\"Notifies after a state has been applied\", () => {\n const { stateMachine, stateAppliedObserver } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n expect(stateAppliedObserver).toHaveBeenCalled();\n });\n\n it(\"Notifies after an empty state has been set\", () => {\n const { stateMachine, stateAppliedObserver } = makeTestRig();\n\n stateMachine.setDefaultState(3);\n\n expect(stateAppliedObserver).toHaveBeenCalled();\n });\n\n it(\"Gets the entity\", () => {\n const { stateMachine, appObjects } = makeTestRig();\n\n expect(StateMachineEntity.get(appObjects)).toEqual(stateMachine);\n });\n\n it(\"Set serialized state in the order that they are added\", () => {\n const { stateMachine, mockSerializedSystem1, mockSerializedSystem2 } =\n makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n const system1Order =\n mockSerializedSystem1.applySystemState.mock.invocationCallOrder[0];\n const system2Order =\n mockSerializedSystem2.applySystemState.mock.invocationCallOrder[0];\n\n expect(system1Order).toBeLessThan(system2Order);\n });\n\n it(\"Sets the default before setting states\", () => {\n const { stateMachine, mockSerializedSystem1, mockSerializedSystem2 } =\n makeTestRig();\n\n const state = makeSerializedState();\n state.systems = [state.systems[0]]; // Removed state 2 data\n\n stateMachine.setSerializedStates(state, 3);\n\n const setSystemOrder =\n mockSerializedSystem1.applySystemState.mock.invocationCallOrder[0];\n\n const setDefaultOrder =\n mockSerializedSystem2.applyDefaultState.mock.invocationCallOrder[0];\n\n expect(setDefaultOrder).toBeLessThan(setSystemOrder);\n });\n\n it(\"Restores the last state\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n stateMachine.setSerializedStates = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setSerializedStates).toHaveBeenCalledWith(\n state,\n stateMachine.restoreDurationS,\n );\n });\n\n it(\"Sets it to default if restore is called before a state is set\", () => {\n const { stateMachine } = makeTestRig();\n\n stateMachine.setDefaultState = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setDefaultState).toHaveBeenCalled();\n });\n\n it(\"Sets it to default if restore is called after a state is set and the default is set\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n stateMachine.setDefaultState(5);\n\n stateMachine.setDefaultState = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setDefaultState).toHaveBeenCalled();\n });\n});\n\nfunction makeSerializedState(): SerializedStates {\n return {\n version: 2,\n systems: [\n {\n name: \"state1\",\n seriliziationVersion: 1,\n state: {\n foo: \"bar1\",\n },\n },\n {\n name: \"state2\",\n seriliziationVersion: 1,\n state: {\n foo: \"bar2\",\n },\n },\n ],\n };\n}\n\nclass MockSerializedSystem implements SerializedSystem {\n seriliziationVersion = 1;\n\n public name = \"mockSystem\";\n\n getSystemState = (): object | undefined => {\n return {\n foo: \"bar\",\n };\n };\n\n applyDefaultState = jest.fn();\n\n applySystemState = jest.fn();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StateMachineEntity.test.js","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/StateMachineEntity.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeStateMachineEntity,\n SerializedStates,\n SerializedSystem,\n StateMachineEntity,\n} from \"./StateMachineEntity\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const appAO = appObjects.getOrCreate(\"App\");\n\n const stateMachine = makeStateMachineEntity(appAO);\n const stateAppliedObserver = jest.fn();\n stateMachine.addChangeObserver(stateAppliedObserver);\n\n const mockSerializedSystem1 = new MockSerializedSystem();\n mockSerializedSystem1.name = \"state1\";\n stateMachine.registerSerializedSystem(mockSerializedSystem1);\n\n const mockSerializedSystem2 = new MockSerializedSystem();\n mockSerializedSystem2.name = \"state2\";\n stateMachine.registerSerializedSystem(mockSerializedSystem2);\n\n return {\n stateMachine,\n mockSerializedSystem1,\n mockSerializedSystem2,\n stateAppliedObserver,\n appObjects,\n };\n}\n\ndescribe(\"State Machine Entity\", () => {\n it(\"Gets a serialized state\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = stateMachine.getSerializedStates();\n\n expect(state.version).toEqual(2);\n expect(state.systems).toHaveLength(2);\n\n const serializeState = state.systems[0] as any;\n expect(serializeState.name).toEqual(\"state1\");\n expect(serializeState.serializationVersion).toEqual(1);\n expect(serializeState.state).toEqual({ foo: \"bar\" });\n });\n\n it(\"Skips a serialized state that returns undefined\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n mockSerializedSystem1.getSystemState = () => {\n return undefined;\n };\n\n const state = stateMachine.getSerializedStates();\n\n expect(state.version).toEqual(2);\n expect(state.systems).toHaveLength(1);\n });\n\n it(\"Set serialized state\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n const state = makeSerializedState();\n\n stateMachine.setSerializedStates(state, 3);\n\n expect(mockSerializedSystem1.applySystemState).toHaveBeenCalledWith(\n {\n foo: \"bar1\",\n },\n 1,\n 3,\n );\n });\n\n it(\"Set serialized state with old misspelled property name for backwards compatibility\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n const state: SerializedStates = {\n version: 2,\n systems: [\n {\n name: \"state1\",\n seriliziationVersion: 1,\n state: {\n foo: \"bar1\",\n },\n } as any,\n ],\n };\n\n stateMachine.setSerializedStates(state, 3);\n\n expect(mockSerializedSystem1.applySystemState).toHaveBeenCalledWith(\n {\n foo: \"bar1\",\n },\n 1,\n 3,\n );\n });\n\n it(\"Submits an warning if trying to deserialize data with a bad version number\", () => {\n const { stateMachine } = makeTestRig();\n stateMachine.warn = jest.fn();\n const state: SerializedStates = {\n version: -1,\n systems: [],\n };\n\n stateMachine.setSerializedStates(state, 0);\n\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Sets an empty state\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n\n stateMachine.setDefaultState(3);\n\n expect(mockSerializedSystem1.applyDefaultState).toHaveBeenCalledWith(3);\n });\n\n it(\"Logs an error if adding two systems with the same name\", () => {\n const { stateMachine, mockSerializedSystem1 } = makeTestRig();\n stateMachine.warn = jest.fn();\n stateMachine.registerSerializedSystem(mockSerializedSystem1);\n\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Sets the default state and warns when passing in junk\", () => {\n const { mockSerializedSystem1, stateMachine } = makeTestRig();\n stateMachine.warn = jest.fn();\n stateMachine.applySerializedStatesString(\"your mom goes to college\", 5);\n\n expect(mockSerializedSystem1.applyDefaultState).toHaveBeenCalledWith(5);\n expect(stateMachine.warn).toHaveBeenCalled();\n });\n\n it(\"Set to default if a system is not in the saved state \", () => {\n const { stateMachine } = makeTestRig();\n const state = makeSerializedState();\n\n const secondSystem = new MockSerializedSystem();\n secondSystem.name = \"second system\";\n stateMachine.registerSerializedSystem(secondSystem);\n\n stateMachine.setSerializedStates(state, 3);\n\n expect(secondSystem.applyDefaultState).toHaveBeenCalledWith(3);\n });\n\n it(\"Notifies after a state has been applied\", () => {\n const { stateMachine, stateAppliedObserver } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n expect(stateAppliedObserver).toHaveBeenCalled();\n });\n\n it(\"Notifies after an empty state has been set\", () => {\n const { stateMachine, stateAppliedObserver } = makeTestRig();\n\n stateMachine.setDefaultState(3);\n\n expect(stateAppliedObserver).toHaveBeenCalled();\n });\n\n it(\"Gets the entity\", () => {\n const { stateMachine, appObjects } = makeTestRig();\n\n expect(StateMachineEntity.get(appObjects)).toEqual(stateMachine);\n });\n\n it(\"Set serialized state in the order that they are added\", () => {\n const { stateMachine, mockSerializedSystem1, mockSerializedSystem2 } =\n makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n const system1Order =\n mockSerializedSystem1.applySystemState.mock.invocationCallOrder[0];\n const system2Order =\n mockSerializedSystem2.applySystemState.mock.invocationCallOrder[0];\n\n expect(system1Order).toBeLessThan(system2Order);\n });\n\n it(\"Sets the default before setting states\", () => {\n const { stateMachine, mockSerializedSystem1, mockSerializedSystem2 } =\n makeTestRig();\n\n const state = makeSerializedState();\n state.systems = [state.systems[0]]; // Removed state 2 data\n\n stateMachine.setSerializedStates(state, 3);\n\n const setSystemOrder =\n mockSerializedSystem1.applySystemState.mock.invocationCallOrder[0];\n\n const setDefaultOrder =\n mockSerializedSystem2.applyDefaultState.mock.invocationCallOrder[0];\n\n expect(setDefaultOrder).toBeLessThan(setSystemOrder);\n });\n\n it(\"Restores the last state\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n\n stateMachine.setSerializedStates = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setSerializedStates).toHaveBeenCalledWith(\n state,\n stateMachine.restoreDurationS,\n );\n });\n\n it(\"Sets it to default if restore is called before a state is set\", () => {\n const { stateMachine } = makeTestRig();\n\n stateMachine.setDefaultState = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setDefaultState).toHaveBeenCalled();\n });\n\n it(\"Sets it to default if restore is called after a state is set and the default is set\", () => {\n const { stateMachine } = makeTestRig();\n\n const state = makeSerializedState();\n stateMachine.setSerializedStates(state, 3);\n stateMachine.setDefaultState(5);\n\n stateMachine.setDefaultState = jest.fn();\n\n stateMachine.restoreLastState();\n\n expect(stateMachine.setDefaultState).toHaveBeenCalled();\n });\n});\n\nfunction makeSerializedState(): SerializedStates {\n return {\n version: 2,\n systems: [\n {\n name: \"state1\",\n serializationVersion: 1,\n state: {\n foo: \"bar1\",\n },\n },\n {\n name: \"state2\",\n serializationVersion: 1,\n state: {\n foo: \"bar2\",\n },\n },\n ],\n };\n}\n\nclass MockSerializedSystem implements SerializedSystem {\n serializationVersion = 1;\n\n public name = \"mockSystem\";\n\n getSystemState = (): object | undefined => {\n return {\n foo: \"bar\",\n };\n };\n\n applyDefaultState = jest.fn();\n\n applySystemState = jest.fn();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryStickAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/TryStickAppObjectUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockScenePixelPickUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon\";\nimport { makeToolRepo, ToolState } from \"../../Tools\";\nimport { StickUCMock } from \"../Mocks/StickUCMock\";\nimport {\n makeTryStickAppObjectUC,\n TryStickAppObjectUC,\n} from \"./TryStickAppObjectUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingleton = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"AO\");\n const uc = makeTryStickAppObjectUC(ao);\n\n const stickableObj = appObjects.getOrCreate(\"stickableObj\");\n const mockHideUC = new StickUCMock(stickableObj);\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"stickableObj\" });\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects);\n mockPixelPick.scenePixelPick = jest\n .fn()\n .mockReturnValue({ appObjectID: \"stickableObj\" });\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"Tool\"));\n const peelTool = toolRepo.makeTool(\"PEEL\");\n peelTool.state = ToolState.ACTIVE;\n\n return {\n appObjects,\n ao,\n mockHideUC,\n uc,\n registerSingleton,\n mockPick,\n mockPixelPick,\n peelTool,\n };\n}\n\ndescribe(\"Try Stick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TryStickAppObjectUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSingleton, uc } = makeTestRig();\n\n expect(registerSingleton).toHaveBeenCalledWith(uc);\n });\n\n it(\"Picks with the ray\", () => {\n const { uc, mockPick } = makeTestRig();\n\n const pickRay = ParametricLine.FromPointDirection(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)
|
|
1
|
+
{"version":3,"file":"TryStickAppObjectUC.test.js","sourceRoot":"","sources":["../../../../src/Stick/UCs/TryStickAppObjectUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockScenePixelPickUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon\";\nimport { makeToolRepo, ToolState } from \"../../Tools\";\nimport { StickUCMock } from \"../Mocks/StickUCMock\";\nimport {\n makeTryStickAppObjectUC,\n TryStickAppObjectUC,\n} from \"./TryStickAppObjectUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingleton = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"AO\");\n const uc = makeTryStickAppObjectUC(ao);\n\n const stickableObj = appObjects.getOrCreate(\"stickableObj\");\n const mockHideUC = new StickUCMock(stickableObj);\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"stickableObj\" });\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects);\n mockPixelPick.scenePixelPick = jest\n .fn()\n .mockReturnValue({ appObjectID: \"stickableObj\" });\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"Tool\"));\n const peelTool = toolRepo.makeTool(\"PEEL\");\n peelTool.state = ToolState.ACTIVE;\n\n return {\n appObjects,\n ao,\n mockHideUC,\n uc,\n registerSingleton,\n mockPick,\n mockPixelPick,\n peelTool,\n };\n}\n\ndescribe(\"Try Stick UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TryStickAppObjectUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSingleton, uc } = makeTestRig();\n\n expect(registerSingleton).toHaveBeenCalledWith(uc);\n });\n\n it(\"Picks with the ray\", () => {\n const { uc, mockPick } = makeTestRig();\n\n const pickRay = ParametricLine.FromPointDirection(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n\n uc.tryWithRay(pickRay);\n\n expect(mockPick).toHaveBeenCalledWith(pickRay);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(mockHideUC.doStick).toHaveBeenCalled();\n });\n\n it(\"Does not call on ray pick if not allowed\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(mockHideUC.doStick).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't warn if the picked object does not have the UC\", () => {\n const { uc, mockPick, appObjects } = makeTestRig();\n\n appObjects.submitWarning = jest.fn();\n appObjects.getOrCreate(\"SomeOtherObject\");\n mockPick.mockReturnValue({\n appObjectID: \"SomeOtherObject\",\n });\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(appObjects.submitWarning).not.toHaveBeenCalled();\n });\n\n it(\"Picks with a pixel\", () => {\n const { uc, mockPixelPick } = makeTestRig();\n\n const pickPixel = new Vector2(1, 2);\n\n uc.tryWithPixel(pickPixel);\n\n expect(mockPixelPick.scenePixelPick).toHaveBeenCalledWith(pickPixel);\n });\n\n it(\"Calls the UC with a pixel pick\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryWithPixel(Vector2.One());\n\n expect(mockHideUC.doStick).toHaveBeenCalled();\n });\n\n it(\"Does not call on pixel pick if not allowed\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithPixel(Vector2.One());\n\n expect(mockHideUC.doStick).not.toHaveBeenCalled();\n });\n\n it(\"Allows if the peel tool is active\", () => {\n const { uc, peelTool } = makeTestRig();\n\n peelTool.state = ToolState.ACTIVE;\n\n expect(uc.allow()).toEqual(true);\n\n peelTool.state = ToolState.ENABLED;\n\n expect(uc.allow()).toEqual(false);\n });\n});\n"]}
|
|
@@ -4,7 +4,7 @@ exports.HasStoredViewPM = void 0;
|
|
|
4
4
|
exports.makeHasStoredViewPM = makeHasStoredViewPM;
|
|
5
5
|
const core_1 = require("@vived/core");
|
|
6
6
|
const Entities_1 = require("../Entities");
|
|
7
|
-
class HasStoredViewPM extends core_1.
|
|
7
|
+
class HasStoredViewPM extends core_1.AppObjectSingletonPM {
|
|
8
8
|
}
|
|
9
9
|
exports.HasStoredViewPM = HasStoredViewPM;
|
|
10
10
|
HasStoredViewPM.type = "HasStoredViewPM";
|
|
@@ -21,19 +21,15 @@ class HasStoredViewPMImp extends HasStoredViewPM {
|
|
|
21
21
|
}
|
|
22
22
|
constructor(appObject) {
|
|
23
23
|
super(appObject, HasStoredViewPM.type);
|
|
24
|
-
this.
|
|
24
|
+
this.defaultVM = false;
|
|
25
|
+
this.formVM = () => {
|
|
25
26
|
if (!this.storedView)
|
|
26
27
|
return;
|
|
27
28
|
this.doUpdateView(this.storedView.hasStoredView);
|
|
28
29
|
};
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.storedView?.removeOnDisposeObserver(this.dispose);
|
|
33
|
-
};
|
|
34
|
-
this.storedView?.addChangeObserver(this.onRepoChange);
|
|
35
|
-
this.onRepoChange();
|
|
36
|
-
this.appObjects.registerSingleton(this);
|
|
30
|
+
if (this.storedView) {
|
|
31
|
+
this.observeEntity(this.storedView);
|
|
32
|
+
}
|
|
37
33
|
}
|
|
38
34
|
}
|
|
39
35
|
//# sourceMappingURL=HasStoredViewPM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HasStoredViewPM.js","sourceRoot":"","sources":["../../../../src/StoredView/PM/HasStoredViewPM.ts"],"names":[],"mappings":";;;AAeA,kDAEC;AAjBD,sCAKqB;AACrB,0CAAyC;AAEzC,MAAsB,eAAgB,SAAQ,
|
|
1
|
+
{"version":3,"file":"HasStoredViewPM.js","sourceRoot":"","sources":["../../../../src/StoredView/PM/HasStoredViewPM.ts"],"names":[],"mappings":";;;AAeA,kDAEC;AAjBD,sCAKqB;AACrB,0CAAyC;AAEzC,MAAsB,eAAgB,SAAQ,2BAA6B;;AAA3E,0CAKC;AAJiB,oBAAI,GAAG,iBAAiB,CAAC;AAElC,mBAAG,GAAG,CAAC,UAAyB,EAA+B,EAAE,CACtE,IAAA,4BAAqB,EAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG5D,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAG9C,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAa,qBAAU,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAhBzC,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { StoredView } from \"../Entities\";\n\nexport abstract class HasStoredViewPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"HasStoredViewPM\";\n\n static get = (appObjects: AppObjectRepo): HasStoredViewPM | undefined =>\n getSingletonComponent(HasStoredViewPM.type, appObjects);\n}\n\nexport function makeHasStoredViewPM(appObject: AppObject): HasStoredViewPM {\n return new HasStoredViewPMImp(appObject);\n}\n\nclass HasStoredViewPMImp extends HasStoredViewPM {\n defaultVM = false;\n\n private get storedView() {\n return this.getCachedSingleton<StoredView>(StoredView.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.storedView) return;\n this.doUpdateView(this.storedView.hasStoredView);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HasStoredViewPM.type);\n\n if (this.storedView) {\n this.observeEntity(this.storedView);\n }\n }\n}\n"]}
|
|
@@ -10,6 +10,7 @@ function makeTestRig() {
|
|
|
10
10
|
(0, SceneRoot_1.makeSceneRootEntity)(ao);
|
|
11
11
|
const storedView = (0, Entities_1.makeStoredView)(ao);
|
|
12
12
|
const pm = (0, HasStoredViewPM_1.makeHasStoredViewPM)(ao);
|
|
13
|
+
pm.addView(() => { });
|
|
13
14
|
return { storedView, pm, appObjects };
|
|
14
15
|
}
|
|
15
16
|
describe("Has Stored View Presentation Manager", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HasStoredViewPM.test.js","sourceRoot":"","sources":["../../../../src/StoredView/PM/HasStoredViewPM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+CAAsD;AACtD,0CAA6C;AAC7C,uDAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChD,IAAA,+BAAmB,EAAC,EAAE,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,IAAA,yBAAc,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,qCAAmB,EAAC,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,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,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;QACjC,UAAU,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC,cAAc,EAAE,CAAC;QAE5B,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,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeSceneRootEntity } from \"../../SceneRoot\";\nimport { makeStoredView } from \"../Entities\";\nimport { HasStoredViewPM, makeHasStoredViewPM } from \"./HasStoredViewPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"Scene Root\");\n makeSceneRootEntity(ao);\n const storedView = makeStoredView(ao);\n const pm = makeHasStoredViewPM(ao);\n return { storedView, pm, appObjects };\n}\n\ndescribe(\"Has Stored View Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(false);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, storedView } = makeTestRig();\n\n storedView.hasStoredView = false;\n storedView.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n storedView.hasStoredView = true;\n storedView.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(HasStoredViewPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"HasStoredViewPM.test.js","sourceRoot":"","sources":["../../../../src/StoredView/PM/HasStoredViewPM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,+CAAsD;AACtD,0CAA6C;AAC7C,uDAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChD,IAAA,+BAAmB,EAAC,EAAE,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,IAAA,yBAAc,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAA,qCAAmB,EAAC,EAAE,CAAC,CAAC;IACnC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,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,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;QACjC,UAAU,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC,cAAc,EAAE,CAAC;QAE5B,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,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeSceneRootEntity } from \"../../SceneRoot\";\nimport { makeStoredView } from \"../Entities\";\nimport { HasStoredViewPM, makeHasStoredViewPM } from \"./HasStoredViewPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"Scene Root\");\n makeSceneRootEntity(ao);\n const storedView = makeStoredView(ao);\n const pm = makeHasStoredViewPM(ao);\n pm.addView(() => {});\n return { storedView, pm, appObjects };\n}\n\ndescribe(\"Has Stored View Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(false);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, storedView } = makeTestRig();\n\n storedView.hasStoredView = false;\n storedView.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n storedView.hasStoredView = true;\n storedView.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(HasStoredViewPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
|
|
@@ -81,7 +81,7 @@ class SerializeStoredViewImp extends SerializeStoredView {
|
|
|
81
81
|
}
|
|
82
82
|
constructor(appObject) {
|
|
83
83
|
super(appObject, SerializeStoredView.type);
|
|
84
|
-
this.
|
|
84
|
+
this.serializationVersion = 1;
|
|
85
85
|
const stateMachine = StateMachineEntity_1.StateMachineEntity.get(appObject.appObjectRepo);
|
|
86
86
|
if (stateMachine) {
|
|
87
87
|
stateMachine.registerSerializedSystem(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializeStoredView.js","sourceRoot":"","sources":["../../../../src/StoredView/UC/SerializeStoredView.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { Quaternion, Vector3 } from \"@vived/core\";\nimport {\n SerializedSystem,\n StateMachineEntity,\n} from \"../../StateMachine/Entities/StateMachineEntity\";\nimport { StoredView } from \"../Entities/StoredView\";\nimport { RestoreStoredViewUC } from \"./RestoreStoredViewUC\";\n\nexport abstract class SerializeStoredView\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeStoredView\";\n name: string = \"storedView\";\n abstract
|
|
1
|
+
{"version":3,"file":"SerializeStoredView.js","sourceRoot":"","sources":["../../../../src/StoredView/UC/SerializeStoredView.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { Quaternion, Vector3 } from \"@vived/core\";\nimport {\n SerializedSystem,\n StateMachineEntity,\n} from \"../../StateMachine/Entities/StateMachineEntity\";\nimport { StoredView } from \"../Entities/StoredView\";\nimport { RestoreStoredViewUC } from \"./RestoreStoredViewUC\";\n\nexport abstract class SerializeStoredView\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeStoredView\";\n name: string = \"storedView\";\n abstract serializationVersion: number;\n abstract getSystemState(): object;\n abstract applySystemState(state: object, version: number): void;\n abstract applyDefaultState(transitionDuration: number): void;\n}\n\nexport function makeSerializeStoredView(\n appObject: AppObject,\n): SerializeStoredView {\n return new SerializeStoredViewImp(appObject);\n}\n\nclass SerializeStoredViewImp extends SerializeStoredView {\n serializationVersion = 1;\n\n private get storedView() {\n return this.getCachedSingleton<StoredView>(StoredView.type);\n }\n\n private get restoreStoredViewUC() {\n return this.getCachedSingleton<RestoreStoredViewUC>(\n RestoreStoredViewUC.type,\n );\n }\n\n getSystemState(): object {\n if (!this.storedView) {\n console.warn(\"[SerializeStoredView] No stored view entity\");\n return {};\n }\n\n const data: StoredViewDataV1 = {\n position: this.storedView.position.dto,\n rotation: this.storedView.rotation.dto,\n scale: this.storedView.scale,\n hasStoredView: this.storedView.hasStoredView,\n };\n\n return data;\n }\n\n applySystemState(serializedState: object, version: number): void {\n try {\n if (version === 1) {\n const castState = serializedState as StoredViewDataV1;\n this.applyV1Data(castState);\n } else {\n console.warn(\n `[SerializeStoredView] Unsupported version number ${version}. Defaulting`,\n );\n this.applyDefaultState();\n }\n } catch (e) {\n console.warn(\n `[SerializeStoredView] Caught when deserializing ${e}. Defaulting`,\n );\n this.applyDefaultState();\n }\n }\n\n applyDefaultState(): void {\n if (!this.storedView) {\n console.warn(\"[SerializeStoredView] No stored view entity\");\n return;\n }\n\n this.storedView.position = Vector3.Zero();\n this.storedView.rotation = Quaternion.Identity();\n this.storedView.scale = 1;\n this.storedView.hasStoredView = false;\n }\n\n private applyV1Data(data: StoredViewDataV1) {\n if (!this.storedView) {\n console.warn(\"[SerializeStoredView] No stored view entity\");\n return;\n }\n\n const pos = Vector3.FromDTO(data.position);\n const rot = Quaternion.FromDTO(data.rotation);\n\n this.storedView.position = pos;\n this.storedView.rotation = rot;\n this.storedView.scale = data.scale;\n this.storedView.hasStoredView = data.hasStoredView;\n\n if (data.hasStoredView) {\n this.restoreStoredViewUC?.restoreStoredView();\n }\n }\n\n constructor(appObject: AppObject) {\n super(appObject, SerializeStoredView.type);\n\n const stateMachine = StateMachineEntity.get(appObject.appObjectRepo);\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface StoredViewDataV1 {\n position: { x: number; y: number; z: number };\n rotation: { x: number; y: number; z: number; w: number };\n scale: number;\n hasStoredView: boolean;\n}\n"]}
|
|
@@ -4,7 +4,7 @@ exports.StylusIsInUsePM = void 0;
|
|
|
4
4
|
exports.makeStylusIsInUsePM = makeStylusIsInUsePM;
|
|
5
5
|
const core_1 = require("@vived/core");
|
|
6
6
|
const StylusEntity_1 = require("../Entity/StylusEntity");
|
|
7
|
-
class StylusIsInUsePM extends core_1.
|
|
7
|
+
class StylusIsInUsePM extends core_1.AppObjectSingletonPM {
|
|
8
8
|
}
|
|
9
9
|
exports.StylusIsInUsePM = StylusIsInUsePM;
|
|
10
10
|
StylusIsInUsePM.type = "StylusIsInUsePM";
|
|
@@ -13,25 +13,26 @@ function makeStylusIsInUsePM(appObject) {
|
|
|
13
13
|
return new StylusIsInUsePMImp(appObject);
|
|
14
14
|
}
|
|
15
15
|
class StylusIsInUsePMImp extends StylusIsInUsePM {
|
|
16
|
+
get stylus() {
|
|
17
|
+
return this.getCachedLocalComponent(StylusEntity_1.StylusEntity.type);
|
|
18
|
+
}
|
|
16
19
|
vmsAreEqual(a, b) {
|
|
17
20
|
return a === b;
|
|
18
21
|
}
|
|
19
22
|
constructor(appObject) {
|
|
20
23
|
super(appObject, StylusIsInUsePM.type);
|
|
21
|
-
this.
|
|
24
|
+
this.defaultVM = false;
|
|
25
|
+
this.formVM = () => {
|
|
22
26
|
if (!this.stylus)
|
|
23
27
|
return;
|
|
24
28
|
this.doUpdateView(this.stylus.isInUse);
|
|
25
29
|
};
|
|
26
|
-
this.stylus = appObject.getComponent(StylusEntity_1.StylusEntity.type);
|
|
27
30
|
if (this.stylus) {
|
|
28
|
-
this.
|
|
29
|
-
this.onStylusChange();
|
|
31
|
+
this.observeEntity(this.stylus);
|
|
30
32
|
}
|
|
31
33
|
else {
|
|
32
34
|
this.warn("App Object does not have a Stylus Entity");
|
|
33
35
|
}
|
|
34
|
-
this.appObjects.registerSingleton(this);
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
//# sourceMappingURL=StylusIsInUsePM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StylusIsInUsePM.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.ts"],"names":[],"mappings":";;;AAeA,kDAEC;AAjBD,sCAKqB;AACrB,yDAAsD;AAEtD,MAAsB,eAAgB,SAAQ,
|
|
1
|
+
{"version":3,"file":"StylusIsInUsePM.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.ts"],"names":[],"mappings":";;;AAeA,kDAEC;AAjBD,sCAKqB;AACrB,yDAAsD;AAEtD,MAAsB,eAAgB,SAAQ,2BAA6B;;AAA3E,0CAKC;AAJiB,oBAAI,GAAG,iBAAiB,CAAC;AAElC,mBAAG,GAAG,CAAC,UAAyB,EAA+B,EAAE,CACtE,IAAA,4BAAqB,EAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG5D,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAG9C,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAhBzC,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;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { StylusEntity } from \"../Entity/StylusEntity\";\n\nexport abstract class StylusIsInUsePM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"StylusIsInUsePM\";\n\n static get = (appObjects: AppObjectRepo): StylusIsInUsePM | undefined =>\n getSingletonComponent(StylusIsInUsePM.type, appObjects);\n}\n\nexport function makeStylusIsInUsePM(appObject: AppObject): StylusIsInUsePM {\n return new StylusIsInUsePMImp(appObject);\n}\n\nclass StylusIsInUsePMImp extends StylusIsInUsePM {\n defaultVM = false;\n\n private get stylus() {\n return this.getCachedLocalComponent<StylusEntity>(StylusEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.stylus) return;\n this.doUpdateView(this.stylus.isInUse);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, StylusIsInUsePM.type);\n\n if (this.stylus) {\n this.observeEntity(this.stylus);\n } else {\n this.warn(\"App Object does not have a Stylus Entity\");\n }\n }\n}\n"]}
|
|
@@ -6,11 +6,11 @@ const StylusEntity_1 = require("../Entity/StylusEntity");
|
|
|
6
6
|
const StylusIsInUsePM_1 = require("./StylusIsInUsePM");
|
|
7
7
|
function makeTestRig() {
|
|
8
8
|
const appObjects = (0, core_1.makeAppObjectRepo)();
|
|
9
|
-
const registerSingletonSpy = jest.spyOn(appObjects, "registerSingleton");
|
|
10
9
|
const stylusAO = appObjects.getOrCreate("Stylus");
|
|
11
10
|
const stylusEntity = (0, StylusEntity_1.makeStylusEntity)(stylusAO);
|
|
12
11
|
const pm = (0, StylusIsInUsePM_1.makeStylusIsInUsePM)(stylusAO);
|
|
13
|
-
|
|
12
|
+
pm.addView(() => { });
|
|
13
|
+
return { pm, stylusEntity, appObjects };
|
|
14
14
|
}
|
|
15
15
|
describe("Stylus is in use", () => {
|
|
16
16
|
it("Initializes the VM", () => {
|
|
@@ -34,10 +34,6 @@ describe("Stylus is in use", () => {
|
|
|
34
34
|
const lastVM = pm.lastVM;
|
|
35
35
|
expect(lastVM).toEqual(false);
|
|
36
36
|
});
|
|
37
|
-
it("Registers as a singleton", () => {
|
|
38
|
-
const { pm, registerSingletonSpy } = makeTestRig();
|
|
39
|
-
expect(registerSingletonSpy).toHaveBeenCalledWith(pm);
|
|
40
|
-
});
|
|
41
37
|
it("Gets the singleton", () => {
|
|
42
38
|
const { pm, appObjects } = makeTestRig();
|
|
43
39
|
expect(StylusIsInUsePM_1.StylusIsInUsePM.get(appObjects)).toEqual(pm);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StylusIsInUsePM.test.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAkD;AAClD,yDAA0D;AAC1D,uDAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StylusIsInUsePM.test.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAkD;AAClD,yDAA0D;AAC1D,uDAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAA,+BAAgB,EAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,IAAA,qCAAmB,EAAC,QAAQ,CAAC,CAAC;IACzC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,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,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAC3C,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,cAAO,CAAC,GAAG,EAAE,CAAC;QACrD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,iBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,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,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAC3C,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,cAAO,CAAC,GAAG,EAAE,CAAC;QACrD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,iBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,cAAO,CAAC,IAAI,EAAE,CAAC;QACtD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,iBAAU,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { Quaternion, Vector3 } from \"@vived/core\";\nimport { makeStylusEntity } from \"../Entity/StylusEntity\";\nimport { makeStylusIsInUsePM, StylusIsInUsePM } from \"./StylusIsInUsePM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const stylusAO = appObjects.getOrCreate(\"Stylus\");\n const stylusEntity = makeStylusEntity(stylusAO);\n const pm = makeStylusIsInUsePM(stylusAO);\n pm.addView(() => {});\n\n return { pm, stylusEntity, appObjects };\n}\n\ndescribe(\"Stylus is in use\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(false);\n });\n\n it(\"Updates is in use to true if the stylus has moved\", () => {\n const { pm, stylusEntity } = makeTestRig();\n stylusEntity.transform.worldPosition = Vector3.One();\n stylusEntity.transform.worldRotation = new Quaternion(1, 1, 1, 1);\n\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Updates is in use back to false\", () => {\n const { pm, stylusEntity } = makeTestRig();\n stylusEntity.transform.worldPosition = Vector3.One();\n stylusEntity.transform.worldRotation = new Quaternion(1, 1, 1, 1);\n\n stylusEntity.transform.worldPosition = Vector3.Zero();\n stylusEntity.transform.worldRotation = Quaternion.Identity();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(false);\n });\n\n it(\"Gets the singleton\", () => {\n const { pm, appObjects } = makeTestRig();\n\n expect(StylusIsInUsePM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmulateStylusUC.test.js","sourceRoot":"","sources":["../../../../src/Stylus/UCs/EmulateStylusUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon\";\nimport { makeMouseInput } from \"../../MouseInput\";\nimport { makeTouchInput } from \"../../TouchController\";\nimport { makeStylusEntity } from \"../Entity/StylusEntity\";\nimport { EmulateStylusUC, makeEmulateStylusUC } from \"./EmulateStylusUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\n\n const mouseInput = makeMouseInput(appObjects.getOrCreate(\"Mouse\"));\n const inputElement = document.createElement(\"div\");\n mouseInput.setEventElement(inputElement);\n\n const touchInout = makeTouchInput(appObjects.getOrCreate(\"Touch\"));\n touchInout.setEventElement(inputElement);\n\n const ao = appObjects.getOrCreate(\"Stylus\");\n const stylus = makeStylusEntity(ao);\n const uc = makeEmulateStylusUC(ao);\n\n const mockSceneRay = makeMockPixelToSceneRayUC(appObjects);\n mockSceneRay.pixelToSceneRay = jest\n .fn()\n .mockReturnValue(\n ParametricLine.FromPointDirection(\n new Vector3(1, 1, -1),\n Vector3.Forward()\n )\n );\n\n return {\n uc,\n appObjects,\n registerSingletonSpy,\n mouseInput,\n inputElement,\n stylus,\n touchInout,\n };\n}\n\ndescribe(\"Emulate Stylus UC\", () => {\n it(\"Registers as a singleton\", () => {\n const { uc, registerSingletonSpy } = makeTestRig();\n\n expect(registerSingletonSpy).toHaveBeenCalledWith(uc);\n });\n\n it(\"Gets the singleton\", () => {\n const { uc, appObjects } = makeTestRig();\n\n expect(EmulateStylusUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Can be started and stopped\", () => {\n const { uc } = makeTestRig();\n\n expect(uc.isEmulating).toEqual(false);\n\n uc.startEmulating();\n\n expect(uc.isEmulating).toEqual(true);\n\n uc.stopEmulating();\n\n expect(uc.isEmulating).toEqual(false);\n });\n\n it(\"Steals the input element from the mouse input\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only steals once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Clears the input element from the touch input\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only clears once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the mouse input element when stopped\", () => {\n const { uc, mouseInput, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the mouse once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the touch input element when stopped\", () => {\n const { uc, touchInout, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the touch once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Sends mouse down to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, true);\n });\n\n it(\"Stops sending mouse down after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Sends mouse up to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, false);\n });\n\n it(\"Stops sending mouse up after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Rotates the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops rotating the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).toEqual(Quaternion.Identity());\n });\n\n it(\"Bumps to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps down when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n\n it(\"Bumps up when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"EmulateStylusUC.test.js","sourceRoot":"","sources":["../../../../src/Stylus/UCs/EmulateStylusUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Quaternion, Vector3 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon\";\nimport { makeMouseInput } from \"../../MouseInput\";\nimport { makeTouchInput } from \"../../TouchController\";\nimport { makeStylusEntity } from \"../Entity/StylusEntity\";\nimport { EmulateStylusUC, makeEmulateStylusUC } from \"./EmulateStylusUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\n\n const mouseInput = makeMouseInput(appObjects.getOrCreate(\"Mouse\"));\n const inputElement = document.createElement(\"div\");\n mouseInput.setEventElement(inputElement);\n\n const touchInout = makeTouchInput(appObjects.getOrCreate(\"Touch\"));\n touchInout.setEventElement(inputElement);\n\n const ao = appObjects.getOrCreate(\"Stylus\");\n const stylus = makeStylusEntity(ao);\n const uc = makeEmulateStylusUC(ao);\n\n const mockSceneRay = makeMockPixelToSceneRayUC(appObjects);\n mockSceneRay.pixelToSceneRay = jest\n .fn()\n .mockReturnValue(\n ParametricLine.FromPointDirection(\n new Vector3(1, 1, -1),\n Vector3.Forward(),\n ),\n );\n\n return {\n uc,\n appObjects,\n registerSingletonSpy,\n mouseInput,\n inputElement,\n stylus,\n touchInout,\n };\n}\n\ndescribe(\"Emulate Stylus UC\", () => {\n it(\"Registers as a singleton\", () => {\n const { uc, registerSingletonSpy } = makeTestRig();\n\n expect(registerSingletonSpy).toHaveBeenCalledWith(uc);\n });\n\n it(\"Gets the singleton\", () => {\n const { uc, appObjects } = makeTestRig();\n\n expect(EmulateStylusUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Can be started and stopped\", () => {\n const { uc } = makeTestRig();\n\n expect(uc.isEmulating).toEqual(false);\n\n uc.startEmulating();\n\n expect(uc.isEmulating).toEqual(true);\n\n uc.stopEmulating();\n\n expect(uc.isEmulating).toEqual(false);\n });\n\n it(\"Steals the input element from the mouse input\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only steals once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(mouseInput, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Clears the input element from the touch input\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalled();\n });\n\n it(\"Only clears once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const clearInputElementSpy = jest.spyOn(touchInout, \"clearInputElement\");\n\n uc.startEmulating();\n uc.startEmulating();\n uc.startEmulating();\n\n expect(clearInputElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the mouse input element when stopped\", () => {\n const { uc, mouseInput, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the mouse once\", () => {\n const { uc, mouseInput } = makeTestRig();\n\n const setElementSpy = jest.spyOn(mouseInput, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Returns the touch input element when stopped\", () => {\n const { uc, touchInout, inputElement } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledWith(inputElement);\n });\n\n it(\"Only returns to the touch once\", () => {\n const { uc, touchInout } = makeTestRig();\n\n const setElementSpy = jest.spyOn(touchInout, \"setEventElement\");\n\n uc.startEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n uc.stopEmulating();\n\n expect(setElementSpy).toHaveBeenCalledTimes(1);\n });\n\n it(\"Sends mouse down to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, true);\n });\n\n it(\"Stops sending mouse down after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Sends mouse up to the stylus\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).toHaveBeenCalledWith(1, false);\n });\n\n it(\"Stops sending mouse up after stopped\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.updateButtonState = jest.fn();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.updateButtonState).not.toHaveBeenCalled();\n });\n\n it(\"Rotates the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops rotating the stylus on mouse move\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n stylus.transform.worldRotation = Quaternion.Identity();\n\n uc.startEmulating();\n uc.stopEmulating();\n\n const e = new MouseEvent(\"mousemove\", { clientX: 10, clientY: 10 });\n\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n inputElement.dispatchEvent(e);\n\n expect(stylus.transform.worldRotation).toEqual(Quaternion.Identity());\n });\n\n it(\"Bumps to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the left when A is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyA\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping to the right when D is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyD\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.x).toEqual(0);\n });\n\n it(\"Bumps down when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeLessThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when S is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyS\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n\n it(\"Bumps up when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n stylus.transform.worldRotation = Quaternion.Identity();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toBeGreaterThan(0);\n expect(stylus.transform.worldRotation).not.toEqual(Quaternion.Identity());\n });\n\n it(\"Stops bumping when W is pressed\", () => {\n const { uc, inputElement, stylus } = makeTestRig();\n\n uc.startEmulating();\n stylus.transform.worldPosition = Vector3.Zero();\n\n uc.stopEmulating();\n\n const downEvent = new KeyboardEvent(\"keydown\", { code: \"KeyW\" });\n inputElement.dispatchEvent(downEvent);\n\n expect(stylus.transform.worldPosition.z).toEqual(0);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BumpTransformScaleAboutPixelPoint.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n ScenePixelPick,\n} from \"../../Babylon\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makeBumpTransformScaleAboutPixelPointUC } from \"./BumpTransformScaleAboutPixelPoint\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n const bumpUC = makeBumpTransformScaleAboutPixelPointUC(ao);\n\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockPixelRay = makeMockPixelToSceneRayUC(\n appObjects
|
|
1
|
+
{"version":3,"file":"BumpTransformScaleAboutPixelPoint.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n ScenePixelPick,\n} from \"../../Babylon\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makeBumpTransformScaleAboutPixelPointUC } from \"./BumpTransformScaleAboutPixelPoint\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n const bumpUC = makeBumpTransformScaleAboutPixelPointUC(ao);\n\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockPixelRay = makeMockPixelToSceneRayUC(\n appObjects,\n ) as PixelToSceneRayUC;\n mockPixelRay.pixelToSceneRay = (pos: Vector2) => {\n return ParametricLine.FromPointDirection(\n new Vector3(pos.x, pos.y, -2),\n Vector3.Forward(),\n );\n };\n\n return {\n bumpUC,\n transform,\n doDispatchMock,\n mockPick,\n appObjects,\n };\n}\n\ndescribe(\"Bumping the transform scale use case\", () => {\n it(\"Bumps the scale smaller with an out\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"OUT\", Vector2.Zero());\n\n expect(transform.worldScale.x).toBeLessThan(1);\n });\n\n it(\"Bumps the scale larger with an in\", () => {\n const { bumpUC, transform } = makeTestRig();\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale.x).toBeGreaterThan(1);\n });\n\n it(\"Scales around the origin if there is no pick\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n\n it(\"Scales around the pick point\", () => {\n const { bumpUC, mockPick, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n const pick: ScenePixelPick = {\n hit: true,\n sceneRay: ParametricLine.Forward(),\n worldPickPoint: new Vector3(1, 2, 3),\n };\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(pick);\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition.x).toBeCloseTo(-0.1);\n expect(transform.worldPosition.y).toBeCloseTo(-0.2);\n expect(transform.worldPosition.z).toBeCloseTo(-0.3);\n });\n\n it(\"Dispatches state change\", () => {\n const { bumpUC, doDispatchMock } = makeTestRig();\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Limits the minimum\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n bumpUC.minScale = 0.9;\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n bumpUC.bump(\"OUT\", Vector2.Zero());\n\n expect(transform.worldScale.x).toEqual(0.9);\n });\n\n it(\"Limits the maximum\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n bumpUC.maxScale = 1.1;\n\n transform.worldScale = Vector3.One();\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale.x).toEqual(1.1);\n });\n\n it(\"Does not update if disabled\", () => {\n const { bumpUC, transform } = makeTestRig();\n transform.worldScale = Vector3.One();\n bumpUC.enabled = false;\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldScale).toEqual(Vector3.One());\n });\n\n it(\"Scales around the pick point on the plane if the plane is supplied\", () => {\n const { bumpUC, transform } = makeTestRig();\n\n transform.worldPosition = Vector3.Zero();\n\n const pickPlane = ParametricPlane.FromPointNormal(\n new Vector3(0, 0, -1),\n Vector3.Forward(),\n );\n bumpUC.pickPlane = pickPlane;\n\n bumpUC.bump(\"IN\", Vector2.Zero());\n\n expect(transform.worldPosition.x).toBeCloseTo(0);\n expect(transform.worldPosition.y).toBeCloseTo(0);\n expect(transform.worldPosition.z).toBeCloseTo(0.1);\n });\n});\n"]}
|