@vived/app 4.1.0 → 4.3.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/ChannelModel/Entities/ChannelModel.d.ts +42 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModel.js +99 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.d.ts +12 -0
- package/lib/AppObjectComponents/ChannelModel/Entities/ChannelModelRepo.js +45 -0
- package/lib/AppObjectComponents/ChannelModel/index.d.ts +2 -0
- package/lib/AppObjectComponents/ChannelModel/index.js +14 -0
- package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.d.ts +16 -0
- package/lib/AppObjectComponents/Dispatcher/Entities/AppDispatcher.js +40 -0
- package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.d.ts +5 -0
- package/lib/AppObjectComponents/Dispatcher/Factories/makeBasicDispatcher.js +25 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStartZSpaceUC.js +44 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/DispatchStopZSpaceUC.js +44 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GoToNextStateUC.js +44 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/GoToPreviousStateUC.js +44 -0
- package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/HasNextStateUC.js +54 -0
- package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/HasPreviousStateUC.js +54 -0
- package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.d.ts +10 -0
- package/lib/AppObjectComponents/Dispatcher/UC/IsZSpaceAvailableUC.js +54 -0
- package/lib/AppObjectComponents/Dispatcher/index.d.ts +9 -0
- package/lib/AppObjectComponents/Dispatcher/index.js +21 -0
- package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.d.ts +16 -0
- package/lib/AppObjectComponents/Enablement/Entities/EnablablementEntity.js +28 -0
- package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.d.ts +14 -0
- package/lib/AppObjectComponents/Enablement/PM/EnablableStatePM.js +41 -0
- package/lib/AppObjectComponents/Enablement/index.d.ts +2 -0
- package/lib/AppObjectComponents/Enablement/index.js +14 -0
- package/lib/AppObjectComponents/Hideable/Entities/Hideable.d.ts +10 -0
- package/lib/AppObjectComponents/Hideable/Entities/Hideable.js +31 -0
- package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.d.ts +12 -0
- package/lib/AppObjectComponents/Hideable/PresentationManagers/IsHiddenPM.js +43 -0
- package/lib/AppObjectComponents/Hideable/index.d.ts +2 -0
- package/lib/AppObjectComponents/Hideable/index.js +14 -0
- package/lib/AppObjectComponents/Label/Entities/Label.d.ts +17 -0
- package/lib/AppObjectComponents/Label/Entities/Label.js +58 -0
- package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.d.ts +19 -0
- package/lib/AppObjectComponents/Label/PresentationManagers/LabelPM.js +62 -0
- package/lib/AppObjectComponents/Label/index.d.ts +2 -0
- package/lib/AppObjectComponents/Label/index.js +14 -0
- package/lib/AppObjectComponents/Mesh/Entities/Mesh.d.ts +21 -0
- package/lib/AppObjectComponents/Mesh/Entities/Mesh.js +45 -0
- package/lib/AppObjectComponents/Mesh/index.d.ts +1 -0
- package/lib/{Components/Tools/Factory → AppObjectComponents/Mesh}/index.js +1 -2
- package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.d.ts +25 -0
- package/lib/AppObjectComponents/OverlayColor/Entities/OverlayColor.js +59 -0
- package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.d.ts +13 -0
- package/lib/AppObjectComponents/OverlayColor/PresentationManagers/OverlayColorPM.js +43 -0
- package/lib/AppObjectComponents/OverlayColor/index.d.ts +2 -0
- package/lib/AppObjectComponents/OverlayColor/index.js +14 -0
- package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.d.ts +31 -0
- package/lib/AppObjectComponents/SceneRoot/Entities/SceneRoot.js +106 -0
- package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.d.ts +31 -0
- package/lib/AppObjectComponents/SceneRoot/UC/SerializeSceneRoot.js +109 -0
- package/lib/AppObjectComponents/SceneRoot/index.d.ts +2 -0
- package/lib/AppObjectComponents/SceneRoot/index.js +14 -0
- package/lib/AppObjectComponents/StoredView/Entities/StoredView.d.ts +13 -0
- package/lib/AppObjectComponents/StoredView/Entities/StoredView.js +64 -0
- package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.d.ts +27 -0
- package/lib/AppObjectComponents/StoredView/UC/SerializeStoredView.js +82 -0
- package/lib/AppObjectComponents/StoredView/index.d.ts +2 -0
- package/lib/AppObjectComponents/StoredView/index.js +14 -0
- package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.d.ts +45 -0
- package/lib/AppObjectComponents/Transform3D/Entities/Transform3D.js +226 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.d.ts +12 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/CanBeStuckPM.js +46 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.d.ts +19 -0
- package/lib/AppObjectComponents/Transform3D/PresentationManagers/Transform3DPM.js +60 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.d.ts +20 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/PeelTransform3D.js +67 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.d.ts +14 -0
- package/lib/AppObjectComponents/Transform3D/UseCases/StickTransform3D.js +53 -0
- package/lib/AppObjectComponents/Transform3D/index.d.ts +5 -0
- package/lib/AppObjectComponents/Transform3D/index.js +17 -0
- package/lib/AppObjectComponents/index.d.ts +10 -0
- package/lib/AppObjectComponents/index.js +22 -0
- package/lib/Components/Babylon/Mocks/MockPixelToSceneRayUC.d.ts +5 -0
- package/lib/Components/Babylon/Mocks/MockPixelToSceneRayUC.js +11 -0
- package/lib/Components/Babylon/Mocks/MockSceneRayPickUC.d.ts +5 -0
- package/lib/Components/Babylon/Mocks/MockSceneRayPickUC.js +11 -0
- package/lib/Components/Dispatcher/UC/RestoreCurrentStateUC.d.ts +10 -0
- package/lib/Components/Dispatcher/UC/RestoreCurrentStateUC.js +35 -0
- package/lib/Components/Dispatcher/UC/index.d.ts +1 -0
- package/lib/Components/Dispatcher/UC/index.js +1 -0
- package/lib/Components/Selection/Controller/MouseHoverOnAppObject.d.ts +11 -0
- package/lib/Components/Selection/Controller/MouseHoverOnAppObject.js +42 -0
- package/lib/Components/Selection/Controller/MousePressOnAppObject.d.ts +18 -0
- package/lib/Components/Selection/Controller/MousePressOnAppObject.js +81 -0
- package/lib/Components/Selection/Controller/MouseSelectAppObject.d.ts +11 -0
- package/lib/Components/Selection/Controller/MouseSelectAppObject.js +46 -0
- package/lib/Components/Selection/Controller/StylusHoverOnAppObject.d.ts +11 -0
- package/lib/Components/Selection/Controller/StylusHoverOnAppObject.js +42 -0
- package/lib/Components/Selection/Controller/StylusPressOnAppObject.d.ts +18 -0
- package/lib/Components/Selection/Controller/StylusPressOnAppObject.js +77 -0
- package/lib/Components/Selection/Controller/StylusSelectAppObject.d.ts +11 -0
- package/lib/Components/Selection/Controller/StylusSelectAppObject.js +44 -0
- package/lib/Components/Selection/Controller/TapToSelectAppObject.d.ts +16 -0
- package/lib/Components/Selection/Controller/TapToSelectAppObject.js +69 -0
- package/lib/Components/Selection/Controller/TouchPressOnAppObject.d.ts +18 -0
- package/lib/Components/Selection/Controller/TouchPressOnAppObject.js +78 -0
- package/lib/Components/Selection/Controller/index.d.ts +8 -0
- package/lib/Components/Selection/Controller/index.js +20 -0
- package/lib/Components/Selection/Entities/Selectable.d.ts +15 -0
- package/lib/Components/Selection/Entities/Selectable.js +48 -0
- package/lib/Components/Selection/Entities/Selection.d.ts +18 -0
- package/lib/Components/Selection/Entities/Selection.js +122 -0
- package/lib/Components/Selection/Entities/index.d.ts +2 -0
- package/lib/Components/Selection/Entities/index.js +14 -0
- package/lib/Components/Selection/PM/SelectableStatePM.d.ts +16 -0
- package/lib/Components/Selection/PM/SelectableStatePM.js +51 -0
- package/lib/Components/Selection/PM/SelectedObjectPM.d.ts +6 -0
- package/lib/Components/Selection/PM/SelectedObjectPM.js +41 -0
- package/lib/Components/Selection/PM/index.d.ts +2 -0
- package/lib/Components/Selection/PM/index.js +14 -0
- package/lib/Components/Selection/UC/HoverAppObjectUC.d.ts +11 -0
- package/lib/Components/Selection/UC/HoverAppObjectUC.js +59 -0
- package/lib/Components/Selection/UC/PressAppObjectUC.d.ts +11 -0
- package/lib/Components/Selection/UC/PressAppObjectUC.js +60 -0
- package/lib/Components/Selection/UC/SelectAppObjectUC.d.ts +11 -0
- package/lib/Components/Selection/UC/SelectAppObjectUC.js +59 -0
- package/lib/Components/Selection/UC/index.d.ts +3 -0
- package/lib/Components/Selection/UC/index.js +15 -0
- package/lib/Components/Selection/index.d.ts +4 -0
- package/lib/Components/Selection/index.js +16 -0
- package/lib/Components/index.d.ts +1 -0
- package/lib/Components/index.js +1 -0
- package/lib/Controllers/HoverLabelMouse.d.ts +10 -0
- package/lib/Controllers/HoverLabelMouse.js +23 -0
- package/lib/Controllers/HoverLabelTouch.d.ts +14 -0
- package/lib/Controllers/HoverLabelTouch.js +41 -0
- package/lib/Controllers/ToolHotkeys.d.ts +6 -0
- package/lib/Controllers/ToolHotkeys.js +25 -0
- package/lib/Controllers/index.d.ts +3 -0
- package/lib/Controllers/index.js +15 -0
- package/lib/Entities/AppBoundary.d.ts +6 -0
- package/lib/Entities/AppBoundary.js +2 -0
- package/lib/Entities/AppDispatcher.d.ts +63 -0
- package/lib/Entities/AppDispatcher.js +336 -0
- package/lib/Entities/AppHandler.d.ts +20 -0
- package/lib/Entities/AppHandler.js +94 -0
- package/lib/Entities/Babylon.d.ts +48 -0
- package/lib/Entities/Babylon.js +146 -0
- package/lib/Entities/BaseApp.d.ts +9 -0
- package/lib/Entities/BaseApp.js +30 -0
- package/lib/Entities/DevicePreview.d.ts +11 -0
- package/lib/Entities/DevicePreview.js +49 -0
- package/lib/Entities/FocusCamera.d.ts +70 -0
- package/lib/Entities/FocusCamera.js +272 -0
- package/lib/Entities/FramedScreen.d.ts +15 -0
- package/lib/Entities/FramedScreen.js +58 -0
- package/lib/Entities/FramedScreenContainer.d.ts +12 -0
- package/lib/Entities/FramedScreenContainer.js +41 -0
- package/lib/Entities/HoverLabels.d.ts +42 -0
- package/lib/Entities/HoverLabels.js +82 -0
- package/lib/Entities/KeyboardInput.d.ts +13 -0
- package/lib/Entities/KeyboardInput.js +68 -0
- package/lib/Entities/Memoized/MemoizedAngle.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedAngle.js +22 -0
- package/lib/Entities/Memoized/MemoizedBoolean.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedBoolean.js +22 -0
- package/lib/Entities/Memoized/MemoizedColor.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedColor.js +23 -0
- package/lib/Entities/Memoized/MemoizedNumber.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedNumber.js +22 -0
- package/lib/Entities/Memoized/MemoizedQuaternion.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedQuaternion.js +23 -0
- package/lib/Entities/Memoized/MemoizedString.d.ts +8 -0
- package/lib/Entities/Memoized/MemoizedString.js +22 -0
- package/lib/Entities/Memoized/MemoizedVector2.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedVector2.js +23 -0
- package/lib/Entities/Memoized/MemoizedVector3.d.ts +9 -0
- package/lib/Entities/Memoized/MemoizedVector3.js +23 -0
- package/lib/Entities/MeshModel.d.ts +68 -0
- package/lib/Entities/MeshModel.js +174 -0
- package/lib/Entities/ModelObject.d.ts +10 -0
- package/lib/Entities/ModelObject.js +42 -0
- package/lib/Entities/MouseInput.d.ts +21 -0
- package/lib/Entities/MouseInput.js +127 -0
- package/lib/Entities/ObservableEntityRepo.d.ts +20 -0
- package/lib/Entities/ObservableEntityRepo.js +80 -0
- package/lib/Entities/QuestionChallenge.d.ts +21 -0
- package/lib/Entities/QuestionChallenge.js +103 -0
- package/lib/Entities/QuestionChallengeAnswer.d.ts +32 -0
- package/lib/Entities/QuestionChallengeAnswer.js +51 -0
- package/lib/Entities/SceneModel.d.ts +85 -0
- package/lib/Entities/SceneModel.js +202 -0
- package/lib/Entities/SceneModelMesh.d.ts +40 -0
- package/lib/Entities/SceneModelMesh.js +75 -0
- package/lib/Entities/SceneModelRepo.d.ts +11 -0
- package/lib/Entities/SceneModelRepo.js +48 -0
- package/lib/Entities/SceneObject.d.ts +23 -0
- package/lib/Entities/SceneObject.js +79 -0
- package/lib/Entities/SceneObjectsRepo.d.ts +12 -0
- package/lib/Entities/SceneObjectsRepo.js +58 -0
- package/lib/Entities/SceneRoot.d.ts +29 -0
- package/lib/Entities/SceneRoot.js +145 -0
- package/lib/Entities/StateMachine.d.ts +29 -0
- package/lib/Entities/StateMachine.js +98 -0
- package/lib/Entities/Tool.d.ts +81 -0
- package/lib/Entities/Tool.js +94 -0
- package/lib/Entities/ToolRepository.d.ts +46 -0
- package/lib/Entities/ToolRepository.js +118 -0
- package/lib/Entities/TouchInput.d.ts +28 -0
- package/lib/Entities/TouchInput.js +144 -0
- package/lib/Entities/UndoRedo.d.ts +22 -0
- package/lib/Entities/UndoRedo.js +61 -0
- package/lib/PresentationManagers/DevicePreviewPM.d.ts +14 -0
- package/lib/PresentationManagers/DevicePreviewPM.js +30 -0
- package/lib/PresentationManagers/FocusCameraPM.d.ts +15 -0
- package/lib/PresentationManagers/FocusCameraPM.js +31 -0
- package/lib/PresentationManagers/FocusCameraPosRotPM.d.ts +13 -0
- package/lib/PresentationManagers/FocusCameraPosRotPM.js +28 -0
- package/lib/PresentationManagers/FramedScreenContainerPM.d.ts +18 -0
- package/lib/PresentationManagers/FramedScreenContainerPM.js +55 -0
- package/lib/PresentationManagers/HasRedoPM.d.ts +9 -0
- package/lib/PresentationManagers/HasRedoPM.js +22 -0
- package/lib/PresentationManagers/HasUndoPM.d.ts +9 -0
- package/lib/PresentationManagers/HasUndoPM.js +22 -0
- package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.d.ts +9 -0
- package/lib/PresentationManagers/HoverLabels/AllowHoverLabelPM.js +19 -0
- package/lib/PresentationManagers/HoverLabels/HoverLabelPM.d.ts +17 -0
- package/lib/PresentationManagers/HoverLabels/HoverLabelPM.js +32 -0
- package/lib/PresentationManagers/HoverLabels/index.d.ts +2 -0
- package/lib/PresentationManagers/HoverLabels/index.js +14 -0
- package/lib/PresentationManagers/IsAuthoringPM.d.ts +9 -0
- package/lib/PresentationManagers/IsAuthoringPM.js +20 -0
- package/lib/PresentationManagers/PresentationManager.d.ts +8 -0
- package/lib/PresentationManagers/PresentationManager.js +16 -0
- package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.d.ts +24 -0
- package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengeAnswerPM.js +65 -0
- package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.d.ts +17 -0
- package/lib/PresentationManagers/QuestionChallenge/AuthorQuestionChallengePM.js +46 -0
- package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.d.ts +17 -0
- package/lib/PresentationManagers/QuestionChallenge/QuestionChallengeAnswerPM.js +51 -0
- package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.d.ts +15 -0
- package/lib/PresentationManagers/QuestionChallenge/QuestionChallengePM.js +34 -0
- package/lib/PresentationManagers/QuestionChallenge/index.d.ts +4 -0
- package/lib/PresentationManagers/QuestionChallenge/index.js +16 -0
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.d.ts +15 -0
- package/lib/PresentationManagers/SceneModel/SceneMeshOverlayPM.js +34 -0
- package/lib/PresentationManagers/SceneModel/SceneModelPM.d.ts +15 -0
- package/lib/PresentationManagers/SceneModel/SceneModelPM.js +36 -0
- package/lib/PresentationManagers/SceneModel/index.d.ts +1 -0
- package/lib/PresentationManagers/SceneModel/index.js +13 -0
- package/lib/PresentationManagers/SceneObject/SceneObjectPM.d.ts +22 -0
- package/lib/PresentationManagers/SceneObject/SceneObjectPM.js +57 -0
- package/lib/PresentationManagers/SceneObject/index.d.ts +1 -0
- package/lib/PresentationManagers/SceneObject/index.js +13 -0
- package/lib/PresentationManagers/ShowBabylonInspectorPM.d.ts +9 -0
- package/lib/PresentationManagers/ShowBabylonInspectorPM.js +24 -0
- package/lib/PresentationManagers/ToolPM.d.ts +17 -0
- package/lib/PresentationManagers/ToolPM.js +35 -0
- package/lib/PresentationManagers/TransformNodePM.d.ts +14 -0
- package/lib/PresentationManagers/TransformNodePM.js +23 -0
- package/lib/PresentationManagers/index.d.ts +13 -0
- package/lib/PresentationManagers/index.js +25 -0
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +17 -0
- package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +64 -0
- package/lib/UseCases/FocusCamera/LerpFocusCamera.d.ts +36 -0
- package/lib/UseCases/FocusCamera/LerpFocusCamera.js +71 -0
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +11 -0
- package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +36 -0
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +11 -0
- package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +36 -0
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +11 -0
- package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +26 -0
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +11 -0
- package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +33 -0
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.d.ts +22 -0
- package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +81 -0
- package/lib/UseCases/FocusCamera/index.d.ts +7 -0
- package/lib/UseCases/FocusCamera/index.js +19 -0
- package/lib/UseCases/Handlers/DisposeAppBase.d.ts +8 -0
- package/lib/UseCases/Handlers/DisposeAppBase.js +24 -0
- package/lib/UseCases/Handlers/SetAppStateBase.d.ts +10 -0
- package/lib/UseCases/Handlers/SetAppStateBase.js +32 -0
- package/lib/UseCases/Handlers/SetDevicePreviewBase.d.ts +10 -0
- package/lib/UseCases/Handlers/SetDevicePreviewBase.js +32 -0
- package/lib/UseCases/Handlers/SetIsAuthoringBase.d.ts +10 -0
- package/lib/UseCases/Handlers/SetIsAuthoringBase.js +32 -0
- package/lib/UseCases/Handlers/ShowBabylonInspectorBase.d.ts +10 -0
- package/lib/UseCases/Handlers/ShowBabylonInspectorBase.js +32 -0
- package/lib/UseCases/Handlers/StartAppBase.d.ts +10 -0
- package/lib/UseCases/Handlers/StartAppBase.js +32 -0
- package/lib/UseCases/Handlers/StartZSpaceBase.d.ts +10 -0
- package/lib/UseCases/Handlers/StartZSpaceBase.js +35 -0
- package/lib/UseCases/Handlers/StopAppBase.d.ts +8 -0
- package/lib/UseCases/Handlers/StopAppBase.js +24 -0
- package/lib/UseCases/Handlers/StopZSpaceBase.d.ts +8 -0
- package/lib/UseCases/Handlers/StopZSpaceBase.js +24 -0
- package/lib/UseCases/Handlers/index.d.ts +9 -0
- package/lib/UseCases/Handlers/index.js +21 -0
- package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.d.ts +14 -0
- package/lib/UseCases/HoverLabels/SerializeAllowHoverLabel.js +35 -0
- package/lib/UseCases/HoverLabels/trySetHoverLabel.d.ts +3 -0
- package/lib/UseCases/HoverLabels/trySetHoverLabel.js +12 -0
- package/lib/UseCases/LerpVector3.d.ts +26 -0
- package/lib/UseCases/LerpVector3.js +66 -0
- package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.d.ts +25 -0
- package/lib/UseCases/QuestionChallenge/SerializeQuestionChallenge.js +70 -0
- package/lib/UseCases/QuestionChallenge/index.d.ts +4 -0
- package/lib/UseCases/QuestionChallenge/index.js +16 -0
- package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.d.ts +2 -0
- package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerFeedback.js +16 -0
- package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.d.ts +2 -0
- package/lib/UseCases/QuestionChallenge/setQuesionChallengeAnswerText.js +16 -0
- package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.d.ts +2 -0
- package/lib/UseCases/QuestionChallenge/toggleQuesionChallengeAnswerIsCorrect.js +16 -0
- package/lib/UseCases/SceneModel/SerializeActiveModel.d.ts +18 -0
- package/lib/UseCases/SceneModel/SerializeActiveModel.js +74 -0
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.d.ts +7 -0
- package/lib/UseCases/SceneModel/SetMeshesEnabledHook.js +22 -0
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.d.ts +2 -0
- package/lib/UseCases/SceneModel/SetSceneModelMeshOverlayColor.js +13 -0
- package/lib/UseCases/SceneModel/index.d.ts +5 -0
- package/lib/UseCases/SceneModel/index.js +17 -0
- package/lib/UseCases/SceneModel/loadNewModel.d.ts +2 -0
- package/lib/UseCases/SceneModel/loadNewModel.js +84 -0
- package/lib/UseCases/SceneModel/modelDataLoader.d.ts +3 -0
- package/lib/UseCases/SceneModel/modelDataLoader.js +33 -0
- package/lib/UseCases/SceneObjects/PeelSceneObject.d.ts +18 -0
- package/lib/UseCases/SceneObjects/PeelSceneObject.js +61 -0
- package/lib/UseCases/SceneObjects/index.d.ts +1 -0
- package/lib/UseCases/SceneObjects/index.js +13 -0
- package/lib/UseCases/SceneRoot/SerializeSceneRoot.d.ts +33 -0
- package/lib/UseCases/SceneRoot/SerializeSceneRoot.js +67 -0
- package/lib/UseCases/SceneRoot/index.d.ts +2 -0
- package/lib/UseCases/SceneRoot/index.js +14 -0
- package/lib/UseCases/SceneRoot/setupSceneRoot.d.ts +2 -0
- package/lib/UseCases/SceneRoot/setupSceneRoot.js +11 -0
- package/lib/UseCases/index.d.ts +7 -0
- package/lib/UseCases/index.js +19 -0
- package/lib/UseCases/setDevicePreview.d.ts +2 -0
- package/lib/UseCases/setDevicePreview.js +14 -0
- package/lib/UseCases/setupStandardAppObjects.d.ts +2 -0
- package/lib/UseCases/setupStandardAppObjects.js +10 -0
- package/package.json +1 -1
- package/lib/Components/App/UC/submitError.d.ts +0 -2
- package/lib/Components/App/UC/submitError.js +0 -28
- package/lib/Components/App/UC/submitFatal.d.ts +0 -2
- package/lib/Components/App/UC/submitFatal.js +0 -28
- package/lib/Components/App/UC/submitLog.d.ts +0 -2
- package/lib/Components/App/UC/submitLog.js +0 -28
- package/lib/Components/App/UC/submitWarning.d.ts +0 -2
- package/lib/Components/App/UC/submitWarning.js +0 -28
- package/lib/Components/Camera/Factory/CameraFactoryImp.d.ts +0 -4
- package/lib/Components/Camera/Factory/CameraFactoryImp.js +0 -25
- package/lib/Components/Dispatcher/Mocks/MockLogUC.d.ts +0 -10
- package/lib/Components/Dispatcher/Mocks/MockLogUC.js +0 -14
- package/lib/Components/Tools/Factory/index.d.ts +0 -2
- package/lib/Components/Tools/Factory/setupTool.d.ts +0 -3
- package/lib/Components/Tools/Factory/setupTool.js +0 -12
- package/lib/Components/Tools/Factory/setupToolRepo.d.ts +0 -4
- package/lib/Components/Tools/Factory/setupToolRepo.js +0 -13
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFocusCamera = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
5
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
6
|
+
function makeFocusCamera() {
|
|
7
|
+
return new FocusCameraImp();
|
|
8
|
+
}
|
|
9
|
+
exports.makeFocusCamera = makeFocusCamera;
|
|
10
|
+
class FocusCameraImp {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.farClip = 100;
|
|
13
|
+
this.nearClip = 0.01;
|
|
14
|
+
this.defaultAlpha = 0;
|
|
15
|
+
this.defaultBeta = 30;
|
|
16
|
+
this.defaultRadius = 8;
|
|
17
|
+
this.defaultTarget = ValueObjects_1.Vector3.Zero();
|
|
18
|
+
this.limitRadius = false;
|
|
19
|
+
this.minRadius = 0;
|
|
20
|
+
this.maxRadius = 0;
|
|
21
|
+
this.limitAlpha = false;
|
|
22
|
+
this.minAlpha = 0;
|
|
23
|
+
this.maxAlpha = 0;
|
|
24
|
+
this.limitBeta = false;
|
|
25
|
+
this.minBeta = 0;
|
|
26
|
+
this.maxBeta = 0;
|
|
27
|
+
this.limitTarget = false;
|
|
28
|
+
this.maxTargetPosition = ValueObjects_1.Vector3.Zero();
|
|
29
|
+
this.minTargetPosition = ValueObjects_1.Vector3.Zero();
|
|
30
|
+
this.observers = new _1.ObserverList();
|
|
31
|
+
this.memoizedAlpha = new _1.MemoizedNumber(0, this.observers.notify);
|
|
32
|
+
this.memoizedBeta = new _1.MemoizedNumber(0, this.observers.notify);
|
|
33
|
+
this.memoizedRadius = new _1.MemoizedNumber(1, this.observers.notify);
|
|
34
|
+
this.memoizedTarget = new _1.MemoizedVector3(ValueObjects_1.Vector3.Zero(), this.observers.notify);
|
|
35
|
+
this.setRadiusLimits = (min, max) => {
|
|
36
|
+
let minToUse = min;
|
|
37
|
+
let maxToUse = max;
|
|
38
|
+
if (min < 0) {
|
|
39
|
+
console.warn("[Orbit Camera Entity] Mininum Radius must be greater >= 0, forcing to 0");
|
|
40
|
+
minToUse = 0;
|
|
41
|
+
}
|
|
42
|
+
if (max < minToUse) {
|
|
43
|
+
console.warn(`[Orbit Camera] Max radius must be >= min radius. Forcing to ${minToUse}`);
|
|
44
|
+
maxToUse = minToUse;
|
|
45
|
+
}
|
|
46
|
+
this.maxRadius = maxToUse;
|
|
47
|
+
this.minRadius = minToUse;
|
|
48
|
+
this.limitRadius = true;
|
|
49
|
+
this.radius = this.radius;
|
|
50
|
+
};
|
|
51
|
+
this.clearRadiusLimits = () => {
|
|
52
|
+
this.maxRadius = 0;
|
|
53
|
+
this.minRadius = 0;
|
|
54
|
+
this.limitRadius = false;
|
|
55
|
+
};
|
|
56
|
+
this.setAlphaLimits = (min, max) => {
|
|
57
|
+
let minToUse = min;
|
|
58
|
+
let maxToUse = max;
|
|
59
|
+
if (min < -180) {
|
|
60
|
+
minToUse = -180;
|
|
61
|
+
console.warn("[Orbit Camera] Min alpha must be >= -180. Forcing to -180");
|
|
62
|
+
}
|
|
63
|
+
if (max > 180) {
|
|
64
|
+
maxToUse = 180;
|
|
65
|
+
console.warn("[Orbit Camera] Max alpha must be <= 180. Forcing to 180");
|
|
66
|
+
}
|
|
67
|
+
if (minToUse > maxToUse) {
|
|
68
|
+
const absMin = Math.abs(minToUse);
|
|
69
|
+
const absMax = Math.abs(maxToUse);
|
|
70
|
+
const closestToZero = absMin < absMax ? minToUse : maxToUse;
|
|
71
|
+
minToUse = closestToZero;
|
|
72
|
+
maxToUse = closestToZero;
|
|
73
|
+
console.warn(`[Orbit Camera] Max alpha must be <= Min Alpha. Forcing to ${closestToZero}`);
|
|
74
|
+
}
|
|
75
|
+
this.maxAlpha = maxToUse;
|
|
76
|
+
this.minAlpha = minToUse;
|
|
77
|
+
this.limitAlpha = true;
|
|
78
|
+
this.alpha = this.alpha;
|
|
79
|
+
};
|
|
80
|
+
this.clearAlphaLimits = () => {
|
|
81
|
+
this.maxAlpha = 0;
|
|
82
|
+
this.minAlpha = 0;
|
|
83
|
+
this.limitAlpha = false;
|
|
84
|
+
};
|
|
85
|
+
this.setBetaLimits = (min, max) => {
|
|
86
|
+
let minToUse = min;
|
|
87
|
+
let maxToUse = max;
|
|
88
|
+
if (min < -180) {
|
|
89
|
+
minToUse = -180;
|
|
90
|
+
console.warn("[Orbit Camera] Min beta must be >= -180. Forcing to -180");
|
|
91
|
+
}
|
|
92
|
+
if (max > 180) {
|
|
93
|
+
maxToUse = 180;
|
|
94
|
+
console.warn("[Orbit Camera] Max beta must be <= 180. Forcing to 180");
|
|
95
|
+
}
|
|
96
|
+
if (minToUse > maxToUse) {
|
|
97
|
+
const absMin = Math.abs(minToUse);
|
|
98
|
+
const absMax = Math.abs(maxToUse);
|
|
99
|
+
const closestToZero = absMin < absMax ? minToUse : maxToUse;
|
|
100
|
+
minToUse = closestToZero;
|
|
101
|
+
maxToUse = closestToZero;
|
|
102
|
+
console.warn(`[Orbit Camera] Max beta must be <= Min beta. Forcing to ${closestToZero}`);
|
|
103
|
+
}
|
|
104
|
+
this.maxBeta = maxToUse;
|
|
105
|
+
this.minBeta = minToUse;
|
|
106
|
+
this.limitBeta = true;
|
|
107
|
+
this.beta = this.beta;
|
|
108
|
+
};
|
|
109
|
+
this.clearBetaLimits = () => {
|
|
110
|
+
this.maxBeta = 0;
|
|
111
|
+
this.minBeta = 0;
|
|
112
|
+
this.limitBeta = false;
|
|
113
|
+
};
|
|
114
|
+
this.setTargetLimits = (min, max) => {
|
|
115
|
+
const minArray = min.array;
|
|
116
|
+
const maxArray = max.array;
|
|
117
|
+
for (let i = 0; i < 3; i++) {
|
|
118
|
+
if (minArray[i] > maxArray[i]) {
|
|
119
|
+
console.warn("[Orbit Camera] Target limit min's components must all be <= the max. Limits not set");
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.maxTargetPosition = max;
|
|
124
|
+
this.minTargetPosition = min;
|
|
125
|
+
this.limitTarget = true;
|
|
126
|
+
this.target = this.target;
|
|
127
|
+
};
|
|
128
|
+
this.clearTargetLimits = () => {
|
|
129
|
+
this.maxTargetPosition = ValueObjects_1.Vector3.Zero();
|
|
130
|
+
this.minTargetPosition = ValueObjects_1.Vector3.Zero();
|
|
131
|
+
this.limitTarget = false;
|
|
132
|
+
};
|
|
133
|
+
this.registerLerp = (lerper) => {
|
|
134
|
+
if (this.currentLerp) {
|
|
135
|
+
this.currentLerp.cancelLerp();
|
|
136
|
+
}
|
|
137
|
+
this.currentLerp = lerper;
|
|
138
|
+
};
|
|
139
|
+
this.lerpCompleted = () => {
|
|
140
|
+
this.currentLerp = undefined;
|
|
141
|
+
};
|
|
142
|
+
this.cancelLerp = () => {
|
|
143
|
+
var _a;
|
|
144
|
+
(_a = this.currentLerp) === null || _a === void 0 ? void 0 : _a.cancelLerp();
|
|
145
|
+
this.currentLerp = undefined;
|
|
146
|
+
};
|
|
147
|
+
this.applyData = (data) => {
|
|
148
|
+
if (data.defaultAlpha !== undefined) {
|
|
149
|
+
this.defaultAlpha = data.defaultAlpha;
|
|
150
|
+
}
|
|
151
|
+
if (data.defaultBeta !== undefined) {
|
|
152
|
+
this.defaultBeta = data.defaultBeta;
|
|
153
|
+
}
|
|
154
|
+
if (data.defaultRadius !== undefined) {
|
|
155
|
+
this.defaultRadius = data.defaultRadius;
|
|
156
|
+
}
|
|
157
|
+
if (data.defaultTarget !== undefined) {
|
|
158
|
+
const { x, y, z } = data.defaultTarget;
|
|
159
|
+
this.defaultTarget = new ValueObjects_1.Vector3(x, y, z);
|
|
160
|
+
}
|
|
161
|
+
if (data.nearClip !== undefined) {
|
|
162
|
+
this.nearClip = data.nearClip;
|
|
163
|
+
}
|
|
164
|
+
if (data.farClip !== undefined) {
|
|
165
|
+
this.farClip = data.farClip;
|
|
166
|
+
}
|
|
167
|
+
if (data.alphaLimit !== undefined) {
|
|
168
|
+
this.setAlphaLimits(data.alphaLimit.min, data.alphaLimit.max);
|
|
169
|
+
}
|
|
170
|
+
if (data.betaLimit !== undefined) {
|
|
171
|
+
this.setBetaLimits(data.betaLimit.min, data.betaLimit.max);
|
|
172
|
+
}
|
|
173
|
+
if (data.radiusLimit !== undefined) {
|
|
174
|
+
this.setRadiusLimits(data.radiusLimit.min, data.radiusLimit.max);
|
|
175
|
+
}
|
|
176
|
+
if (data.targetLimit !== undefined) {
|
|
177
|
+
const { max, min } = data.targetLimit;
|
|
178
|
+
this.setTargetLimits(new ValueObjects_1.Vector3(min.x, min.y, min.z), new ValueObjects_1.Vector3(max.x, max.y, max.z));
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
this.addObserver = (observer) => {
|
|
182
|
+
this.observers.add(observer);
|
|
183
|
+
};
|
|
184
|
+
this.removeObserver = (observer) => {
|
|
185
|
+
this.observers.remove(observer);
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
get alpha() {
|
|
189
|
+
return this.memoizedAlpha.val;
|
|
190
|
+
}
|
|
191
|
+
set alpha(val) {
|
|
192
|
+
let valToUse = val;
|
|
193
|
+
if (this.limitAlpha) {
|
|
194
|
+
valToUse = Math.min(valToUse, this.maxAlpha);
|
|
195
|
+
valToUse = Math.max(valToUse, this.minAlpha);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
valToUse = this.clampAngle(val);
|
|
199
|
+
}
|
|
200
|
+
this.memoizedAlpha.val = valToUse;
|
|
201
|
+
}
|
|
202
|
+
get beta() {
|
|
203
|
+
return this.memoizedBeta.val;
|
|
204
|
+
}
|
|
205
|
+
set beta(val) {
|
|
206
|
+
let valToUse = val;
|
|
207
|
+
if (this.limitBeta) {
|
|
208
|
+
valToUse = Math.min(valToUse, this.maxBeta);
|
|
209
|
+
valToUse = Math.max(valToUse, this.minBeta);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
valToUse = this.clampAngle(val);
|
|
213
|
+
}
|
|
214
|
+
this.memoizedBeta.val = valToUse;
|
|
215
|
+
}
|
|
216
|
+
get radius() {
|
|
217
|
+
return this.memoizedRadius.val;
|
|
218
|
+
}
|
|
219
|
+
set radius(val) {
|
|
220
|
+
let clampedVal = Math.max(val, 0);
|
|
221
|
+
if (this.limitRadius) {
|
|
222
|
+
clampedVal = Math.min(clampedVal, this.maxRadius);
|
|
223
|
+
clampedVal = Math.max(clampedVal, this.minRadius);
|
|
224
|
+
}
|
|
225
|
+
this.memoizedRadius.val = clampedVal;
|
|
226
|
+
}
|
|
227
|
+
get target() {
|
|
228
|
+
return this.memoizedTarget.val;
|
|
229
|
+
}
|
|
230
|
+
set target(val) {
|
|
231
|
+
const targetVals = val.array;
|
|
232
|
+
if (this.limitTarget) {
|
|
233
|
+
const maxVals = this.maxTargetPosition.array;
|
|
234
|
+
const minVals = this.minTargetPosition.array;
|
|
235
|
+
for (let i = 0; i < 3; i++) {
|
|
236
|
+
let v = targetVals[i];
|
|
237
|
+
v = Math.min(v, maxVals[i]);
|
|
238
|
+
v = Math.max(v, minVals[i]);
|
|
239
|
+
targetVals[i] = v;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
this.memoizedTarget.val = ValueObjects_1.Vector3.FromArray(targetVals);
|
|
243
|
+
}
|
|
244
|
+
get direction() {
|
|
245
|
+
const yLength = -Math.sin(this.degToRad(this.beta));
|
|
246
|
+
const horizontalLenght = Math.cos(this.degToRad(this.beta));
|
|
247
|
+
const alphaRadians = this.degToRad(this.alpha);
|
|
248
|
+
const xLength = horizontalLenght * Math.sin(alphaRadians);
|
|
249
|
+
const zLength = horizontalLenght * Math.cos(alphaRadians);
|
|
250
|
+
return new ValueObjects_1.Vector3(xLength, yLength, zLength);
|
|
251
|
+
}
|
|
252
|
+
get cameraPosition() {
|
|
253
|
+
const localOffset = ValueObjects_1.Vector3.NewVectorOfLength(this.direction, -this.radius);
|
|
254
|
+
return ValueObjects_1.Vector3.Add(this.target, localOffset);
|
|
255
|
+
}
|
|
256
|
+
degToRad(degrees) {
|
|
257
|
+
return (degrees * Math.PI) / 180;
|
|
258
|
+
}
|
|
259
|
+
clampAngle(angle) {
|
|
260
|
+
const isNegative = angle < 0 ? true : false;
|
|
261
|
+
const absAngle = Math.abs(angle);
|
|
262
|
+
const revolutions = Math.floor(absAngle / 360);
|
|
263
|
+
let angleWithoutRevolutions = absAngle - revolutions * 360;
|
|
264
|
+
if (angleWithoutRevolutions > 180) {
|
|
265
|
+
angleWithoutRevolutions = angleWithoutRevolutions - 360;
|
|
266
|
+
}
|
|
267
|
+
if (isNegative) {
|
|
268
|
+
angleWithoutRevolutions *= -1;
|
|
269
|
+
}
|
|
270
|
+
return angleWithoutRevolutions;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FramedScreenContainer } from "./FramedScreenContainer";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
export declare abstract class FramedScreen extends ObservableEntity {
|
|
4
|
+
abstract get containers(): FramedScreenContainer[];
|
|
5
|
+
abstract addContainer(container: FramedScreenContainer): void;
|
|
6
|
+
abstract addContainerByID(id: string): FramedScreenContainer;
|
|
7
|
+
abstract removeContainer(id: string): void;
|
|
8
|
+
abstract hasContainer(id: string): boolean;
|
|
9
|
+
abstract getContainerByID(id: string): FramedScreenContainer | undefined;
|
|
10
|
+
abstract get screenWidth(): number;
|
|
11
|
+
abstract set screenWidth(width: number);
|
|
12
|
+
abstract get screenHeight(): number;
|
|
13
|
+
abstract set screenHeight(height: number);
|
|
14
|
+
}
|
|
15
|
+
export declare function makeFramedScreen(): FramedScreen;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFramedScreen = exports.FramedScreen = void 0;
|
|
4
|
+
const FramedScreenContainer_1 = require("./FramedScreenContainer");
|
|
5
|
+
const MemoizedNumber_1 = require("./Memoized/MemoizedNumber");
|
|
6
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
|
+
class FramedScreen extends ObservableEntity_1.ObservableEntity {
|
|
8
|
+
}
|
|
9
|
+
exports.FramedScreen = FramedScreen;
|
|
10
|
+
function makeFramedScreen() {
|
|
11
|
+
return new FramedScreenImp();
|
|
12
|
+
}
|
|
13
|
+
exports.makeFramedScreen = makeFramedScreen;
|
|
14
|
+
class FramedScreenImp extends FramedScreen {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.memoizeWidth = new MemoizedNumber_1.MemoizedNumber(0, this.notify);
|
|
18
|
+
this.memoizeHeight = new MemoizedNumber_1.MemoizedNumber(0, this.notify);
|
|
19
|
+
this._containerLookup = new Map();
|
|
20
|
+
}
|
|
21
|
+
get screenWidth() {
|
|
22
|
+
return this.memoizeWidth.val;
|
|
23
|
+
}
|
|
24
|
+
set screenWidth(val) {
|
|
25
|
+
this.memoizeWidth.val = val;
|
|
26
|
+
}
|
|
27
|
+
get screenHeight() {
|
|
28
|
+
return this.memoizeHeight.val;
|
|
29
|
+
}
|
|
30
|
+
set screenHeight(val) {
|
|
31
|
+
this.memoizeHeight.val = val;
|
|
32
|
+
}
|
|
33
|
+
get containers() {
|
|
34
|
+
return Array.from(this._containerLookup.values());
|
|
35
|
+
}
|
|
36
|
+
addContainer(container) {
|
|
37
|
+
this._containerLookup.set(container.id, container);
|
|
38
|
+
this.notify();
|
|
39
|
+
}
|
|
40
|
+
addContainerByID(id) {
|
|
41
|
+
const newContainer = FramedScreenContainer_1.makeFramedScreenContainer(id);
|
|
42
|
+
this.addContainer(newContainer);
|
|
43
|
+
return newContainer;
|
|
44
|
+
}
|
|
45
|
+
removeContainer(id) {
|
|
46
|
+
const container = this._containerLookup.get(id);
|
|
47
|
+
if (container) {
|
|
48
|
+
this._containerLookup.delete(id);
|
|
49
|
+
this.notify();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hasContainer(id) {
|
|
53
|
+
return this._containerLookup.has(id);
|
|
54
|
+
}
|
|
55
|
+
getContainerByID(id) {
|
|
56
|
+
return this._containerLookup.get(id);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Vector2 } from "../ValueObjects";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
export declare abstract class FramedScreenContainer extends ObservableEntity {
|
|
4
|
+
abstract readonly id: string;
|
|
5
|
+
abstract get position(): Vector2;
|
|
6
|
+
abstract set position(p: Vector2);
|
|
7
|
+
abstract get size(): Vector2;
|
|
8
|
+
abstract set size(s: Vector2);
|
|
9
|
+
abstract get show(): boolean;
|
|
10
|
+
abstract set show(s: boolean);
|
|
11
|
+
}
|
|
12
|
+
export declare function makeFramedScreenContainer(id: string): FramedScreenContainer;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFramedScreenContainer = exports.FramedScreenContainer = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
6
|
+
const MemoizedVector2_1 = require("./Memoized/MemoizedVector2");
|
|
7
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
8
|
+
class FramedScreenContainer extends ObservableEntity_1.ObservableEntity {
|
|
9
|
+
}
|
|
10
|
+
exports.FramedScreenContainer = FramedScreenContainer;
|
|
11
|
+
function makeFramedScreenContainer(id) {
|
|
12
|
+
return new FramedScreenContainerImp(id);
|
|
13
|
+
}
|
|
14
|
+
exports.makeFramedScreenContainer = makeFramedScreenContainer;
|
|
15
|
+
class FramedScreenContainerImp extends FramedScreenContainer {
|
|
16
|
+
constructor(id) {
|
|
17
|
+
super();
|
|
18
|
+
this.memozedPos = new MemoizedVector2_1.MemoizedVector2(ValueObjects_1.Vector2.Zero(), this.notify);
|
|
19
|
+
this.memozedSize = new MemoizedVector2_1.MemoizedVector2(ValueObjects_1.Vector2.Zero(), this.notify);
|
|
20
|
+
this.memoizedShow = new MemoizedBoolean_1.MemoizedBoolean(true, this.notify);
|
|
21
|
+
this.id = id;
|
|
22
|
+
}
|
|
23
|
+
get position() {
|
|
24
|
+
return this.memozedPos.val;
|
|
25
|
+
}
|
|
26
|
+
set position(p) {
|
|
27
|
+
this.memozedPos.val = p;
|
|
28
|
+
}
|
|
29
|
+
get size() {
|
|
30
|
+
return this.memozedSize.val;
|
|
31
|
+
}
|
|
32
|
+
set size(s) {
|
|
33
|
+
this.memozedSize.val = s;
|
|
34
|
+
}
|
|
35
|
+
get show() {
|
|
36
|
+
return this.memoizedShow.val;
|
|
37
|
+
}
|
|
38
|
+
set show(s) {
|
|
39
|
+
this.memoizedShow.val = s;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Vector2 } from "../ValueObjects";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
export declare abstract class HoverLabels extends ObservableEntity {
|
|
4
|
+
/**
|
|
5
|
+
* Should the label be shown
|
|
6
|
+
*/
|
|
7
|
+
abstract get show(): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Pixel coordinates of the label
|
|
10
|
+
*/
|
|
11
|
+
abstract get position(): Vector2;
|
|
12
|
+
/**
|
|
13
|
+
* String to display
|
|
14
|
+
*/
|
|
15
|
+
abstract get label(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Gets if hover labels should be allowed
|
|
18
|
+
*/
|
|
19
|
+
abstract get allowHoverLabels(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Sets if hover labels should be shown. Will notify
|
|
22
|
+
*/
|
|
23
|
+
abstract set allowHoverLabels(allow: boolean);
|
|
24
|
+
/**
|
|
25
|
+
* Sets up a label for a scene object by id
|
|
26
|
+
*/
|
|
27
|
+
abstract setLabelForSceneObject: (sceneObjectID: string, label: string) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Removes the labels for a scene object by id
|
|
30
|
+
*/
|
|
31
|
+
abstract removeLabelForSceneObject: (sceneObjectID: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Tries to get a label for a scene object by id. Returns undefined if one does not exist
|
|
34
|
+
*/
|
|
35
|
+
abstract getLabelFroSceneObject: (sceneObjectID: string) => string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Sets up the system to show a label for a scene object at a given position
|
|
38
|
+
*/
|
|
39
|
+
abstract showLabelForSceneObject: (sceneObjectID: string, position: Vector2) => void;
|
|
40
|
+
abstract hideHoverLabel: () => void;
|
|
41
|
+
}
|
|
42
|
+
export declare function makeHoverLabels(): HoverLabels;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeHoverLabels = exports.HoverLabels = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
+
const MemoizedBoolean_1 = require("./Memoized/MemoizedBoolean");
|
|
6
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
|
+
class HoverLabels extends ObservableEntity_1.ObservableEntity {
|
|
8
|
+
}
|
|
9
|
+
exports.HoverLabels = HoverLabels;
|
|
10
|
+
function makeHoverLabels() {
|
|
11
|
+
return new HoverLabelsImp();
|
|
12
|
+
}
|
|
13
|
+
exports.makeHoverLabels = makeHoverLabels;
|
|
14
|
+
class HoverLabelsImp extends HoverLabels {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.labelLookup = new Map();
|
|
18
|
+
this._show = false;
|
|
19
|
+
this._position = ValueObjects_1.Vector2.Zero();
|
|
20
|
+
this._label = "";
|
|
21
|
+
this.memoizedAllow = new MemoizedBoolean_1.MemoizedBoolean(true, this.notify);
|
|
22
|
+
this.setLabelForSceneObject = (sceneObjectID, label) => {
|
|
23
|
+
this.labelLookup.set(sceneObjectID, label);
|
|
24
|
+
};
|
|
25
|
+
this.removeLabelForSceneObject = (sceneObjectID) => {
|
|
26
|
+
this.labelLookup.delete(sceneObjectID);
|
|
27
|
+
};
|
|
28
|
+
this.getLabelFroSceneObject = (sceneObjectID) => {
|
|
29
|
+
return this.labelLookup.get(sceneObjectID);
|
|
30
|
+
};
|
|
31
|
+
this.showLabelForSceneObject = (sceneObjectID, position) => {
|
|
32
|
+
var _a;
|
|
33
|
+
if (this.labelLookup.has(sceneObjectID)) {
|
|
34
|
+
this.doShow((_a = this.labelLookup.get(sceneObjectID)) !== null && _a !== void 0 ? _a : "", position);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.hideHoverLabel();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
this.hideHoverLabel = () => {
|
|
41
|
+
if (!this._show)
|
|
42
|
+
return;
|
|
43
|
+
this._show = false;
|
|
44
|
+
this._label = "";
|
|
45
|
+
this._position = ValueObjects_1.Vector2.Zero();
|
|
46
|
+
this.notify();
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
get show() {
|
|
50
|
+
return this._show;
|
|
51
|
+
}
|
|
52
|
+
get position() {
|
|
53
|
+
return this._position;
|
|
54
|
+
}
|
|
55
|
+
get label() {
|
|
56
|
+
return this._label;
|
|
57
|
+
}
|
|
58
|
+
get allowHoverLabels() {
|
|
59
|
+
return this.memoizedAllow.val;
|
|
60
|
+
}
|
|
61
|
+
set allowHoverLabels(allow) {
|
|
62
|
+
if (allow === this.memoizedAllow.val)
|
|
63
|
+
return;
|
|
64
|
+
this.memoizedAllow.val = allow;
|
|
65
|
+
if (allow === false) {
|
|
66
|
+
this.hideHoverLabel();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
doShow(label, pos) {
|
|
70
|
+
if (!this.allowHoverLabels)
|
|
71
|
+
return;
|
|
72
|
+
if (label === this._label &&
|
|
73
|
+
ValueObjects_1.Vector2.Equal(pos, this._position) &&
|
|
74
|
+
this.show) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this._label = label;
|
|
78
|
+
this._position = pos;
|
|
79
|
+
this._show = true;
|
|
80
|
+
this.notify();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface KeyboardController {
|
|
2
|
+
onKeyDown?: (e: KeyboardEvent) => void;
|
|
3
|
+
onKeyUp?: (e: KeyboardEvent) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface KeyboardInput {
|
|
6
|
+
eventElement: HTMLElement | undefined;
|
|
7
|
+
setEventElement: (eventElement: HTMLElement) => void;
|
|
8
|
+
clearInputElement: () => void;
|
|
9
|
+
registerController: (controller: KeyboardController) => void;
|
|
10
|
+
removeController: (controller: KeyboardController) => void;
|
|
11
|
+
isKeyPressed: (keyCode: string) => boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function makeKeyboardInput(): KeyboardInput;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeKeyboardInput = void 0;
|
|
4
|
+
function makeKeyboardInput() {
|
|
5
|
+
return new KeyboardInputImp();
|
|
6
|
+
}
|
|
7
|
+
exports.makeKeyboardInput = makeKeyboardInput;
|
|
8
|
+
class KeyboardInputImp {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.controllers = [];
|
|
11
|
+
this._eventElement = undefined;
|
|
12
|
+
this._pressedKeyCodes = [];
|
|
13
|
+
this.setEventElement = (element) => {
|
|
14
|
+
this.clearInputElement();
|
|
15
|
+
element.addEventListener("keydown", this.submitKeyDown, false);
|
|
16
|
+
element.addEventListener("keyup", this.submitKeyUp, false);
|
|
17
|
+
this._eventElement = element;
|
|
18
|
+
};
|
|
19
|
+
this.clearInputElement = () => {
|
|
20
|
+
if (!this._eventElement)
|
|
21
|
+
return;
|
|
22
|
+
this._eventElement.removeEventListener("keydown", this.submitKeyDown);
|
|
23
|
+
this._eventElement.removeEventListener("keyup", this.submitKeyUp);
|
|
24
|
+
this._eventElement = undefined;
|
|
25
|
+
};
|
|
26
|
+
this.submitKeyDown = (e) => {
|
|
27
|
+
this._pressedKeyCodes.push(e.code);
|
|
28
|
+
this.controllers.forEach((c) => {
|
|
29
|
+
if (c.onKeyDown) {
|
|
30
|
+
c.onKeyDown(e);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
this.submitKeyUp = (e) => {
|
|
35
|
+
this._pressedKeyCodes = this._pressedKeyCodes.filter((keyCode) => {
|
|
36
|
+
if (keyCode === e.code) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
});
|
|
41
|
+
this.controllers.forEach((c) => {
|
|
42
|
+
if (c.onKeyUp) {
|
|
43
|
+
c.onKeyUp(e);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
this.registerController = (controller) => {
|
|
48
|
+
this.controllers.push(controller);
|
|
49
|
+
};
|
|
50
|
+
this.removeController = (controller) => {
|
|
51
|
+
const index = this.controllers.indexOf(controller);
|
|
52
|
+
if (index >= 0) {
|
|
53
|
+
this.controllers.splice(index, 1);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
this.isKeyPressed = (keyCode) => {
|
|
57
|
+
for (const code of this._pressedKeyCodes) {
|
|
58
|
+
if (code === keyCode) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
get eventElement() {
|
|
66
|
+
return this._eventElement;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Angle } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedAngle {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Angle;
|
|
5
|
+
set val(b: Angle);
|
|
6
|
+
setValQuietly(val: Angle): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Angle, onChangeCallback: () => void);
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedAngle = void 0;
|
|
4
|
+
class MemoizedAngle {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val.degrees === b.degrees)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedAngle = MemoizedAngle;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoizedBoolean = void 0;
|
|
4
|
+
class MemoizedBoolean {
|
|
5
|
+
constructor(initialValue, onChangeCallback) {
|
|
6
|
+
this._val = initialValue;
|
|
7
|
+
this.onChangeCallback = onChangeCallback;
|
|
8
|
+
}
|
|
9
|
+
get val() {
|
|
10
|
+
return this._val;
|
|
11
|
+
}
|
|
12
|
+
set val(b) {
|
|
13
|
+
if (this._val === b)
|
|
14
|
+
return;
|
|
15
|
+
this._val = b;
|
|
16
|
+
this.onChangeCallback();
|
|
17
|
+
}
|
|
18
|
+
setValQuietly(val) {
|
|
19
|
+
this._val = val;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MemoizedBoolean = MemoizedBoolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Color } from "../../ValueObjects";
|
|
2
|
+
export declare class MemoizedColor {
|
|
3
|
+
private _val;
|
|
4
|
+
get val(): Color;
|
|
5
|
+
set val(v: Color);
|
|
6
|
+
setValQuietly(val: Color): void;
|
|
7
|
+
private onChangeCallback;
|
|
8
|
+
constructor(initialValue: Color, onChangeCallback: () => void);
|
|
9
|
+
}
|