@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppObjectSingletonPM, getSingletonComponent, } from "@vived/core";
|
|
2
2
|
import { StylusEntity } from "../Entity/StylusEntity";
|
|
3
|
-
export class StylusIsInUsePM extends
|
|
3
|
+
export class StylusIsInUsePM extends AppObjectSingletonPM {
|
|
4
4
|
}
|
|
5
5
|
StylusIsInUsePM.type = "StylusIsInUsePM";
|
|
6
6
|
StylusIsInUsePM.get = (appObjects) => getSingletonComponent(StylusIsInUsePM.type, appObjects);
|
|
@@ -8,25 +8,26 @@ export function makeStylusIsInUsePM(appObject) {
|
|
|
8
8
|
return new StylusIsInUsePMImp(appObject);
|
|
9
9
|
}
|
|
10
10
|
class StylusIsInUsePMImp extends StylusIsInUsePM {
|
|
11
|
+
get stylus() {
|
|
12
|
+
return this.getCachedLocalComponent(StylusEntity.type);
|
|
13
|
+
}
|
|
11
14
|
vmsAreEqual(a, b) {
|
|
12
15
|
return a === b;
|
|
13
16
|
}
|
|
14
17
|
constructor(appObject) {
|
|
15
18
|
super(appObject, StylusIsInUsePM.type);
|
|
16
|
-
this.
|
|
19
|
+
this.defaultVM = false;
|
|
20
|
+
this.formVM = () => {
|
|
17
21
|
if (!this.stylus)
|
|
18
22
|
return;
|
|
19
23
|
this.doUpdateView(this.stylus.isInUse);
|
|
20
24
|
};
|
|
21
|
-
this.stylus = appObject.getComponent(StylusEntity.type);
|
|
22
25
|
if (this.stylus) {
|
|
23
|
-
this.
|
|
24
|
-
this.onStylusChange();
|
|
26
|
+
this.observeEntity(this.stylus);
|
|
25
27
|
}
|
|
26
28
|
else {
|
|
27
29
|
this.warn("App Object does not have a Stylus Entity");
|
|
28
30
|
}
|
|
29
|
-
this.appObjects.registerSingleton(this);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=StylusIsInUsePM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StylusIsInUsePM.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"StylusIsInUsePM.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,OAAgB,eAAgB,SAAQ,oBAA6B;;AACzD,oBAAI,GAAG,iBAAiB,CAAC;AAElC,mBAAG,GAAG,CAAC,UAAyB,EAA+B,EAAE,CACtE,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG5D,MAAM,UAAU,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,YAAY,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"]}
|
|
@@ -4,11 +4,11 @@ import { makeStylusEntity } from "../Entity/StylusEntity";
|
|
|
4
4
|
import { makeStylusIsInUsePM, StylusIsInUsePM } from "./StylusIsInUsePM";
|
|
5
5
|
function makeTestRig() {
|
|
6
6
|
const appObjects = makeAppObjectRepo();
|
|
7
|
-
const registerSingletonSpy = jest.spyOn(appObjects, "registerSingleton");
|
|
8
7
|
const stylusAO = appObjects.getOrCreate("Stylus");
|
|
9
8
|
const stylusEntity = makeStylusEntity(stylusAO);
|
|
10
9
|
const pm = makeStylusIsInUsePM(stylusAO);
|
|
11
|
-
|
|
10
|
+
pm.addView(() => { });
|
|
11
|
+
return { pm, stylusEntity, appObjects };
|
|
12
12
|
}
|
|
13
13
|
describe("Stylus is in use", () => {
|
|
14
14
|
it("Initializes the VM", () => {
|
|
@@ -32,10 +32,6 @@ describe("Stylus is in use", () => {
|
|
|
32
32
|
const lastVM = pm.lastVM;
|
|
33
33
|
expect(lastVM).toEqual(false);
|
|
34
34
|
});
|
|
35
|
-
it("Registers as a singleton", () => {
|
|
36
|
-
const { pm, registerSingletonSpy } = makeTestRig();
|
|
37
|
-
expect(registerSingletonSpy).toHaveBeenCalledWith(pm);
|
|
38
|
-
});
|
|
39
35
|
it("Gets the singleton", () => {
|
|
40
36
|
const { pm, appObjects } = makeTestRig();
|
|
41
37
|
expect(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,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StylusIsInUsePM.test.js","sourceRoot":"","sources":["../../../../src/Stylus/PMs/StylusIsInUsePM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,mBAAmB,CAAC,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,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,UAAU,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,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAElE,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACtD,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,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,eAAe,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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAEzC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC3D,YAAY,CAAC,eAAe,GAAG,IAAI;SAChC,EAAE,EAAE;SACJ,eAAe,CACd,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;IAEJ,OAAO;QACL,EAAE;QACF,UAAU;QACV,oBAAoB;QACpB,UAAU;QACV,YAAY;QACZ,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,EAAE,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErC,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAEzE,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAEzE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAEzE,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAEzE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEhE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEhE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEhE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEhE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErC,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,EAAE,CAAC,cAAc,EAAE,CAAC;QAEpB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9B,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEhD,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEhD,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEhD,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEhD,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAGzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,uCAAuC,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEhF,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,uCAAuC,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,YAAY,CAAC,UAAU,GAAG,cAAc,CAAC;IAEzC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,UAAU,CACU,CAAC;IACvB,YAAY,CAAC,eAAe,GAAG,CAAC,GAAY,EAAE,EAAE;QAC9C,OAAO,cAAc,CAAC,kBAAkB,CACtC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,SAAS;QACT,cAAc;QACd,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5C,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE;YAClC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC;QAED,QAAQ,CAAC,cAA4B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5C,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEtB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5C,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEtB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAC5C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE5C,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,CAC/C,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;QACF,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE7B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward()\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(\n new Vector3(10, 20, 60)\n );\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"PinchTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/PinchTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockScenePixelPickUC,\n PixelToSceneRayUC,\n} from \"../../Babylon\";\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\nimport { makeTransform3D } from \"../Entities\";\nimport { makePinchTransformUC } from \"./PinchTransform\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const transform = makeTransform3D(ao);\n\n const pinchUC = makePinchTransformUC(ao);\n\n const mockPick = makeMockScenePixelPickUC(appObjects);\n mockPick.scenePixelPick = jest.fn();\n const mockDispatch = makeMockDispatchStateChange(appObjects);\n const doDispatchMock = jest.fn();\n mockDispatch.doDispatch = doDispatchMock;\n\n const mockRay = makeMockPixelToSceneRayUC(appObjects) as PixelToSceneRayUC;\n\n mockRay.pixelToSceneRay = mockPicker;\n\n return {\n appObjects,\n pinchUC,\n transform,\n mockPick,\n doDispatchMock,\n mockRay,\n };\n}\n\nfunction mockPicker(pixel: Vector2): ParametricLine {\n return ParametricLine.FromPointDirection(\n new Vector3(pixel.x, pixel.y, 3),\n Vector3.Forward(),\n );\n}\n\ndescribe(\"Pinch Scene Root Use Case\", () => {\n it(\"Move with no scaling adjusts the root as expected\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Plane pick is relative\", () => {\n const { pinchUC, transform, mockPick } = makeTestRig();\n\n (mockPick.scenePixelPick as jest.Mock).mockReturnValue(\n new Vector3(10, 20, 60),\n );\n\n transform.worldPosition = new Vector3(1, 2, 3);\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n const expected = new Vector3(-4, 2, 3); // -5 in the x\n\n const wPos = transform.worldPosition;\n expect(Vector3.Close(wPos, expected)).toEqual(true);\n });\n\n it(\"Scales smaller with a pinch that moves closer\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 4);\n const touch4 = new Vector2(0, -4);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n\n expect(transform.worldScale.x).toEqual(1 - expectedScaleDelta);\n });\n\n it(\"Scales larger with a pinch that moves further\", () => {\n const { pinchUC, transform } = makeTestRig();\n transform.worldPosition = new Vector3(0, 0, 0);\n transform.worldScale = Vector3.One();\n\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 12);\n const touch4 = new Vector2(0, -12);\n pinchUC.doPinch(touch3, touch4);\n\n const expectedScaleDelta = pinchUC.sensitivity * 8;\n expect(transform.worldScale.x).toEqual(1 + expectedScaleDelta);\n });\n\n it(\"Dispatches a state change if the position has changed since init\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n transform.worldScale = new Vector3(6, 6, 6);\n pinchUC.finishPinch();\n\n expect(doDispatchMock).toHaveBeenCalled();\n });\n\n it(\"Does not dispatch a state change if the scale has not changed\", () => {\n const { transform, pinchUC, doDispatchMock } = makeTestRig();\n\n transform.worldScale = new Vector3(5, 5, 5);\n const touch1 = new Vector2(0, 8);\n const touch2 = new Vector2(0, -8);\n pinchUC.initializePinch(touch1, touch2);\n\n pinchUC.finishPinch();\n\n expect(doDispatchMock).not.toHaveBeenCalled();\n });\n\n it(\"Does not update if not enabled\", () => {\n const { pinchUC, transform } = makeTestRig();\n\n pinchUC.enabled = false;\n transform.worldPosition = Vector3.Zero();\n\n const touch1 = new Vector2(5, 8);\n const touch2 = new Vector2(5, 0);\n pinchUC.initializePinch(touch1, touch2);\n\n const touch3 = new Vector2(0, 8);\n const touch4 = new Vector2(0, 0);\n pinchUC.doPinch(touch3, touch4);\n\n expect(transform.worldPosition).toEqual(Vector3.Zero());\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward()\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9)\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n SceneRayPick,\n} from \"../../Babylon\";\nimport { MockPanTransformUC } from \"../Mocks\";\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\n const uc = makeTryPanTransformUC(tryDragAO);\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const screenPeelUC = new MockPanTransformUC(appObj);\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const mockPickResult: SceneRayPick = {\n hit: true,\n worldPickPoint: new Vector3(1, 2, 3),\n appObjectID: \"appObj\",\n };\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\n mockRayPick.sceneRayPick = mockPick;\n\n mockPick.mockReturnValue(mockPickResult);\n\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\n}\n\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\n it(\"Returns true if the initialization is successful\", () => {\n const { uc } = makeTestRig();\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\n });\n\n it(\"Returns false if the pick doesn't return an app id\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = undefined;\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\n const { mockPickResult, uc } = makeTestRig();\n mockPickResult.appObjectID = \"somethingElse\";\n\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Initializes the peel UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Updates the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\n ParametricLine.Forward(),\n );\n });\n\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.moveWithRay(ParametricLine.Forward());\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n });\n\n it(\"Stop the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.finish).toHaveBeenCalled();\n });\n\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.stop();\n\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Cancels the UC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\n });\n\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.cancel();\n\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop after a cancel\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.cancel();\n\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't update or stop if not allowed\", () => {\n const { uc, screenPeelUC } = makeTestRig();\n\n uc.allow = () => {\n return false;\n };\n\n uc.tryWithRay(ParametricLine.Forward());\n uc.moveWithRay(ParametricLine.Forward());\n uc.stop();\n\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\n });\n\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.tryWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(initSpy).toHaveBeenCalledWith(ray);\n });\n\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\n const { uc, mockPixelToRay } = makeTestRig();\n\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\n const ray = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(ray);\n\n uc.moveWithPixel(new Vector2(8, 9));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(8, 9),\n );\n expect(moveSpy).toHaveBeenCalledWith(ray);\n });\n});\n"]}
|
|
@@ -67,7 +67,7 @@ export class SerializeTransparentObjectsImp extends SerializeTransparentObjects
|
|
|
67
67
|
}
|
|
68
68
|
constructor(appObj) {
|
|
69
69
|
super(appObj, SerializeTransparentObjects.type);
|
|
70
|
-
this.
|
|
70
|
+
this.serializationVersion = 1;
|
|
71
71
|
const stateMachine = this.appObjects.getSingleton(StateMachineEntity.type);
|
|
72
72
|
if (stateMachine) {
|
|
73
73
|
stateMachine.registerSerializedSystem(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SerializeTransparentObjects.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/SerializeTransparentObjects.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { Transparency } from \"../Entities\";\n\nexport abstract class SerializeTransparentObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeTransparentObjects\";\n name: string = \"transparent-objects\";\n abstract
|
|
1
|
+
{"version":3,"file":"SerializeTransparentObjects.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/SerializeTransparentObjects.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\nimport { SerializedSystem, StateMachineEntity } from \"../../StateMachine\";\nimport { Transparency } from \"../Entities\";\n\nexport abstract class SerializeTransparentObjects\n extends AppObjectUC\n implements SerializedSystem\n{\n static readonly type = \"SerializeTransparentObjects\";\n name: string = \"transparent-objects\";\n abstract serializationVersion: number;\n abstract getSystemState(): object;\n abstract applySystemState(\n state: object,\n version: number,\n transitionDuration: number,\n ): void;\n abstract applyDefaultState(transitionDuration: number): void;\n}\n\nexport function makeSerializeTransparentObjects(\n appObject: AppObject,\n): SerializeTransparentObjects {\n return new SerializeTransparentObjectsImp(appObject);\n}\n\nexport class SerializeTransparentObjectsImp extends SerializeTransparentObjects {\n serializationVersion = 1;\n\n getSystemState(): object {\n const transparentObjects: string[] = [];\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n if (transparent.isTransparent)\n transparentObjects.push(transparent.appObject.id);\n });\n\n const state: SerializedTransparentObjectsV1 = {\n transparentObjects,\n };\n\n return state;\n }\n\n applySystemState(\n state: object,\n version: number,\n durationS: number,\n ): Promise<void> | void {\n if (version === 1) {\n return this.applyStateV1(\n state as SerializedTransparentObjectsV1,\n durationS,\n );\n } else {\n this.applyDefaultState();\n }\n }\n\n private applyStateV1(\n state: SerializedTransparentObjectsV1,\n durationS: number,\n ) {\n const { transparentObjects } = state;\n\n let transparentObjectsIds: string[] = [];\n if (transparentObjects !== undefined && transparentObjects.length > 0) {\n transparentObjectsIds = [...transparentObjects];\n } else {\n this.applyDefaultState();\n return;\n }\n\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n const appObjectId = transparent.appObject.id;\n\n if (transparentObjectsIds.includes(appObjectId)) {\n transparent.isTransparent = true;\n\n const index = transparentObjectsIds.indexOf(appObjectId);\n if (index !== -1) {\n transparentObjectsIds.splice(index, 1);\n }\n }\n });\n\n transparentObjectsIds.forEach((remainingObjectId) => {\n const appObject = this.appObjects.getOrCreate(remainingObjectId);\n const hideable = Transparency.addIfMissing(appObject);\n hideable.isTransparent = true;\n });\n }\n\n applyDefaultState(): void {\n const allTransparents = this.appObjects.getAllComponents<Transparency>(\n Transparency.type,\n );\n\n allTransparents.forEach((transparent) => {\n transparent.isTransparent = false;\n });\n }\n\n constructor(appObj: AppObject) {\n super(appObj, SerializeTransparentObjects.type);\n\n const stateMachine = this.appObjects.getSingleton<StateMachineEntity>(\n StateMachineEntity.type,\n );\n if (stateMachine) {\n stateMachine.registerSerializedSystem(this);\n } else {\n this.warn(\"Unable to find StateMachineEntity\");\n }\n }\n}\n\nexport interface SerializedTransparentObjectsV1 {\n transparentObjects: string[];\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppObjectSingletonPM, getSingletonComponent, } from "@vived/core";
|
|
2
2
|
import { ZSpaceEntity } from "../Entities/ZSpaceEntity";
|
|
3
|
-
export class ZSpaceIsEnabledPM extends
|
|
3
|
+
export class ZSpaceIsEnabledPM extends AppObjectSingletonPM {
|
|
4
4
|
}
|
|
5
5
|
ZSpaceIsEnabledPM.type = "ZSpaceIsEnabledPM";
|
|
6
6
|
ZSpaceIsEnabledPM.get = (appObjects) => getSingletonComponent(ZSpaceIsEnabledPM.type, appObjects);
|
|
@@ -16,14 +16,15 @@ class ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {
|
|
|
16
16
|
}
|
|
17
17
|
constructor(appObject) {
|
|
18
18
|
super(appObject, ZSpaceIsEnabledPM.type);
|
|
19
|
-
this.
|
|
19
|
+
this.defaultVM = false;
|
|
20
|
+
this.formVM = () => {
|
|
20
21
|
if (!this.zSpace)
|
|
21
22
|
return;
|
|
22
23
|
this.doUpdateView(this.zSpace.enabled);
|
|
23
24
|
};
|
|
24
|
-
this.zSpace
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if (this.zSpace) {
|
|
26
|
+
this.observeEntity(this.zSpace);
|
|
27
|
+
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=ZSpaceIsEnabledPM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZSpaceIsEnabledPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"ZSpaceIsEnabledPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,OAAgB,iBAAkB,SAAQ,oBAA6B;;AAC3D,sBAAI,GAAG,mBAAmB,CAAC;AAEpC,qBAAG,GAAG,CAAC,UAAyB,EAAiC,EAAE,CACxE,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAG9D,MAAM,UAAU,qBAAqB,CAAC,SAAoB;IACxD,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,oBAAqB,SAAQ,iBAAiB;IAGlD,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAhB3C,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsEnabledPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"ZSpaceIsEnabledPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsEnabledPM | undefined =>\n getSingletonComponent(ZSpaceIsEnabledPM.type, appObjects);\n}\n\nexport function makeZSpaceIsEnabledPM(appObject: AppObject): ZSpaceIsEnabledPM {\n return new ZSpaceIsEnabledPMImp(appObject);\n}\n\nclass ZSpaceIsEnabledPMImp extends ZSpaceIsEnabledPM {\n defaultVM = false;\n\n private get zSpace() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.zSpace) return;\n this.doUpdateView(this.zSpace.enabled);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsEnabledPM.type);\n\n if (this.zSpace) {\n this.observeEntity(this.zSpace);\n }\n }\n}\n"]}
|
|
@@ -3,12 +3,12 @@ import { makeZSpaceEntity } from "../Entities/ZSpaceEntity";
|
|
|
3
3
|
import { makeZSpaceIsEnabledPM, ZSpaceIsEnabledPM } from "./ZSpaceIsEnabledPM";
|
|
4
4
|
function makeTestRig() {
|
|
5
5
|
const appObjects = makeAppObjectRepo();
|
|
6
|
-
const registerSpy = jest.spyOn(appObjects, "registerSingleton");
|
|
7
6
|
const ao = appObjects.getOrCreate("zSpace");
|
|
8
7
|
const zSpace = makeZSpaceEntity(ao);
|
|
9
8
|
zSpace.enabled = true;
|
|
10
9
|
const pm = makeZSpaceIsEnabledPM(ao);
|
|
11
|
-
|
|
10
|
+
pm.addView(() => { });
|
|
11
|
+
return { zSpace, pm, appObjects };
|
|
12
12
|
}
|
|
13
13
|
describe("ZSpace Display Presentation Manager", () => {
|
|
14
14
|
it("Initializes the VM", () => {
|
|
@@ -35,13 +35,9 @@ describe("ZSpace Display Presentation Manager", () => {
|
|
|
35
35
|
expect(pm.vmsAreEqual(true, false)).toEqual(false);
|
|
36
36
|
expect(pm.vmsAreEqual(false, true)).toEqual(false);
|
|
37
37
|
});
|
|
38
|
-
it("Gets the
|
|
39
|
-
const {
|
|
38
|
+
it("Gets the PM", () => {
|
|
39
|
+
const { pm, appObjects } = makeTestRig();
|
|
40
40
|
expect(ZSpaceIsEnabledPM.get(appObjects)).toEqual(pm);
|
|
41
41
|
});
|
|
42
|
-
it("Registers as the singleton", () => {
|
|
43
|
-
const { registerSpy, pm } = makeTestRig();
|
|
44
|
-
expect(registerSpy).toHaveBeenCalledWith(pm);
|
|
45
|
-
});
|
|
46
42
|
});
|
|
47
43
|
//# sourceMappingURL=ZSpaceIsEnabledPM.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZSpaceIsEnabledPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ZSpaceIsEnabledPM.test.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsEnabledPM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAEtB,MAAM,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACrC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeZSpaceEntity } from \"../Entities/ZSpaceEntity\";\nimport { makeZSpaceIsEnabledPM, ZSpaceIsEnabledPM } from \"./ZSpaceIsEnabledPM\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const ao = appObjects.getOrCreate(\"zSpace\");\n const zSpace = makeZSpaceEntity(ao);\n zSpace.enabled = true;\n\n const pm = makeZSpaceIsEnabledPM(ao);\n pm.addView(() => {});\n\n return { zSpace, pm, appObjects };\n}\n\ndescribe(\"ZSpace Display Presentation Manager\", () => {\n it(\"Initializes the VM\", () => {\n const { pm } = makeTestRig();\n const lastVM = pm.lastVM;\n\n expect(lastVM).toEqual(true);\n });\n\n it(\"Sets the show based on the is rendering flag\", () => {\n const { pm, zSpace } = makeTestRig();\n\n zSpace.enabled = false;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(false);\n\n zSpace.enabled = true;\n zSpace.notifyOnChange();\n\n expect(pm.lastVM).toEqual(true);\n });\n\n it(\"Checks for equal vms\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, true)).toEqual(true);\n expect(pm.vmsAreEqual(false, false)).toEqual(true);\n });\n\n it(\"Checks for a change in the VM\", () => {\n const { pm } = makeTestRig();\n expect(pm.vmsAreEqual(true, false)).toEqual(false);\n expect(pm.vmsAreEqual(false, true)).toEqual(false);\n });\n\n it(\"Gets the PM\", () => {\n const { pm, appObjects } = makeTestRig();\n\n expect(ZSpaceIsEnabledPM.get(appObjects)).toEqual(pm);\n });\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppObjectSingletonPM, getSingletonComponent, } from "@vived/core";
|
|
2
2
|
import { ZSpaceEntity } from "../Entities/ZSpaceEntity";
|
|
3
|
-
export class ZSpaceIsSupportedPM extends
|
|
3
|
+
export class ZSpaceIsSupportedPM extends AppObjectSingletonPM {
|
|
4
4
|
}
|
|
5
5
|
ZSpaceIsSupportedPM.type = "ZSpaceIsSupportedPM";
|
|
6
6
|
ZSpaceIsSupportedPM.get = (appObjects) => getSingletonComponent(ZSpaceIsSupportedPM.type, appObjects);
|
|
@@ -16,14 +16,15 @@ class ZSpaceIsSupportedPMImp extends ZSpaceIsSupportedPM {
|
|
|
16
16
|
}
|
|
17
17
|
constructor(appObject) {
|
|
18
18
|
super(appObject, ZSpaceIsSupportedPM.type);
|
|
19
|
-
this.
|
|
19
|
+
this.defaultVM = false;
|
|
20
|
+
this.formVM = () => {
|
|
20
21
|
if (!this.zSpaceEntity)
|
|
21
22
|
return;
|
|
22
23
|
this.doUpdateView(this.zSpaceEntity.isSupported);
|
|
23
24
|
};
|
|
24
|
-
this.zSpaceEntity
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if (this.zSpaceEntity) {
|
|
26
|
+
this.observeEntity(this.zSpaceEntity);
|
|
27
|
+
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=ZSpaceIsSupportedPM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZSpaceIsSupportedPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"ZSpaceIsSupportedPM.js","sourceRoot":"","sources":["../../../../src/zSpace/PM/ZSpaceIsSupportedPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,OAAgB,mBAAoB,SAAQ,oBAA6B;;AAC7D,wBAAI,GAAG,qBAAqB,CAAC;AAEtC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,MAAM,UAAU,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IAGtD,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAOD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAhB7C,cAAS,GAAG,KAAK,CAAC;QAUlB,WAAM,GAAG,GAAS,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;QAKA,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF","sourcesContent":["import {\n AppObject,\n AppObjectSingletonPM,\n AppObjectRepo,\n getSingletonComponent,\n} from \"@vived/core\";\nimport { ZSpaceEntity } from \"../Entities/ZSpaceEntity\";\n\nexport abstract class ZSpaceIsSupportedPM extends AppObjectSingletonPM<boolean> {\n static readonly type = \"ZSpaceIsSupportedPM\";\n\n static get = (appObjects: AppObjectRepo): ZSpaceIsSupportedPM | undefined =>\n getSingletonComponent(ZSpaceIsSupportedPM.type, appObjects);\n}\n\nexport function makeZSpaceIsSupportedPM(\n appObject: AppObject,\n): ZSpaceIsSupportedPM {\n return new ZSpaceIsSupportedPMImp(appObject);\n}\n\nclass ZSpaceIsSupportedPMImp extends ZSpaceIsSupportedPM {\n defaultVM = false;\n\n private get zSpaceEntity() {\n return this.getCachedSingleton<ZSpaceEntity>(ZSpaceEntity.type);\n }\n\n vmsAreEqual(a: boolean, b: boolean): boolean {\n return a === b;\n }\n\n formVM = (): void => {\n if (!this.zSpaceEntity) return;\n this.doUpdateView(this.zSpaceEntity.isSupported);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceIsSupportedPM.type);\n\n if (this.zSpaceEntity) {\n this.observeEntity(this.zSpaceEntity);\n }\n }\n}\n"]}
|