@vived/app 3.8.0 → 3.9.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/lib/AppObjectComponents/App/Controller/removeRenderCanvas.d.ts +2 -0
- package/lib/AppObjectComponents/App/Controller/removeRenderCanvas.js +14 -0
- package/lib/AppObjectComponents/App/Controller/startRenderingApp.d.ts +2 -0
- package/lib/AppObjectComponents/App/Controller/startRenderingApp.js +14 -0
- package/lib/AppObjectComponents/App/Controller/stopRenderingApp.d.ts +2 -0
- package/lib/AppObjectComponents/App/Controller/stopRenderingApp.js +14 -0
- package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.d.ts +2 -0
- package/lib/AppObjectComponents/App/Controller/submitRenderCanvas.js +14 -0
- package/lib/AppObjectComponents/App/Entity/BaseAppState.d.ts +14 -0
- package/lib/AppObjectComponents/App/Entity/BaseAppState.js +50 -0
- package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.d.ts +8 -0
- package/lib/AppObjectComponents/App/Mocks/MockAppRenderingUC.js +12 -0
- package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.d.ts +8 -0
- package/lib/AppObjectComponents/App/Mocks/MockRenderCanvasUC.js +12 -0
- package/lib/AppObjectComponents/App/PM/IsAuthoringPM.d.ts +11 -0
- package/lib/AppObjectComponents/App/PM/IsAuthoringPM.js +38 -0
- package/lib/AppObjectComponents/App/PM/IsReviewingPM.d.ts +11 -0
- package/lib/AppObjectComponents/App/PM/IsReviewingPM.js +38 -0
- package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.d.ts +8 -0
- package/lib/AppObjectComponents/App/UseCase/AppRenderingUC.js +20 -0
- package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.d.ts +10 -0
- package/lib/AppObjectComponents/App/UseCase/RenderCanvasUC.js +101 -0
- package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/removeRenderCanvas.js +23 -0
- package/lib/AppObjectComponents/App/UseCase/submitError.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/submitError.js +26 -0
- package/lib/AppObjectComponents/App/UseCase/submitFatal.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/submitFatal.js +26 -0
- package/lib/AppObjectComponents/App/UseCase/submitLog.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/submitLog.js +26 -0
- package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/submitRenderCanvas.js +26 -0
- package/lib/AppObjectComponents/App/UseCase/submitWarning.d.ts +2 -0
- package/lib/AppObjectComponents/App/UseCase/submitWarning.js +26 -0
- package/lib/AppObjectComponents/App/index.d.ts +11 -0
- package/lib/AppObjectComponents/App/index.js +23 -0
- package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.d.ts +16 -0
- package/lib/AppObjectComponents/Babylon/Entities/BabylonEntity.js +80 -0
- package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.d.ts +2 -0
- package/lib/AppObjectComponents/Babylon/Factory/makeBabylon.js +11 -0
- package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.d.ts +9 -0
- package/lib/AppObjectComponents/Babylon/Mocks/MockBabylonRenderingUC.js +13 -0
- package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.d.ts +8 -0
- package/lib/AppObjectComponents/Babylon/PresentationManangers/ShowBabylonInspectorPM.js +28 -0
- package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.d.ts +9 -0
- package/lib/AppObjectComponents/Babylon/UseCases/BabylonRenderingUC.js +20 -0
- package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.d.ts +9 -0
- package/lib/AppObjectComponents/Babylon/UseCases/PixelToSceneRayUC.js +30 -0
- package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.d.ts +17 -0
- package/lib/AppObjectComponents/Babylon/UseCases/ScenePixelPickUC.js +29 -0
- package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.d.ts +16 -0
- package/lib/AppObjectComponents/Babylon/UseCases/SceneRayPickUC.js +29 -0
- package/lib/AppObjectComponents/Babylon/index.d.ts +7 -0
- package/lib/AppObjectComponents/Babylon/index.js +19 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.d.ts +7 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/ProcessChannelModelUC.js +19 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.d.ts +9 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/SelectChannelModelUC.js +63 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.d.ts +10 -0
- package/lib/AppObjectComponents/ChannelModel/UseCases/SetupChannelModelUC.js +21 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.d.ts +9 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatchStateChange.js +13 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.d.ts +8 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockDispatcher.js +12 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/Mocks/MockLogUC.js +14 -0
- package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/AppIsReadyUC.js +55 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.d.ts +18 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStateChangeUC.js +78 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetBlobURLUC.js +72 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetFolderURLUC.js +71 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.d.ts +12 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetMetaUC.js +72 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.d.ts +12 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetAssetsForOwnerUC.js +72 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.d.ts +12 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GetLinkedAssetsUC.js +73 -0
- package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/IsAssetFetchedUC.js +67 -0
- package/lib/AppObjectComponents/Dispatcher/UC/LogUC.d.ts +13 -0
- package/lib/AppObjectComponents/Dispatcher/UC/LogUC.js +61 -0
- package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/RegisterExternalStylesheetsUC.js +57 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.d.ts +16 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowAlertUC.js +50 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.d.ts +18 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowConfirmUC.js +52 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.d.ts +15 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowMarkdownEditorUC.js +52 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.d.ts +13 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowSelectModelUC.js +54 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/ShowSpinnerUC.js +57 -0
- package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/StateHasChangedUC.js +49 -0
- package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.d.ts +11 -0
- package/lib/AppObjectComponents/Dispatcher/UC/StateIsCompleteUC.js +55 -0
- package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.d.ts +43 -0
- package/lib/AppObjectComponents/Dispatcher/UC/SubmitResultResultUC.js +159 -0
- package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.d.ts +18 -0
- package/lib/AppObjectComponents/KeyboardInput/Entities/KeyboardInput.js +86 -0
- package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.d.ts +12 -0
- package/lib/AppObjectComponents/KeyboardInput/Mocks/MockKeyboardInput.js +18 -0
- package/lib/AppObjectComponents/KeyboardInput/index.d.ts +1 -0
- package/lib/{UseCases/SceneRoot → AppObjectComponents/KeyboardInput}/index.js +1 -2
- package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.d.ts +31 -0
- package/lib/AppObjectComponents/MouseInput/Entities/MouseInput.js +196 -0
- package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.d.ts +12 -0
- package/lib/AppObjectComponents/MouseInput/Mocks/MockMouseInput.js +18 -0
- package/lib/AppObjectComponents/MouseInput/index.d.ts +1 -0
- package/lib/{UseCases/SceneObjects → AppObjectComponents/MouseInput}/index.js +1 -1
- package/lib/AppObjectComponents/Question/Controllers/index.d.ts +4 -0
- package/lib/{UseCases/SceneModel → AppObjectComponents/Question/Controllers}/index.js +4 -5
- package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.d.ts +2 -0
- package/lib/AppObjectComponents/Question/Controllers/setAnswerFeedback.js +25 -0
- package/lib/AppObjectComponents/Question/Controllers/setAnswerText.d.ts +2 -0
- package/lib/AppObjectComponents/Question/Controllers/setAnswerText.js +25 -0
- package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.d.ts +2 -0
- package/lib/AppObjectComponents/Question/Controllers/submitQuestionAnswer.js +14 -0
- package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.d.ts +2 -0
- package/lib/AppObjectComponents/Question/Controllers/toggleAnswerIsCorrect.js +25 -0
- package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.d.ts +36 -0
- package/lib/AppObjectComponents/Question/Entities/QuestionAnswerEntity.js +73 -0
- package/lib/AppObjectComponents/Question/Entities/QuestionEntity.d.ts +24 -0
- package/lib/AppObjectComponents/Question/Entities/QuestionEntity.js +122 -0
- package/lib/AppObjectComponents/Question/Entities/index.d.ts +2 -0
- package/lib/{UseCases/FocusCamera → AppObjectComponents/Question/Entities}/index.js +2 -7
- package/lib/AppObjectComponents/Question/Factories/index.d.ts +2 -0
- package/lib/AppObjectComponents/Question/Factories/index.js +14 -0
- package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.d.ts +3 -0
- package/lib/AppObjectComponents/Question/Factories/setupQuestionAnswer.js +20 -0
- package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.d.ts +3 -0
- package/lib/AppObjectComponents/Question/Factories/setupQuestionChallenge.js +22 -0
- package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.d.ts +12 -0
- package/lib/AppObjectComponents/Question/Mocks/MockQuestionAnswerEntity.js +21 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.d.ts +19 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionAnswerPM.js +60 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.d.ts +20 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengeAnswerPM.js +70 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.d.ts +19 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/QuestionChallengePM.js +71 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/index.d.ts +2 -0
- package/lib/AppObjectComponents/Question/PresentationManagers/index.js +14 -0
- package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.d.ts +10 -0
- package/lib/AppObjectComponents/Question/UseCases/AddQuestionAnswerUC.js +52 -0
- package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.d.ts +10 -0
- package/lib/AppObjectComponents/Question/UseCases/DeleteQuestionAnswerUC.js +54 -0
- package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.d.ts +35 -0
- package/lib/AppObjectComponents/Question/UseCases/SerializeQuestionChallenge.js +94 -0
- package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.d.ts +7 -0
- package/lib/AppObjectComponents/Question/UseCases/SetAnswerFeedbackUC.js +33 -0
- package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.d.ts +7 -0
- package/lib/AppObjectComponents/Question/UseCases/SetAnswerTextUC.js +33 -0
- package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.d.ts +2 -0
- package/lib/AppObjectComponents/Question/UseCases/SetQuesionAnswerFeedback.js +16 -0
- package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.d.ts +9 -0
- package/lib/AppObjectComponents/Question/UseCases/SubmitQuestionAnswerUC.js +59 -0
- package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.d.ts +7 -0
- package/lib/AppObjectComponents/Question/UseCases/ToggleQuestionAnswerIsCorrect.js +31 -0
- package/lib/AppObjectComponents/Question/UseCases/index.d.ts +7 -0
- package/lib/AppObjectComponents/Question/UseCases/index.js +19 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.d.ts +20 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/DoubleTapToFocus.js +89 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.d.ts +11 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseClickToFocus.js +36 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts +12 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseDoubleClickToRecenter.js +37 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseOrbit.js +55 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MousePan.js +50 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.d.ts +11 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseRoll.js +38 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/MouseScale.js +51 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.d.ts +13 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchOrbit.js +52 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.d.ts +13 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPan.js +53 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchPinch.js +56 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/Controllers/TouchScale.js +57 -0
- package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.d.ts +3 -0
- package/lib/AppObjectComponents/SceneRoot/Factory/setupSceneRoot.js +28 -0
- package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.d.ts +11 -0
- package/lib/AppObjectComponents/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.js +60 -0
- package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/UC/CenterSceneRootOnPixelPick.js +62 -0
- package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.d.ts +12 -0
- package/lib/AppObjectComponents/SceneRoot/UC/DragScaleSceneRoot.js +74 -0
- package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.d.ts +13 -0
- package/lib/AppObjectComponents/SceneRoot/UC/FocusOnPixel.js +56 -0
- package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/UC/OrbitSceneRoot.js +92 -0
- package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.d.ts +13 -0
- package/lib/AppObjectComponents/SceneRoot/UC/PanSceneRoot.js +86 -0
- package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.d.ts +13 -0
- package/lib/AppObjectComponents/SceneRoot/UC/PinchSceneRoot.js +102 -0
- package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.d.ts +14 -0
- package/lib/AppObjectComponents/SceneRoot/UC/ScaleSceneRootWithRay.js +38 -0
- package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.d.ts +30 -0
- package/lib/AppObjectComponents/StateMachine/Entities/StateMachineEntity.js +105 -0
- package/lib/AppObjectComponents/StateMachine/index.d.ts +1 -0
- package/lib/AppObjectComponents/StateMachine/index.js +13 -0
- package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.d.ts +9 -0
- package/lib/AppObjectComponents/Tools/Controller/ToolHotkeys.js +43 -0
- package/lib/AppObjectComponents/Tools/Controller/triggerTool.d.ts +2 -0
- package/lib/AppObjectComponents/Tools/Controller/triggerTool.js +14 -0
- package/lib/AppObjectComponents/Tools/Entities/ToolEntity.d.ts +39 -0
- package/lib/AppObjectComponents/Tools/Entities/ToolEntity.js +95 -0
- package/lib/AppObjectComponents/Tools/Entities/ToolRepository.d.ts +17 -0
- package/lib/AppObjectComponents/Tools/Entities/ToolRepository.js +132 -0
- package/lib/AppObjectComponents/Tools/Factories/setupTool.d.ts +3 -0
- package/lib/AppObjectComponents/Tools/Factories/setupTool.js +12 -0
- package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.d.ts +4 -0
- package/lib/AppObjectComponents/Tools/Factories/setupToolRepo.js +13 -0
- package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.d.ts +19 -0
- package/lib/AppObjectComponents/Tools/PresentationManagers/ToolPM.js +66 -0
- package/lib/AppObjectComponents/Tools/index.d.ts +6 -0
- package/lib/AppObjectComponents/Tools/index.js +18 -0
- package/lib/AppObjectComponents/TouchController/Entities/TouchInput.d.ts +33 -0
- package/lib/AppObjectComponents/TouchController/Entities/TouchInput.js +161 -0
- package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.d.ts +13 -0
- package/lib/AppObjectComponents/TouchController/Mock/MockTouchInput.js +18 -0
- package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.d.ts +3 -0
- package/lib/AppObjectComponents/TouchController/Mock/mockTouchInputEvent.js +26 -0
- package/lib/AppObjectComponents/TouchController/index.d.ts +1 -0
- package/lib/AppObjectComponents/TouchController/index.js +13 -0
- package/lib/AppObjectComponents/XR/Entity/XREntity.d.ts +13 -0
- package/lib/AppObjectComponents/XR/Entity/XREntity.js +24 -0
- package/lib/AppObjectComponents/XR/UseCase/RenderToXR.d.ts +7 -0
- package/lib/AppObjectComponents/XR/UseCase/RenderToXR.js +8 -0
- package/lib/AppObjectComponents/XR/index.d.ts +2 -0
- package/lib/AppObjectComponents/XR/index.js +14 -0
- package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.d.ts +14 -0
- package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceScaleRoot.js +57 -0
- package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.d.ts +13 -0
- package/lib/AppObjectComponents/zSpace/Controllers/ZSpaceStylusRootMovement.js +51 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.d.ts +21 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceDisplayEntity.js +60 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.d.ts +21 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceEntity.js +64 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.d.ts +26 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceStylusEntity.js +86 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.d.ts +25 -0
- package/lib/AppObjectComponents/zSpace/Entities/ZSpaceViewEntity.js +47 -0
- package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.d.ts +3 -0
- package/lib/AppObjectComponents/zSpace/Factories/makeZSpace.js +31 -0
- package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.d.ts +12 -0
- package/lib/AppObjectComponents/zSpace/PM/ZSpaceDisplayPM.js +65 -0
- package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.d.ts +6 -0
- package/lib/AppObjectComponents/zSpace/PM/ZSpaceIsEnabledPM.js +41 -0
- package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.d.ts +18 -0
- package/lib/AppObjectComponents/zSpace/UseCases/StylusFromGamepadHook.js +79 -0
- package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.d.ts +12 -0
- package/lib/AppObjectComponents/zSpace/UseCases/StylusRootMovementUC.js +69 -0
- package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.d.ts +17 -0
- package/lib/AppObjectComponents/zSpace/UseCases/ViewFromPoseHook.js +84 -0
- package/lib/AppObjectComponents/zSpace/index.d.ts +12 -0
- package/lib/AppObjectComponents/zSpace/index.js +24 -0
- package/lib/Types/AppBoundary.d.ts +6 -0
- package/lib/Types/AppBoundary.js +2 -0
- package/lib/Types/AssetMetaDTO.d.ts +5 -0
- package/lib/Types/AssetMetaDTO.js +2 -0
- package/lib/UseCases/Handlers/SetThemeColorsBase.d.ts +13 -0
- package/lib/UseCases/Handlers/SetThemeColorsBase.js +32 -0
- package/lib/UseCases/Handlers/index.d.ts +1 -0
- package/lib/UseCases/Handlers/index.js +1 -0
- package/lib/Utilities/generateUniqueID.d.ts +1 -0
- package/lib/Utilities/generateUniqueID.js +8 -0
- package/package.json +1 -1
- package/lib/Entities/FocusCamera.d.ts +0 -70
- package/lib/Entities/FocusCamera.js +0 -272
- package/lib/Entities/MemoizedBoolean.d.ts +0 -8
- package/lib/Entities/MemoizedBoolean.js +0 -22
- package/lib/Entities/MemoizedNumber.d.ts +0 -8
- package/lib/Entities/MemoizedNumber.js +0 -22
- package/lib/Entities/MemoizedQuaternion.d.ts +0 -9
- package/lib/Entities/MemoizedQuaternion.js +0 -23
- package/lib/Entities/MemoizedString.d.ts +0 -8
- package/lib/Entities/MemoizedString.js +0 -22
- package/lib/Entities/MemoizedVector2.d.ts +0 -9
- package/lib/Entities/MemoizedVector2.js +0 -23
- package/lib/Entities/MemoizedVector3.d.ts +0 -9
- package/lib/Entities/MemoizedVector3.js +0 -23
- package/lib/Entities/MeshModel.d.ts +0 -68
- package/lib/Entities/MeshModel.js +0 -174
- package/lib/Entities/ModelObject.d.ts +0 -10
- package/lib/Entities/ModelObject.js +0 -42
- package/lib/Entities/SceneRoot.d.ts +0 -29
- package/lib/Entities/SceneRoot.js +0 -145
- package/lib/PresentationManagers/FocusCameraPM.d.ts +0 -15
- package/lib/PresentationManagers/FocusCameraPM.js +0 -31
- package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +0 -13
- package/lib/PresentationManagers/FocusCameraPosRotPM.js +0 -28
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +0 -15
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +0 -34
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +0 -17
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +0 -64
- package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +0 -36
- package/lib/UseCases/FocusCamera/LerpFocusCamera.js +0 -71
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +0 -36
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +0 -36
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +0 -26
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +0 -11
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +0 -33
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +0 -22
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +0 -81
- package/lib/UseCases/FocusCamera/index.d.ts +0 -7
- package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +0 -18
- package/lib/UseCases/SceneModel/SerializeActiveModel.js +0 -74
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +0 -7
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +0 -22
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +0 -2
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +0 -13
- package/lib/UseCases/SceneModel/index.d.ts +0 -5
- package/lib/UseCases/SceneModel/loadNewModel.d.ts +0 -2
- package/lib/UseCases/SceneModel/loadNewModel.js +0 -84
- package/lib/UseCases/SceneModel/modelDataLoader.d.ts +0 -3
- package/lib/UseCases/SceneModel/modelDataLoader.js +0 -33
- package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +0 -18
- package/lib/UseCases/SceneObjects/PeelSceneObject.js +0 -61
- package/lib/UseCases/SceneObjects/index.d.ts +0 -1
- package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +0 -33
- package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +0 -67
- package/lib/UseCases/SceneRoot/index.d.ts +0 -2
- package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +0 -2
- package/lib/UseCases/SceneRoot/setupSceneRoot.js +0 -11
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makePinchSceneRootUC = exports.PinchSceneRootUC = void 0;
|
|
4
|
+
const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
|
|
5
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
6
|
+
const App_1 = require("../../App");
|
|
7
|
+
const Babylon_1 = require("../../Babylon");
|
|
8
|
+
const Dispatcher_1 = require("../../Dispatcher");
|
|
9
|
+
const SceneRoot_1 = require("../Entities/SceneRoot");
|
|
10
|
+
class PinchSceneRootUC extends AppObjectUC_1.AppObjectUC {
|
|
11
|
+
static get(appObjects) {
|
|
12
|
+
const components = appObjects.getAllComponents(PinchSceneRootUC.type);
|
|
13
|
+
if (components.length === 0) {
|
|
14
|
+
App_1.submitWarning(PinchSceneRootUC.type, `Unable to find component ${PinchSceneRootUC.type}. Add one on Mount`, appObjects);
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
else if (components.length > 1) {
|
|
18
|
+
App_1.submitWarning(PinchSceneRootUC.type, `Multiple ${PinchSceneRootUC.type} found. There should only be one. Using the first one`, appObjects);
|
|
19
|
+
}
|
|
20
|
+
return components[0];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.PinchSceneRootUC = PinchSceneRootUC;
|
|
24
|
+
PinchSceneRootUC.type = "PinchSceneRootUC";
|
|
25
|
+
function makePinchSceneRootUC(appObject) {
|
|
26
|
+
return new PinchSceneRootImp(appObject);
|
|
27
|
+
}
|
|
28
|
+
exports.makePinchSceneRootUC = makePinchSceneRootUC;
|
|
29
|
+
class PinchSceneRootImp extends PinchSceneRootUC {
|
|
30
|
+
constructor(appObject) {
|
|
31
|
+
super(appObject, PinchSceneRootUC.type);
|
|
32
|
+
this.sensitivity = 0.01;
|
|
33
|
+
this.previousDistanceBetweenTouches = 0;
|
|
34
|
+
this.panPlane = ValueObjects_1.ParametricPlane.XY();
|
|
35
|
+
this.pickOffset = ValueObjects_1.Vector3.Zero();
|
|
36
|
+
this.initialScale = 0;
|
|
37
|
+
this.initializePinch = (touchPos1, touchPos2) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
if (!this.sceneRoot)
|
|
40
|
+
return;
|
|
41
|
+
const transformNode = this.sceneRoot.transform;
|
|
42
|
+
this.previousDistanceBetweenTouches = this.getTouchDistance(touchPos1, touchPos2);
|
|
43
|
+
const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
|
|
44
|
+
const scenePick = Babylon_1.scenePixelPick(touchCenter, this.appObjects);
|
|
45
|
+
const pickPoint = (_a = scenePick === null || scenePick === void 0 ? void 0 : scenePick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
46
|
+
const pickPlaneDirection = ValueObjects_1.Vector3.Backward();
|
|
47
|
+
this.panPlane = ValueObjects_1.ParametricPlane.FromPointNormal(pickPoint, pickPlaneDirection);
|
|
48
|
+
const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
|
|
49
|
+
const planePick = (_b = this.panPlane.intersectLine(pickRay)) !== null && _b !== void 0 ? _b : ValueObjects_1.Vector3.Zero();
|
|
50
|
+
this.pickOffset = transformNode.worldPointToLocal(planePick);
|
|
51
|
+
this.initialScale = this.sceneRoot.scale;
|
|
52
|
+
};
|
|
53
|
+
this.doPinch = (touchPos1, touchPos2) => {
|
|
54
|
+
var _a;
|
|
55
|
+
if (!this.sceneRoot)
|
|
56
|
+
return;
|
|
57
|
+
const transformNode = this.sceneRoot.transform;
|
|
58
|
+
const currentTouchDist = this.getTouchDistance(touchPos1, touchPos2);
|
|
59
|
+
const touchDelta = currentTouchDist - this.previousDistanceBetweenTouches;
|
|
60
|
+
const currentScale = this.sceneRoot.scale;
|
|
61
|
+
const scaleDelta = touchDelta * this.sensitivity * currentScale;
|
|
62
|
+
let newScale = currentScale + scaleDelta;
|
|
63
|
+
if (newScale < this.sceneRoot.minScale) {
|
|
64
|
+
newScale = this.sceneRoot.minScale;
|
|
65
|
+
}
|
|
66
|
+
else if (newScale > this.sceneRoot.maxScale) {
|
|
67
|
+
newScale = this.sceneRoot.maxScale;
|
|
68
|
+
}
|
|
69
|
+
transformNode.worldScale = new ValueObjects_1.Vector3(newScale, newScale, newScale);
|
|
70
|
+
const touchCenter = this.getTouchCenter(touchPos1, touchPos2);
|
|
71
|
+
const pickRay = Babylon_1.pixelToSceneRay(touchCenter, this.appObjects);
|
|
72
|
+
const planePick = (_a = this.panPlane.intersectLine(pickRay)) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
73
|
+
const globalOffset = transformNode.localPointToWorld(this.pickOffset);
|
|
74
|
+
const delta = ValueObjects_1.Vector3.Subtract(planePick, globalOffset);
|
|
75
|
+
const currentWorldPos = transformNode.worldPosition;
|
|
76
|
+
const newWorldPos = ValueObjects_1.Vector3.Add(currentWorldPos, delta);
|
|
77
|
+
transformNode.worldPosition = newWorldPos;
|
|
78
|
+
this.previousDistanceBetweenTouches = currentTouchDist;
|
|
79
|
+
};
|
|
80
|
+
this.finishPinch = () => {
|
|
81
|
+
var _a;
|
|
82
|
+
if (this.initialScale === ((_a = this.sceneRoot) === null || _a === void 0 ? void 0 : _a.scale))
|
|
83
|
+
return;
|
|
84
|
+
Dispatcher_1.dispatchStateChange(this.appObjects);
|
|
85
|
+
};
|
|
86
|
+
this.appObjects = appObject.appObjectRepo;
|
|
87
|
+
this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
|
|
88
|
+
if (!this.sceneRoot) {
|
|
89
|
+
App_1.submitWarning("PinchSceneRootUC", "PinchSceneRootUC UC has been added to an App Object that does not have a SceneRoot Entity", this.appObjects);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
getTouchCenter(t1, t2) {
|
|
94
|
+
const delta = ValueObjects_1.Vector2.Subtract(t2, t1);
|
|
95
|
+
const halfDelta = ValueObjects_1.Vector2.NewVectorOfLength(delta.unit, 0.5 * delta.magnitued);
|
|
96
|
+
return ValueObjects_1.Vector2.Add(t1, halfDelta);
|
|
97
|
+
}
|
|
98
|
+
getTouchDistance(t1, t2) {
|
|
99
|
+
const delta = ValueObjects_1.Vector2.Subtract(t2, t1);
|
|
100
|
+
return delta.magnitued;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectUC } from "../../../AppObject/AppObjectUC";
|
|
3
|
+
import { ParametricLine, Vector3 } from "../../../ValueObjects";
|
|
4
|
+
export declare class ScaleSceneRootWithRay extends AppObjectUC {
|
|
5
|
+
static readonly type = "ScaleSceneRootWithRay";
|
|
6
|
+
readonly sensitivity = 10;
|
|
7
|
+
private appObjects;
|
|
8
|
+
private sceneRoot?;
|
|
9
|
+
private pickPoint;
|
|
10
|
+
private lastDistance;
|
|
11
|
+
doScale: (pickRay: ParametricLine, rayStart: Vector3) => void;
|
|
12
|
+
initializeScale: (pickRay: ParametricLine, rayStart: Vector3) => void;
|
|
13
|
+
constructor(appObject: AppObject);
|
|
14
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScaleSceneRootWithRay = void 0;
|
|
4
|
+
const AppObjectUC_1 = require("../../../AppObject/AppObjectUC");
|
|
5
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
6
|
+
const Babylon_1 = require("../../Babylon");
|
|
7
|
+
const SceneRoot_1 = require("../Entities/SceneRoot");
|
|
8
|
+
class ScaleSceneRootWithRay extends AppObjectUC_1.AppObjectUC {
|
|
9
|
+
constructor(appObject) {
|
|
10
|
+
super(appObject, ScaleSceneRootWithRay.type);
|
|
11
|
+
this.sensitivity = 10;
|
|
12
|
+
this.pickPoint = ValueObjects_1.Vector3.Zero();
|
|
13
|
+
this.lastDistance = 0;
|
|
14
|
+
this.doScale = (pickRay, rayStart) => {
|
|
15
|
+
if (!this.sceneRoot)
|
|
16
|
+
return;
|
|
17
|
+
const newDistance = ValueObjects_1.Vector3.Subtract(rayStart, this.pickPoint).magnitued;
|
|
18
|
+
const distanceChange = newDistance - this.lastDistance;
|
|
19
|
+
const currentScale = this.sceneRoot.scale;
|
|
20
|
+
const scaleDelta = distanceChange * this.sensitivity * currentScale;
|
|
21
|
+
this.sceneRoot.bumpScaleAboutPoint(scaleDelta, this.pickPoint);
|
|
22
|
+
this.lastDistance = newDistance;
|
|
23
|
+
};
|
|
24
|
+
this.initializeScale = (pickRay, rayStart) => {
|
|
25
|
+
var _a;
|
|
26
|
+
const pick = Babylon_1.sceneRayPick(pickRay, this.appObjects);
|
|
27
|
+
this.pickPoint = (_a = pick === null || pick === void 0 ? void 0 : pick.worldPickPoint) !== null && _a !== void 0 ? _a : ValueObjects_1.Vector3.Zero();
|
|
28
|
+
this.lastDistance = ValueObjects_1.Vector3.Subtract(rayStart, this.pickPoint).magnitued;
|
|
29
|
+
};
|
|
30
|
+
this.appObjects = appObject.appObjectRepo;
|
|
31
|
+
this.sceneRoot = appObject.getComponent(SceneRoot_1.SceneRoot.type);
|
|
32
|
+
if (!this.sceneRoot) {
|
|
33
|
+
console.warn("ScaleSceneRootWithRay added to an app object that does not have a SceneRootEntity");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.ScaleSceneRootWithRay = ScaleSceneRootWithRay;
|
|
38
|
+
ScaleSceneRootWithRay.type = "ScaleSceneRootWithRay";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
|
|
3
|
+
import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
|
|
4
|
+
export interface SerializedStates {
|
|
5
|
+
version: number;
|
|
6
|
+
systems: SystemState[];
|
|
7
|
+
}
|
|
8
|
+
export interface SystemState {
|
|
9
|
+
name: string;
|
|
10
|
+
seriliziationVersion: number;
|
|
11
|
+
state: object;
|
|
12
|
+
}
|
|
13
|
+
export interface SerializedSystem {
|
|
14
|
+
name: string;
|
|
15
|
+
seriliziationVersion: number;
|
|
16
|
+
getSystemState(): object;
|
|
17
|
+
applySystemState(state: object, version: number, transitionDuration: number): void;
|
|
18
|
+
applyDefaultState(transitionDuration: number): void;
|
|
19
|
+
}
|
|
20
|
+
export declare abstract class StateMachineEntity extends AppObjectEntity {
|
|
21
|
+
static readonly type = "StateMachineEntity";
|
|
22
|
+
abstract transitionEaseFunction: (normalizedTime: number) => number;
|
|
23
|
+
abstract getSerializedStates(): SerializedStates;
|
|
24
|
+
abstract setSerializedStates(state: SerializedStates, transitionTime: number): void;
|
|
25
|
+
abstract applySerializedStatesString: (state: string, duration?: number) => void;
|
|
26
|
+
abstract setDefaultState(transitionTime: number): void;
|
|
27
|
+
abstract registerSerializedSystem(serializedSystem: SerializedSystem): void;
|
|
28
|
+
static get(appObjects: AppObjectRepo): StateMachineEntity | undefined;
|
|
29
|
+
}
|
|
30
|
+
export declare function makeStateMachineEntity(appObject: AppObject): StateMachineEntity;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeStateMachineEntity = exports.StateMachineEntity = void 0;
|
|
4
|
+
const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
|
|
5
|
+
const App_1 = require("../../App");
|
|
6
|
+
class StateMachineEntity extends AppObjectEntity_1.AppObjectEntity {
|
|
7
|
+
static get(appObjects) {
|
|
8
|
+
const components = appObjects.getAllComponents(StateMachineEntity.type);
|
|
9
|
+
if (components.length === 0) {
|
|
10
|
+
App_1.submitWarning("StateMachineEntity", `Unable to find component ${StateMachineEntity.type}. Add one on Mount`, appObjects);
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
else if (components.length > 1) {
|
|
14
|
+
App_1.submitWarning("StateMachineEntity", `Multiple ${StateMachineEntity.type} found. There should only be one. Using the first one`, appObjects);
|
|
15
|
+
}
|
|
16
|
+
return components[0];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.StateMachineEntity = StateMachineEntity;
|
|
20
|
+
StateMachineEntity.type = "StateMachineEntity";
|
|
21
|
+
function makeStateMachineEntity(appObject) {
|
|
22
|
+
return new StateMachineImp(appObject);
|
|
23
|
+
}
|
|
24
|
+
exports.makeStateMachineEntity = makeStateMachineEntity;
|
|
25
|
+
class StateMachineImp extends StateMachineEntity {
|
|
26
|
+
constructor(appObject) {
|
|
27
|
+
super(appObject, StateMachineEntity.type);
|
|
28
|
+
this.serializedSystems = new Map();
|
|
29
|
+
this.serilizationVersion = 2;
|
|
30
|
+
this.transitionEaseFunction = (normalizedTime) => {
|
|
31
|
+
return normalizedTime; // default to a linear function
|
|
32
|
+
};
|
|
33
|
+
this.applySerializedStatesString = (state, duration = 0) => {
|
|
34
|
+
if (state === "") {
|
|
35
|
+
this.setDefaultState(duration);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
try {
|
|
39
|
+
const stateObj = JSON.parse(state);
|
|
40
|
+
this.setSerializedStates(stateObj, duration);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
this.setDefaultState(duration);
|
|
44
|
+
App_1.submitWarning("StateMachineEntity", `Failed to deserialize state string ${state} with Error ${e.message}`, this.appObject.appObjectRepo);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.registerSerializedSystem = (serializedSystem) => {
|
|
49
|
+
if (this.serializedSystems.has(serializedSystem.name)) {
|
|
50
|
+
App_1.submitError("StateMachineEntity", `Duplicate stateable systems encountered: ${serializedSystem.name}`, this.appObject.appObjectRepo);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.serializedSystems.set(serializedSystem.name, serializedSystem);
|
|
54
|
+
return;
|
|
55
|
+
};
|
|
56
|
+
this.getSerializedStates = () => {
|
|
57
|
+
const systems = Array.from(this.serializedSystems.values());
|
|
58
|
+
const serializedStates = systems.map((system) => {
|
|
59
|
+
const state = system.getSystemState();
|
|
60
|
+
return {
|
|
61
|
+
seriliziationVersion: system.seriliziationVersion,
|
|
62
|
+
name: system.name,
|
|
63
|
+
state,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
version: this.serilizationVersion,
|
|
68
|
+
systems: serializedStates,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
this.setSerializedStates = (states, duration) => {
|
|
72
|
+
if (states.version === 2) {
|
|
73
|
+
const appliedToSystems = [];
|
|
74
|
+
states.systems.forEach((systemState) => {
|
|
75
|
+
const seriliazableSystem = this.serializedSystems.get(systemState.name);
|
|
76
|
+
if (seriliazableSystem) {
|
|
77
|
+
seriliazableSystem.applySystemState(systemState.state, systemState.seriliziationVersion, duration);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
App_1.submitWarning("StateMachineEntity", `Unable to find seriarializedSystem ${systemState.name}`, this.appObject.appObjectRepo);
|
|
81
|
+
}
|
|
82
|
+
appliedToSystems.push(systemState.name);
|
|
83
|
+
});
|
|
84
|
+
this.serializedSystems.forEach((system) => {
|
|
85
|
+
if (!appliedToSystems.includes(system.name)) {
|
|
86
|
+
system.applyDefaultState(duration);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
this.notifyOnChange();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// Here is where we will add support for future versions
|
|
93
|
+
else {
|
|
94
|
+
App_1.submitError("StateMachineEntity", `Unsupported sereialized state encountered: ${states.version}`, this.appObject.appObjectRepo);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
this.setDefaultState = (duration) => {
|
|
99
|
+
this.serializedSystems.forEach((system) => {
|
|
100
|
+
system.applyDefaultState(duration);
|
|
101
|
+
});
|
|
102
|
+
this.notifyOnChange();
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Entities/StateMachineEntity";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Entities/StateMachineEntity"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectController } from "../../../AppObject/AppObjectController";
|
|
3
|
+
import { KeyboardController } from "../../KeyboardInput";
|
|
4
|
+
export declare class ToolHotkeys<ToolTypes> extends AppObjectController implements KeyboardController {
|
|
5
|
+
static readonly type = "ToolHotkeys";
|
|
6
|
+
private toolRepo?;
|
|
7
|
+
onKeyDown: (e: KeyboardEvent) => void;
|
|
8
|
+
constructor(appObject: AppObject);
|
|
9
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToolHotkeys = void 0;
|
|
4
|
+
const __1 = require("../..");
|
|
5
|
+
const AppObjectController_1 = require("../../../AppObject/AppObjectController");
|
|
6
|
+
const KeyboardInput_1 = require("../../KeyboardInput");
|
|
7
|
+
const ToolRepository_1 = require("../Entities/ToolRepository");
|
|
8
|
+
class ToolHotkeys extends AppObjectController_1.AppObjectController {
|
|
9
|
+
constructor(appObject) {
|
|
10
|
+
super(appObject, ToolHotkeys.type);
|
|
11
|
+
this.onKeyDown = (e) => {
|
|
12
|
+
if (!this.toolRepo)
|
|
13
|
+
return;
|
|
14
|
+
if (e.repeat)
|
|
15
|
+
return;
|
|
16
|
+
const currentKey = {
|
|
17
|
+
keyCode: e.code,
|
|
18
|
+
alt: e.altKey,
|
|
19
|
+
control: e.ctrlKey,
|
|
20
|
+
meta: e.metaKey,
|
|
21
|
+
shift: e.shiftKey,
|
|
22
|
+
};
|
|
23
|
+
const tool = this.toolRepo.getToolForHotkey(currentKey);
|
|
24
|
+
if (!tool)
|
|
25
|
+
return;
|
|
26
|
+
this.toolRepo.triggerTool(tool.toolType);
|
|
27
|
+
};
|
|
28
|
+
this.toolRepo = appObject.getComponent(ToolRepository_1.ToolRepository.type);
|
|
29
|
+
if (!this.toolRepo) {
|
|
30
|
+
__1.submitWarning("ToolHotkeys", "Controller has been added to an App Object that does not have ToolRepository. Add one first.", appObject.appObjectRepo);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const keyboardInput = KeyboardInput_1.KeyboardInputEntity.get(appObject.appObjectRepo);
|
|
34
|
+
if (keyboardInput) {
|
|
35
|
+
keyboardInput.registerController(this);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
__1.submitWarning("ToolHotkeys", "Unable to find KeyboardInputEntity", appObject.appObjectRepo);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.ToolHotkeys = ToolHotkeys;
|
|
43
|
+
ToolHotkeys.type = "ToolHotkeys";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.triggerTool = void 0;
|
|
4
|
+
const App_1 = require("../../App");
|
|
5
|
+
const ToolRepository_1 = require("../Entities/ToolRepository");
|
|
6
|
+
function triggerTool(toolType, appObjects) {
|
|
7
|
+
const repo = ToolRepository_1.ToolRepository.get(appObjects);
|
|
8
|
+
if (!repo) {
|
|
9
|
+
App_1.submitWarning("triggerTool", "Unable to find ToolRepository", appObjects);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
repo.triggerTool(toolType);
|
|
13
|
+
}
|
|
14
|
+
exports.triggerTool = triggerTool;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
|
|
3
|
+
export declare enum ToolState {
|
|
4
|
+
HIDDEN = "HIDDEN",
|
|
5
|
+
DISABLED = "DISABLED",
|
|
6
|
+
ENABLED = "ENABLED",
|
|
7
|
+
ACTIVE = "ACTIVE"
|
|
8
|
+
}
|
|
9
|
+
export interface ToolData<ToolTypes> {
|
|
10
|
+
toolType: ToolTypes;
|
|
11
|
+
isDefault: boolean;
|
|
12
|
+
label: string;
|
|
13
|
+
shortcutLabel: string;
|
|
14
|
+
hotkeys: HotKey[];
|
|
15
|
+
}
|
|
16
|
+
export interface HotKey {
|
|
17
|
+
keyCode: string;
|
|
18
|
+
control?: boolean;
|
|
19
|
+
shift?: boolean;
|
|
20
|
+
meta?: boolean;
|
|
21
|
+
alt?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class ToolEntity<ToolTypes> extends AppObjectEntity {
|
|
24
|
+
static readonly type = "TOOL";
|
|
25
|
+
abstract readonly toolType: ToolTypes;
|
|
26
|
+
abstract get label(): string;
|
|
27
|
+
abstract set label(toolLabel: string);
|
|
28
|
+
abstract readonly isDefault: boolean;
|
|
29
|
+
abstract get shortcutLabel(): string;
|
|
30
|
+
abstract set shortcutLabel(shorcut: string);
|
|
31
|
+
abstract get state(): ToolState;
|
|
32
|
+
abstract set state(val: ToolState);
|
|
33
|
+
abstract readonly hotkeys: HotKey[];
|
|
34
|
+
abstract get isAction(): boolean;
|
|
35
|
+
abstract triggerActions(): void;
|
|
36
|
+
abstract registerAction(action: () => void): void;
|
|
37
|
+
abstract isMyHotkey(hotkey: HotKey): boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare function makeToolEntity<ToolTypes>(data: ToolData<ToolTypes>, appObject: AppObject): ToolEntity<ToolTypes>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeToolEntity = exports.ToolEntity = exports.ToolState = void 0;
|
|
4
|
+
const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
|
|
5
|
+
const Entities_1 = require("../../../Entities");
|
|
6
|
+
var ToolState;
|
|
7
|
+
(function (ToolState) {
|
|
8
|
+
ToolState["HIDDEN"] = "HIDDEN";
|
|
9
|
+
ToolState["DISABLED"] = "DISABLED";
|
|
10
|
+
ToolState["ENABLED"] = "ENABLED";
|
|
11
|
+
ToolState["ACTIVE"] = "ACTIVE";
|
|
12
|
+
})(ToolState = exports.ToolState || (exports.ToolState = {}));
|
|
13
|
+
class ToolEntity extends AppObjectEntity_1.AppObjectEntity {
|
|
14
|
+
}
|
|
15
|
+
exports.ToolEntity = ToolEntity;
|
|
16
|
+
ToolEntity.type = "TOOL";
|
|
17
|
+
function makeToolEntity(data, appObject) {
|
|
18
|
+
return new ToolEntityImp(data, appObject);
|
|
19
|
+
}
|
|
20
|
+
exports.makeToolEntity = makeToolEntity;
|
|
21
|
+
class ToolEntityImp extends ToolEntity {
|
|
22
|
+
constructor(data, appObject) {
|
|
23
|
+
super(appObject, ToolEntity.type);
|
|
24
|
+
this.memoizedState = new Entities_1.MemoizedString(ToolState.ENABLED, this.notifyOnChange);
|
|
25
|
+
this.actions = [];
|
|
26
|
+
this._isAction = false;
|
|
27
|
+
this.registerAction = (action) => {
|
|
28
|
+
this.actions.push(action);
|
|
29
|
+
this._isAction = true;
|
|
30
|
+
};
|
|
31
|
+
this.triggerActions = () => {
|
|
32
|
+
this.actions.forEach((action) => {
|
|
33
|
+
action();
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
this.isMyHotkey = (hotkey) => {
|
|
37
|
+
let isMine = false;
|
|
38
|
+
this.hotkeys.forEach((myHotkey) => {
|
|
39
|
+
if (this.hotkeysMatch(myHotkey, hotkey)) {
|
|
40
|
+
isMine = true;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return isMine;
|
|
44
|
+
};
|
|
45
|
+
this.toolType = data.toolType;
|
|
46
|
+
this.memoizedLabel = new Entities_1.MemoizedString(data.label, this.notifyOnChange);
|
|
47
|
+
this.isDefault = data.isDefault;
|
|
48
|
+
this.memoizedShortcut = new Entities_1.MemoizedString(data.shortcutLabel, this.notifyOnChange);
|
|
49
|
+
this.hotkeys = data.hotkeys;
|
|
50
|
+
}
|
|
51
|
+
get label() {
|
|
52
|
+
return this.memoizedLabel.val;
|
|
53
|
+
}
|
|
54
|
+
set label(toolLabel) {
|
|
55
|
+
this.memoizedLabel.val = toolLabel;
|
|
56
|
+
}
|
|
57
|
+
get shortcutLabel() {
|
|
58
|
+
return this.memoizedShortcut.val;
|
|
59
|
+
}
|
|
60
|
+
set shortcutLabel(shorcut) {
|
|
61
|
+
this.memoizedShortcut.val = shorcut;
|
|
62
|
+
}
|
|
63
|
+
get state() {
|
|
64
|
+
return this.memoizedState.val;
|
|
65
|
+
}
|
|
66
|
+
set state(val) {
|
|
67
|
+
this.memoizedState.val = val;
|
|
68
|
+
}
|
|
69
|
+
get isAction() {
|
|
70
|
+
return this._isAction;
|
|
71
|
+
}
|
|
72
|
+
hotkeysMatch(a, b) {
|
|
73
|
+
if (a.keyCode !== b.keyCode)
|
|
74
|
+
return false;
|
|
75
|
+
const aComplete = this.fillInMissingModifiers(a);
|
|
76
|
+
const bComplete = this.fillInMissingModifiers(b);
|
|
77
|
+
if (aComplete.alt !== bComplete.alt)
|
|
78
|
+
return false;
|
|
79
|
+
if (aComplete.control !== bComplete.control)
|
|
80
|
+
return false;
|
|
81
|
+
if (aComplete.meta !== bComplete.meta)
|
|
82
|
+
return false;
|
|
83
|
+
if (aComplete.shift !== bComplete.shift)
|
|
84
|
+
return false;
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
fillInMissingModifiers(hotkey) {
|
|
88
|
+
const rVal = Object.assign({}, hotkey);
|
|
89
|
+
rVal.alt = hotkey.alt === undefined ? false : hotkey.alt;
|
|
90
|
+
rVal.control = hotkey.control === undefined ? false : hotkey.control;
|
|
91
|
+
rVal.meta = hotkey.meta === undefined ? false : hotkey.meta;
|
|
92
|
+
rVal.shift = hotkey.shift === undefined ? false : hotkey.shift;
|
|
93
|
+
return rVal;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AppObject } from "../../../AppObject/AppObject";
|
|
2
|
+
import { AppObjectEntity } from "../../../AppObject/AppObjectEntity";
|
|
3
|
+
import { AppObjectRepo } from "../../../AppObject/AppObjectRepo";
|
|
4
|
+
import { HotKey, ToolData, ToolEntity } from "./ToolEntity";
|
|
5
|
+
export declare abstract class ToolRepository<ToolTypes> extends AppObjectEntity {
|
|
6
|
+
static readonly type = "TOOL_REPOSITORY";
|
|
7
|
+
abstract get activeTool(): ToolEntity<ToolTypes> | undefined;
|
|
8
|
+
abstract get allTools(): ToolEntity<ToolTypes>[];
|
|
9
|
+
abstract setupToolsFromData(toolData: ToolData<ToolTypes>[]): void;
|
|
10
|
+
abstract getTool(toolType: ToolTypes): ToolEntity<ToolTypes> | undefined;
|
|
11
|
+
abstract getToolForHotkey(hotkey: HotKey): ToolEntity<ToolTypes> | undefined;
|
|
12
|
+
abstract setDefaultToolActive(): void;
|
|
13
|
+
abstract triggerTool(toolType: ToolTypes): void;
|
|
14
|
+
abstract toggleToolVisibility(toolType: ToolTypes): void;
|
|
15
|
+
static get<ToolTypes>(appObjects: AppObjectRepo): ToolRepository<ToolTypes> | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function makeToolRepo<ToolTypes>(appObject: AppObject): ToolRepository<ToolTypes>;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeToolRepo = exports.ToolRepository = void 0;
|
|
4
|
+
const AppObjectEntity_1 = require("../../../AppObject/AppObjectEntity");
|
|
5
|
+
const App_1 = require("../../App");
|
|
6
|
+
const setupTool_1 = require("../Factories/setupTool");
|
|
7
|
+
const ToolEntity_1 = require("./ToolEntity");
|
|
8
|
+
class ToolRepository extends AppObjectEntity_1.AppObjectEntity {
|
|
9
|
+
static get(appObjects) {
|
|
10
|
+
const components = appObjects.getAllComponents(ToolRepository.type);
|
|
11
|
+
if (components.length === 0) {
|
|
12
|
+
App_1.submitWarning("ToolRepository", `Unable to find component ${ToolRepository.type}. Add one on Mount`, appObjects);
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
else if (components.length > 1) {
|
|
16
|
+
App_1.submitWarning("ToolRepository", `Multiple ${ToolRepository.type} found. There should only be one. Using the first one`, appObjects);
|
|
17
|
+
}
|
|
18
|
+
return components[0];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ToolRepository = ToolRepository;
|
|
22
|
+
ToolRepository.type = "TOOL_REPOSITORY";
|
|
23
|
+
function makeToolRepo(appObject) {
|
|
24
|
+
return new ToolRepositoryImp(appObject);
|
|
25
|
+
}
|
|
26
|
+
exports.makeToolRepo = makeToolRepo;
|
|
27
|
+
class ToolRepositoryImp extends ToolRepository {
|
|
28
|
+
constructor(appObject) {
|
|
29
|
+
super(appObject, ToolRepository.type);
|
|
30
|
+
this.toolLookup = new Map();
|
|
31
|
+
}
|
|
32
|
+
get allTools() {
|
|
33
|
+
return Array.from(this.toolLookup.values());
|
|
34
|
+
}
|
|
35
|
+
setDefaultToolActive() {
|
|
36
|
+
if (this._defaultToolType !== undefined) {
|
|
37
|
+
this.triggerTool(this._defaultToolType);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.warn(`[ToolRepository] No default tools has been specified`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
setupToolsFromData(toolDatas) {
|
|
44
|
+
toolDatas.forEach((toolData) => {
|
|
45
|
+
const toolType = toolData.toolType;
|
|
46
|
+
if (this.toolLookup.has(toolType)) {
|
|
47
|
+
console.warn(`[ToolRepository] A tool with the ID ${toolData.toolType} already exists. Replacing`);
|
|
48
|
+
}
|
|
49
|
+
const tool = setupTool_1.setupTool(toolData, this.appObject.appObjectRepo);
|
|
50
|
+
this.toolLookup.set(toolType, tool);
|
|
51
|
+
if (toolData.isDefault) {
|
|
52
|
+
if (this._defaultToolType) {
|
|
53
|
+
console.warn(`[ToolRepository] More than one tools is marked as default. Replacing`);
|
|
54
|
+
}
|
|
55
|
+
this._defaultToolType = toolType;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
if (!this._defaultToolType) {
|
|
59
|
+
console.warn(`[ToolRepository] No default tools was specified. Defaulting to the first tool in the list`);
|
|
60
|
+
this._defaultToolType = Array.from(this.toolLookup.keys())[0];
|
|
61
|
+
}
|
|
62
|
+
if (this._defaultToolType) {
|
|
63
|
+
this.triggerTool(this._defaultToolType);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
getTool(type) {
|
|
67
|
+
return this.toolLookup.get(type);
|
|
68
|
+
}
|
|
69
|
+
getToolForHotkey(hotkey) {
|
|
70
|
+
let tool;
|
|
71
|
+
this.allTools.forEach((t) => {
|
|
72
|
+
if (t.isMyHotkey(hotkey)) {
|
|
73
|
+
tool = t;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return tool;
|
|
77
|
+
}
|
|
78
|
+
get activeTool() {
|
|
79
|
+
if (!this._activeToolType)
|
|
80
|
+
return undefined;
|
|
81
|
+
return this.getTool(this._activeToolType);
|
|
82
|
+
}
|
|
83
|
+
triggerTool(type) {
|
|
84
|
+
if (this._activeToolType === type)
|
|
85
|
+
return;
|
|
86
|
+
const newActiveTool = this.toolLookup.get(type);
|
|
87
|
+
if (!newActiveTool) {
|
|
88
|
+
console.warn(`[ToolRepository] Unable to find tool ${type}`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (newActiveTool.isAction) {
|
|
92
|
+
newActiveTool.triggerActions();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (newActiveTool.state === ToolEntity_1.ToolState.DISABLED) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (newActiveTool.state === ToolEntity_1.ToolState.HIDDEN) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.toolLookup.forEach((tool) => {
|
|
102
|
+
if (tool.toolType === type) {
|
|
103
|
+
this._activeToolType = type;
|
|
104
|
+
tool.state = ToolEntity_1.ToolState.ACTIVE;
|
|
105
|
+
}
|
|
106
|
+
else if (tool.state === ToolEntity_1.ToolState.ACTIVE) {
|
|
107
|
+
tool.state = ToolEntity_1.ToolState.ENABLED;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
this.notifyOnChange();
|
|
111
|
+
}
|
|
112
|
+
toggleToolVisibility(type) {
|
|
113
|
+
const tool = this.getTool(type);
|
|
114
|
+
if (!tool) {
|
|
115
|
+
console.warn(`[ToolRepository] Unable to find tool to toggle: ${type}`);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (tool.toolType === this._defaultToolType) {
|
|
119
|
+
console.warn(`[ToolRepository] The default tool's visibility cannot be toggled`);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (tool.state === ToolEntity_1.ToolState.HIDDEN) {
|
|
123
|
+
tool.state = ToolEntity_1.ToolState.ENABLED;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (tool.state === ToolEntity_1.ToolState.ACTIVE) {
|
|
127
|
+
this.setDefaultToolActive();
|
|
128
|
+
}
|
|
129
|
+
tool.state = ToolEntity_1.ToolState.HIDDEN;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|