@hellpig/anarchy-engine 22.0.5 → 22.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Abstract/Entities/AbstractEntity.d.ts +2 -2
- package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
- package/dist/Abstract/Factories/AbstractFactory.d.ts +2 -2
- package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
- package/dist/Abstract/Factories/ReactiveFactory.d.ts +2 -2
- package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
- package/dist/Abstract/Loaders/AbstractLoader.d.ts +2 -2
- package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.d.ts +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
- package/dist/Abstract/Models/TAbstractAsyncEntityRegistry.d.ts +2 -2
- package/dist/Abstract/Models/TAbstractEntity.d.ts +1 -1
- package/dist/Abstract/Models/TAbstractEntityRegistry.d.ts +2 -2
- package/dist/Abstract/Models/TAbstractLoader.d.ts +2 -2
- package/dist/Abstract/Models/TAbstractLoop.d.ts +1 -1
- package/dist/Abstract/Models/TAbstractResourceAsyncRegistry.d.ts +1 -1
- package/dist/Abstract/Models/TAbstractResourceConfig.d.ts +1 -1
- package/dist/Abstract/Models/TAbstractService.d.ts +1 -1
- package/dist/Abstract/Models/TAbstractSimpleRegistry.d.ts +2 -2
- package/dist/Abstract/Models/TAbstractWatcher.d.ts +2 -2
- package/dist/Abstract/Models/TAbstractWrapper.d.ts +1 -1
- package/dist/Abstract/Models/TEntity.d.ts +1 -1
- package/dist/Abstract/Models/TEntityParams.d.ts +1 -1
- package/dist/Abstract/Models/TFactory.d.ts +2 -2
- package/dist/Abstract/Models/THtmlElementStyleDeclaration.d.ts +4 -4
- package/dist/Abstract/Models/TMultitonWatcher.d.ts +1 -1
- package/dist/Abstract/Models/TMultitonWatcherWithState.d.ts +1 -1
- package/dist/Abstract/Models/TReactiveFactory.d.ts +1 -1
- package/dist/Abstract/Models/TSerializableEntitiesService.d.ts +1 -1
- package/dist/Abstract/Models/TWatcher.d.ts +1 -1
- package/dist/Abstract/Models/TWrapper.d.ts +1 -1
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.d.ts +3 -3
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractEntityRegistry.d.ts +3 -3
- package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.d.ts +2 -2
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractSimpleRegistry.d.ts +2 -2
- package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractWatcherRegistry.d.ts +2 -2
- package/dist/Abstract/Registries/AbstractWatcherRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.d.ts +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.d.ts +2 -2
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
- package/dist/Abstract/Registries/ValidateRegistryOriginalsTestSuite.d.ts +1 -1
- package/dist/Abstract/Services/AbstractService.d.ts +2 -2
- package/dist/Abstract/Services/AbstractService.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcher.d.ts +2 -2
- package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcherWithState.d.ts +2 -2
- package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
- package/dist/Abstract/Wrappers/AbstractWrapper.d.ts +4 -4
- package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
- package/dist/Actor/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.d.ts +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.d.ts +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
- package/dist/Actor/Entities/Actor/Actor.d.ts +1 -1
- package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
- package/dist/Actor/Factories/ActorFactory.d.ts +1 -1
- package/dist/Actor/Factories/ActorFactory.js.map +1 -1
- package/dist/Actor/Mixins/WithActorStates.d.ts +1 -1
- package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
- package/dist/Actor/Models/TActor.d.ts +2 -2
- package/dist/Actor/Models/TActorConfig.d.ts +4 -4
- package/dist/Actor/Models/TActorConfigToParamsDependencies.d.ts +4 -4
- package/dist/Actor/Models/TActorDependencies.d.ts +7 -7
- package/dist/Actor/Models/TActorEntities.d.ts +4 -4
- package/dist/Actor/Models/TActorEntityToConfigDependencies.d.ts +1 -1
- package/dist/Actor/Models/TActorFactory.d.ts +1 -1
- package/dist/Actor/Models/TActorModel3dSettingsConfig.d.ts +1 -1
- package/dist/Actor/Models/TActorParams.d.ts +8 -8
- package/dist/Actor/Models/TActorRegistry.d.ts +1 -1
- package/dist/Actor/Models/TActorService.d.ts +2 -2
- package/dist/Actor/Models/TActorStates.d.ts +1 -1
- package/dist/Actor/Models/TActorTransformAgents.d.ts +1 -1
- package/dist/Actor/Models/TActorTransformDrive.d.ts +1 -1
- package/dist/Actor/Models/TAnimationsFsmSource.d.ts +1 -1
- package/dist/Actor/Models/TModel3dToActorConnectionRegistry.d.ts +2 -2
- package/dist/Actor/Models/TParamsFromConfigActor.d.ts +1 -1
- package/dist/Actor/Models/TWithActorStates.d.ts +1 -1
- package/dist/Actor/Registries/ActorRegistry.d.ts +1 -1
- package/dist/Actor/Registries/ActorRegistry.js.map +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.d.ts +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
- package/dist/Actor/Services/ActorService.d.ts +2 -2
- package/dist/Actor/Services/ActorService.js.map +1 -1
- package/dist/Actor/TransformDrive/ActorTransformDrive.d.ts +1 -1
- package/dist/Actor/TransformDrive/ActorTransformDrive.js.map +1 -1
- package/dist/Actor/Utils/ActorUtils.d.ts +2 -2
- package/dist/Actor/Utils/ActorUtils.js.map +1 -1
- package/dist/Animations/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Animations/Loader/AnimationsLoader.d.ts +3 -3
- package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
- package/dist/Animations/Models/TAnimationActionsPack.d.ts +1 -1
- package/dist/Animations/Models/TAnimationsLoader.d.ts +1 -1
- package/dist/Animations/Models/TAnimationsMetaInfoRegistry.d.ts +1 -1
- package/dist/Animations/Models/TAnimationsResourceAsyncRegistry.d.ts +1 -1
- package/dist/Animations/Models/TAnimationsResourceConfig.d.ts +1 -1
- package/dist/Animations/Models/TAnimationsService.d.ts +4 -4
- package/dist/Animations/Registries/AnimationsMetaInfoRegistry.d.ts +1 -1
- package/dist/Animations/Registries/AnimationsMetaInfoRegistry.js.map +1 -1
- package/dist/Animations/Registries/AnimationsResourceAsyncRegistry.d.ts +1 -1
- package/dist/Animations/Registries/AnimationsResourceAsyncRegistry.js.map +1 -1
- package/dist/Animations/Services/AnimationsService.d.ts +3 -3
- package/dist/Animations/Services/AnimationsService.js.map +1 -1
- package/dist/Animations/Utils/SerializationUtils.d.ts +1 -1
- package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
- package/dist/Audio/Adapters/AudioConfigToParams.d.ts +1 -1
- package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -1
- package/dist/Audio/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Audio/Factories/AudioFactory.d.ts +1 -1
- package/dist/Audio/Factories/AudioFactory.js.map +1 -1
- package/dist/Audio/Loader/AudioLoader.d.ts +2 -2
- package/dist/Audio/Loader/AudioLoader.js.map +1 -1
- package/dist/Audio/Models/TAbstractAudioWrapper.d.ts +1 -1
- package/dist/Audio/Models/TAudio3dParams.d.ts +1 -1
- package/dist/Audio/Models/TAudio3dPerformanceOptions.d.ts +1 -1
- package/dist/Audio/Models/TAudio3dTransformAgents.d.ts +2 -2
- package/dist/Audio/Models/TAudio3dTransformDrive.d.ts +1 -1
- package/dist/Audio/Models/TAudio3dWrapper.d.ts +1 -1
- package/dist/Audio/Models/TAudioConfig.d.ts +1 -1
- package/dist/Audio/Models/TAudioFactory.d.ts +1 -1
- package/dist/Audio/Models/TAudioListenersRegistry.d.ts +1 -1
- package/dist/Audio/Models/TAudioLoader.d.ts +1 -1
- package/dist/Audio/Models/TAudioLoop.d.ts +1 -1
- package/dist/Audio/Models/TAudioMetaInfoRegistry.d.ts +1 -1
- package/dist/Audio/Models/TAudioParams.d.ts +2 -2
- package/dist/Audio/Models/TAudioPerformanceOptions.d.ts +1 -1
- package/dist/Audio/Models/TAudioRegistry.d.ts +1 -1
- package/dist/Audio/Models/TAudioResourceAsyncRegistry.d.ts +1 -1
- package/dist/Audio/Models/TAudioResourceConfig.d.ts +1 -1
- package/dist/Audio/Models/TAudioService.d.ts +2 -2
- package/dist/Audio/Models/TAudioServiceDependencies.d.ts +1 -1
- package/dist/Audio/Models/TAudioWrapperDependencies.d.ts +1 -1
- package/dist/Audio/Registries/AudioListenersRegistry.d.ts +1 -1
- package/dist/Audio/Registries/AudioListenersRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioMetaInfoRegistry.d.ts +1 -1
- package/dist/Audio/Registries/AudioMetaInfoRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioRegistry.d.ts +1 -1
- package/dist/Audio/Registries/AudioRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioResourceAsyncRegistry.d.ts +1 -1
- package/dist/Audio/Registries/AudioResourceAsyncRegistry.js.map +1 -1
- package/dist/Audio/Services/AudioService.d.ts +3 -3
- package/dist/Audio/Services/AudioService.js.map +1 -1
- package/dist/Audio/TransformDrive/Audio3dTransformDrive.d.ts +1 -1
- package/dist/Audio/TransformDrive/Audio3dTransformDrive.js.map +1 -1
- package/dist/Audio/Utils/AudioUtils.d.ts +2 -2
- package/dist/Audio/Utils/AudioUtils.js.map +1 -1
- package/dist/Audio/Utils/DebugAudioRenderer.d.ts +3 -3
- package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.d.ts +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.d.ts +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/AudioWrapper.d.ts +1 -1
- package/dist/Audio/Wrappers/AudioWrapper.js.map +1 -1
- package/dist/Camera/Adapters/ConfigToParams.d.ts +2 -2
- package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Camera/Adapters/EntityToConfig.d.ts +3 -3
- package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Camera/Factories/CameraFactory.d.ts +1 -1
- package/dist/Camera/Factories/CameraFactory.js.map +1 -1
- package/dist/Camera/Models/TAbstractCameraRegistry.d.ts +1 -1
- package/dist/Camera/Models/TCameraFactory.d.ts +1 -1
- package/dist/Camera/Models/TCameraService.d.ts +2 -2
- package/dist/Camera/Models/TCameraServiceDependencies.d.ts +3 -3
- package/dist/Camera/Models/TCameraTransformAgents.d.ts +2 -2
- package/dist/Camera/Models/TCameraTransformDrive.d.ts +1 -1
- package/dist/Camera/Models/TCameraWrapper.d.ts +4 -4
- package/dist/Camera/Models/TCameraWrapperDependencies.d.ts +3 -3
- package/dist/Camera/Models/TCommonCameraConfig.d.ts +2 -2
- package/dist/Camera/Models/TCommonCameraParams.d.ts +4 -4
- package/dist/Camera/Models/TOrthographicCameraWrapper.d.ts +1 -1
- package/dist/Camera/Models/TPerspectiveCameraWrapper.d.ts +1 -1
- package/dist/Camera/Models/index.d.ts +1 -0
- package/dist/Camera/Registries/AbstractCameraRegistry.d.ts +1 -1
- package/dist/Camera/Registries/AbstractCameraRegistry.js.map +1 -1
- package/dist/Camera/Services/CameraService.d.ts +2 -2
- package/dist/Camera/Services/CameraService.js.map +1 -1
- package/dist/Camera/TransformDrive/CameraTransformDrive.d.ts +1 -1
- package/dist/Camera/TransformDrive/CameraTransformDrive.js.map +1 -1
- package/dist/Camera/Utils/CameraUtils.d.ts +2 -2
- package/dist/Camera/Utils/CameraUtils.js.map +1 -1
- package/dist/Camera/Wrappers/Accessors.d.ts +1 -1
- package/dist/Camera/Wrappers/Accessors.js.map +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.d.ts +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.d.ts +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
- package/dist/Collisions/Mixins/WithCollisions.d.ts +2 -2
- package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
- package/dist/Collisions/Models/TBvhService.d.ts +3 -3
- package/dist/Collisions/Models/TCollisionCheckResult.d.ts +1 -1
- package/dist/Collisions/Models/TCollisionsData.d.ts +1 -1
- package/dist/Collisions/Models/TCollisionsLoop.d.ts +1 -1
- package/dist/Collisions/Models/TCollisionsMethods.d.ts +2 -2
- package/dist/Collisions/Models/TCollisionsService.d.ts +2 -2
- package/dist/Collisions/Models/TWithCollisions.d.ts +1 -1
- package/dist/Collisions/Services/BvhService.d.ts +1 -1
- package/dist/Collisions/Services/BvhService.js.map +1 -1
- package/dist/Collisions/Services/CollisionsService.d.ts +1 -1
- package/dist/Collisions/Services/CollisionsService.js.map +1 -1
- package/dist/Color/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Color/Models/TColorWrapper.d.ts +1 -1
- package/dist/Color/Wrappers/ColorWrapper.d.ts +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
- package/dist/Context/AmbientContext/AmbientContext.js.map +1 -1
- package/dist/Context/AmbientContext/Models/TAmbientContext.d.ts +1 -1
- package/dist/Controls/Adapters/ConfigToParams.d.ts +2 -2
- package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Controls/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Controls/Factories/ControlsFactory.d.ts +1 -1
- package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
- package/dist/Controls/Loop/ControlsLoopEffect.d.ts +1 -1
- package/dist/Controls/Loop/ControlsLoopEffect.js.map +1 -1
- package/dist/Controls/Models/TAdditionalControlsConfigParams.d.ts +2 -2
- package/dist/Controls/Models/TBaseControlsParams.d.ts +2 -2
- package/dist/Controls/Models/TControlService.d.ts +2 -2
- package/dist/Controls/Models/TControlsFactory.d.ts +1 -1
- package/dist/Controls/Models/TControlsLoop.d.ts +1 -1
- package/dist/Controls/Models/TControlsRegistry.d.ts +1 -1
- package/dist/Controls/Models/TControlsServiceDependencies.d.ts +1 -1
- package/dist/Controls/Models/TFpsControlsParams.d.ts +2 -2
- package/dist/Controls/Models/TFpsControlsWrapper.d.ts +5 -5
- package/dist/Controls/Models/TOrbitControlsAccessors.d.ts +1 -1
- package/dist/Controls/Models/TOrbitControlsParams.d.ts +2 -2
- package/dist/Controls/Models/TOrbitControlsWrapper.d.ts +6 -6
- package/dist/Controls/Registries/ControlsRegistry.d.ts +1 -1
- package/dist/Controls/Registries/ControlsRegistry.js.map +1 -1
- package/dist/Controls/Services/ControlsService.d.ts +2 -2
- package/dist/Controls/Services/ControlsService.js.map +1 -1
- package/dist/Controls/Utils/ControlsUtils.d.ts +2 -2
- package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.d.ts +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.d.ts +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.d.ts +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.d.ts +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.d.ts +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.d.ts +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
- package/dist/Distance/Utils/DistanceUtils.d.ts +1 -1
- package/dist/Distance/Utils/DistanceUtils.js.map +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.d.ts +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
- package/dist/EnvMap/Loader/EnvMapLoader.d.ts +2 -2
- package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
- package/dist/EnvMap/Models/TEnvMapFactory.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapLoader.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapMetaInfoRegistry.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapParams.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapRegistry.d.ts +2 -2
- package/dist/EnvMap/Models/TEnvMapResourceConfig.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapService.d.ts +3 -3
- package/dist/EnvMap/Models/TEnvMapTextureAsyncRegistry.d.ts +2 -2
- package/dist/EnvMap/Models/TEnvMapTextureOptions.d.ts +1 -1
- package/dist/EnvMap/Models/TEnvMapWrapper.d.ts +2 -2
- package/dist/EnvMap/Registries/EnvMapMetaInfoRegistry.d.ts +1 -1
- package/dist/EnvMap/Registries/EnvMapMetaInfoRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapRegistry.d.ts +1 -1
- package/dist/EnvMap/Registries/EnvMapRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapTextureAsyncRegistry.d.ts +1 -1
- package/dist/EnvMap/Registries/EnvMapTextureAsyncRegistry.js.map +1 -1
- package/dist/EnvMap/Services/EnvMapService.d.ts +3 -3
- package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.d.ts +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
- package/dist/Fog/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fog/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fog/Factories/FogFactory.d.ts +1 -1
- package/dist/Fog/Factories/FogFactory.js.map +1 -1
- package/dist/Fog/Models/TFogFactory.d.ts +1 -1
- package/dist/Fog/Models/TFogParams.d.ts +1 -1
- package/dist/Fog/Models/TFogRegistry.d.ts +1 -1
- package/dist/Fog/Models/TFogService.d.ts +2 -2
- package/dist/Fog/Models/TFogWrapper.d.ts +2 -2
- package/dist/Fog/Registries/FogRegistry.d.ts +1 -1
- package/dist/Fog/Registries/FogRegistry.js.map +1 -1
- package/dist/Fog/Services/FogService.d.ts +2 -2
- package/dist/Fog/Services/FogService.js.map +1 -1
- package/dist/Fog/Wrappers/FogWrapper.d.ts +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fsm/Entities/FsmSource.d.ts +1 -1
- package/dist/Fsm/Entities/FsmSource.js.map +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.d.ts +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.d.ts +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
- package/dist/Fsm/Models/TFsmInstanceFactory.d.ts +2 -2
- package/dist/Fsm/Models/TFsmInstanceRegistry.d.ts +1 -1
- package/dist/Fsm/Models/TFsmInstanceService.d.ts +2 -2
- package/dist/Fsm/Models/TFsmParams.d.ts +2 -2
- package/dist/Fsm/Models/TFsmService.d.ts +4 -4
- package/dist/Fsm/Models/TFsmSource.d.ts +1 -1
- package/dist/Fsm/Models/TFsmSourceFactory.d.ts +2 -2
- package/dist/Fsm/Models/TFsmSourceRegistry.d.ts +1 -1
- package/dist/Fsm/Models/TFsmSourceService.d.ts +2 -2
- package/dist/Fsm/Models/TFsmWrapper.d.ts +3 -3
- package/dist/Fsm/Registries/FsmInstanceRegistry.d.ts +1 -1
- package/dist/Fsm/Registries/FsmInstanceRegistry.js.map +1 -1
- package/dist/Fsm/Registries/FsmSourceRegistry.d.ts +1 -1
- package/dist/Fsm/Registries/FsmSourceRegistry.js.map +1 -1
- package/dist/Fsm/Services/FsmInstanceService.d.ts +2 -2
- package/dist/Fsm/Services/FsmInstanceService.js.map +1 -1
- package/dist/Fsm/Services/FsmService.d.ts +1 -1
- package/dist/Fsm/Services/FsmService.js.map +1 -1
- package/dist/Fsm/Services/FsmSourceService.d.ts +1 -1
- package/dist/Fsm/Services/FsmSourceService.js.map +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.d.ts +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
- package/dist/Global/Decorators/ContainerDecorator.d.ts +1 -1
- package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
- package/dist/Global/Models/TContainerDecorator.d.ts +2 -2
- package/dist/Global/Utils/ContainerUtils.d.ts +1 -1
- package/dist/Global/Utils/ContainerUtils.js.map +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.d.ts +5 -5
- package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.d.ts +2 -2
- package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.d.ts +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
- package/dist/Intersections/Models/TAbstractIntersectionsWatcher.d.ts +3 -3
- package/dist/Intersections/Models/TAbstractIntersectionsWatcherParams.d.ts +2 -2
- package/dist/Intersections/Models/TIntersectionsCameraWatcher.d.ts +1 -1
- package/dist/Intersections/Models/TIntersectionsCameraWatcherParams.d.ts +1 -1
- package/dist/Intersections/Models/TIntersectionsDirectionWatcher.d.ts +2 -2
- package/dist/Intersections/Models/TIntersectionsDirectionWatcherParams.d.ts +1 -1
- package/dist/Intersections/Models/TIntersectionsLoop.d.ts +1 -1
- package/dist/Intersections/Models/TIntersectionsWatcherFactory.d.ts +5 -5
- package/dist/Intersections/Models/TIntersectionsWatcherRegistry.d.ts +1 -1
- package/dist/Intersections/Models/TIntersectionsWatcherService.d.ts +6 -6
- package/dist/Intersections/Registries/IntersectionsWatcherRegistry.d.ts +1 -1
- package/dist/Intersections/Registries/IntersectionsWatcherRegistry.js.map +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.d.ts +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.d.ts +2 -2
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.d.ts +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.d.ts +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.d.ts +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
- package/dist/Keyboard/Factories/KeyWatcherFactory.d.ts +1 -1
- package/dist/Keyboard/Factories/KeyWatcherFactory.js.map +1 -1
- package/dist/Keyboard/Models/TGameKey.d.ts +1 -1
- package/dist/Keyboard/Models/TKeyComboWatcher.d.ts +1 -1
- package/dist/Keyboard/Models/TKeyWatcher.d.ts +1 -1
- package/dist/Keyboard/Models/TKeyWatcherFactory.d.ts +1 -1
- package/dist/Keyboard/Models/TKeyWatcherParams.d.ts +3 -3
- package/dist/Keyboard/Models/TKeyWatcherRegistry.d.ts +1 -1
- package/dist/Keyboard/Models/TKeyboardService.d.ts +2 -2
- package/dist/Keyboard/Registries/KeyWatcherRegistry.d.ts +1 -1
- package/dist/Keyboard/Registries/KeyWatcherRegistry.js.map +1 -1
- package/dist/Keyboard/Services/KeyboardService.d.ts +2 -2
- package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.d.ts +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
- package/dist/Keyboard/Utils/KeysUtils.d.ts +1 -1
- package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.d.ts +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.d.ts +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.d.ts +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.d.ts +2 -2
- package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Kinematic/Constants/KinematicConstants.d.ts +2 -2
- package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
- package/dist/Kinematic/Models/TKinematicLoop.d.ts +1 -1
- package/dist/Kinematic/Models/TKinematicMethods.d.ts +4 -4
- package/dist/Kinematic/Models/TKinematicState.d.ts +3 -3
- package/dist/Kinematic/Utils/KinematicUtils.d.ts +1 -1
- package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
- package/dist/Light/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Light/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Light/Factories/LightFactory.d.ts +1 -1
- package/dist/Light/Factories/LightFactory.js.map +1 -1
- package/dist/Light/Models/TAbstractLightParams.d.ts +4 -4
- package/dist/Light/Models/TAbstractLightWrapper.d.ts +4 -4
- package/dist/Light/Models/TLightConfig.d.ts +2 -2
- package/dist/Light/Models/TLightFactory.d.ts +2 -2
- package/dist/Light/Models/TLightRegistry.d.ts +2 -2
- package/dist/Light/Models/TLightService.d.ts +2 -2
- package/dist/Light/Models/TLightServiceDependencies.d.ts +1 -1
- package/dist/Light/Models/TLightTransformAgents.d.ts +2 -2
- package/dist/Light/Models/TLightTransformDrive.d.ts +1 -1
- package/dist/Light/Models/TShadowCameraConfig.d.ts +1 -1
- package/dist/Light/Models/TShadowCameraParams.d.ts +1 -1
- package/dist/Light/Registries/LightRegistry.d.ts +1 -1
- package/dist/Light/Registries/LightRegistry.js.map +1 -1
- package/dist/Light/Services/LightService.d.ts +2 -2
- package/dist/Light/Services/LightService.js.map +1 -1
- package/dist/Light/TransformDrive/LightTransformDrive.d.ts +1 -1
- package/dist/Light/TransformDrive/LightTransformDrive.js.map +1 -1
- package/dist/Light/Utils/Utils.d.ts +2 -2
- package/dist/Light/Utils/Utils.js.map +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.d.ts +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.d.ts +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
- package/dist/LoadingManager/Factories/LoadingManagerFactory.d.ts +1 -1
- package/dist/LoadingManager/Factories/LoadingManagerFactory.js.map +1 -1
- package/dist/LoadingManager/Models/TLoadingEvent.d.ts +1 -1
- package/dist/LoadingManager/Models/TLoadingManagerFactory.d.ts +1 -1
- package/dist/LoadingManager/Models/TLoadingManagerParams.d.ts +1 -1
- package/dist/LoadingManager/Models/TLoadingManagerRegistry.d.ts +1 -1
- package/dist/LoadingManager/Models/TLoadingManagerService.d.ts +2 -2
- package/dist/LoadingManager/Models/TLoadingManagerWrapper.d.ts +3 -3
- package/dist/LoadingManager/Registries/LoadingManagerRegistry.d.ts +1 -1
- package/dist/LoadingManager/Registries/LoadingManagerRegistry.js.map +1 -1
- package/dist/LoadingManager/Services/LoadingManagerService.d.ts +1 -1
- package/dist/LoadingManager/Services/LoadingManagerService.js.map +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.d.ts +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
- package/dist/Loop/Constants/LoopsDefaultSettings.d.ts +1 -1
- package/dist/Loop/Constants/LoopsDefaultSettings.js.map +1 -1
- package/dist/Loop/Entities/DeltaCalculator.d.ts +1 -1
- package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
- package/dist/Loop/Entities/Loop.d.ts +1 -1
- package/dist/Loop/Entities/Loop.js.map +1 -1
- package/dist/Loop/Factories/LoopFactory.d.ts +1 -1
- package/dist/Loop/Factories/LoopFactory.js.map +1 -1
- package/dist/Loop/Models/TDelta.d.ts +1 -1
- package/dist/Loop/Models/TDeltaCalculator.d.ts +1 -1
- package/dist/Loop/Models/TLoop.d.ts +3 -3
- package/dist/Loop/Models/TLoopFactory.d.ts +1 -1
- package/dist/Loop/Models/TLoopParams.d.ts +1 -1
- package/dist/Loop/Models/TLoopRegistry.d.ts +1 -1
- package/dist/Loop/Models/TLoopService.d.ts +14 -14
- package/dist/Loop/Models/TLoopWorkerRequestData.d.ts +1 -1
- package/dist/Loop/Models/TLoopWorkerResponseData.d.ts +1 -1
- package/dist/Loop/Registries/LoopRegistry.d.ts +1 -1
- package/dist/Loop/Registries/LoopRegistry.js.map +1 -1
- package/dist/Loop/Services/LoopService.d.ts +1 -1
- package/dist/Loop/Services/LoopService.js.map +1 -1
- package/dist/Loop/Utils/LoopDebugUtils.d.ts +1 -1
- package/dist/Loop/Utils/LoopDebugUtils.js.map +1 -1
- package/dist/Loop/Utils/LoopUtils.d.ts +1 -1
- package/dist/Loop/Utils/LoopUtils.js.map +1 -1
- package/dist/Material/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Material/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Material/Constants/Material/MaterialMap.d.ts +1 -1
- package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
- package/dist/Material/Factories/MaterialFactory.d.ts +1 -1
- package/dist/Material/Factories/MaterialFactory.js.map +1 -1
- package/dist/Material/Mixins/WithMaterial.d.ts +2 -2
- package/dist/Material/Mixins/WithMaterial.js.map +1 -1
- package/dist/Material/Models/TAnyMaterialWrapper.d.ts +1 -1
- package/dist/Material/Models/TMaterialConfigOptions.d.ts +2 -2
- package/dist/Material/Models/TMaterialConfigToParamsDependencies.d.ts +1 -1
- package/dist/Material/Models/TMaterialEntityToConfigDependencies.d.ts +1 -1
- package/dist/Material/Models/TMaterialFactory.d.ts +1 -1
- package/dist/Material/Models/TMaterialParams.d.ts +1 -1
- package/dist/Material/Models/TMaterialParamsTextures.d.ts +1 -1
- package/dist/Material/Models/TMaterialRegistry.d.ts +1 -1
- package/dist/Material/Models/TMaterialService.d.ts +2 -2
- package/dist/Material/Models/TMaterialServiceDependencies.d.ts +1 -1
- package/dist/Material/Models/TWithMaterialType.d.ts +1 -1
- package/dist/Material/Registries/MaterialRegistry.d.ts +1 -1
- package/dist/Material/Registries/MaterialRegistry.js.map +1 -1
- package/dist/Material/Services/MaterialService.d.ts +1 -1
- package/dist/Material/Services/MaterialService.js.map +1 -1
- package/dist/Material/Utils/MaterialUtils.d.ts +2 -2
- package/dist/Material/Utils/MaterialUtils.js.map +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.d.ts +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
- package/dist/Math/Utils/AnglesUtils.d.ts +3 -3
- package/dist/Math/Utils/AnglesUtils.js.map +1 -1
- package/dist/Math/Utils/DistanceUtils.d.ts +1 -1
- package/dist/Math/Utils/DistanceUtils.js.map +1 -1
- package/dist/Measurements/Constants/Distance.d.ts +1 -1
- package/dist/Measurements/Constants/Distance.js.map +1 -1
- package/dist/Measurements/Constants/Time.d.ts +1 -1
- package/dist/Measurements/Constants/Time.js.map +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.d.ts +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPositionMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPositionMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.d.ts +1 -1
- package/dist/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/WithObject3D.d.ts +2 -2
- package/dist/Mixins/GameObjects/Mixins/WithObject3D.js.map +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.d.ts +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.d.ts +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
- package/dist/Mixins/Generics/Models/TWithActiveMixinResult.d.ts +1 -1
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.d.ts +2 -2
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveMixin.d.ts +1 -1
- package/dist/Mixins/Generics/WithActiveMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithNameAndNameAccessorsMixin.d.ts +1 -1
- package/dist/Mixins/Generics/WithNameAndNameAccessorsMixin.js.map +1 -1
- package/dist/Mixins/Services/Models/TWithFactoryService.d.ts +1 -1
- package/dist/Mixins/Services/Models/TWithLoadResourcesAsyncService.d.ts +1 -1
- package/dist/Mixins/Services/Models/TWithLoadResourcesService.d.ts +1 -1
- package/dist/Mixins/Services/Models/TWithResourcesMetaInfoRegistryService.d.ts +1 -1
- package/dist/Mixins/Services/Models/TWithSceneGetterService.d.ts +1 -1
- package/dist/Mixins/Services/Models/TWithSerializableEntities.d.ts +1 -1
- package/dist/Mixins/Services/WithCreateFromConfigService.d.ts +2 -2
- package/dist/Mixins/Services/WithCreateFromConfigService.js.map +1 -1
- package/dist/Mixins/Services/WithCreateService.d.ts +2 -2
- package/dist/Mixins/Services/WithCreateService.js.map +1 -1
- package/dist/Mixins/Services/WithFactoryService.d.ts +2 -2
- package/dist/Mixins/Services/WithFactoryService.js.map +1 -1
- package/dist/Mixins/Services/WithRegistryService.d.ts +1 -1
- package/dist/Mixins/Services/WithRegistryService.js.map +1 -1
- package/dist/Mixins/Services/WithSceneGetterService.d.ts +2 -2
- package/dist/Mixins/Services/WithSceneGetterService.js.map +1 -1
- package/dist/Mixins/Services/WithSerializableEntities.d.ts +3 -3
- package/dist/Mixins/Services/WithSerializableEntities.js.map +1 -1
- package/dist/Mixins/Services/WithSerializeAllResources.d.ts +2 -2
- package/dist/Mixins/Services/WithSerializeAllResources.js.map +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Models3d/Entities/Model3d.d.ts +1 -1
- package/dist/Models3d/Entities/Model3d.js.map +1 -1
- package/dist/Models3d/Factories/Models3dFactory.d.ts +1 -1
- package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
- package/dist/Models3d/Loaders/Loader3dCore.d.ts +3 -3
- package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
- package/dist/Models3d/Loaders/Models3dLoader.d.ts +3 -3
- package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.d.ts +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
- package/dist/Models3d/Models/TModel3d.d.ts +2 -2
- package/dist/Models3d/Models/TModel3dConfig.d.ts +3 -3
- package/dist/Models3d/Models/TModel3dConfigToParamsDependencies.d.ts +2 -2
- package/dist/Models3d/Models/TModel3dDependencies.d.ts +1 -1
- package/dist/Models3d/Models/TModel3dEntities.d.ts +1 -1
- package/dist/Models3d/Models/TModel3dOptions.d.ts +1 -1
- package/dist/Models3d/Models/TModel3dParams.d.ts +5 -5
- package/dist/Models3d/Models/TModel3dRawToModel3dConnectionRegistry.d.ts +1 -1
- package/dist/Models3d/Models/TModel3dResourceConfig.d.ts +2 -2
- package/dist/Models3d/Models/TModels3dFactory.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dLoader.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dMetaInfoRegistry.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dRegistry.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dResourceAsyncRegistry.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dService.d.ts +5 -5
- package/dist/Models3d/Models/TModels3dServiceDependencies.d.ts +2 -2
- package/dist/Models3d/Models/TPrimitiveModel3dParams.d.ts +1 -1
- package/dist/Models3d/Models/TWithModel3dEntities.d.ts +1 -1
- package/dist/Models3d/Models/index.d.ts +1 -0
- package/dist/Models3d/Registries/Model3dRawToModel3dConnectionRegistry.d.ts +1 -1
- package/dist/Models3d/Registries/Model3dRawToModel3dConnectionRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dMetaInfoRegistry.d.ts +1 -1
- package/dist/Models3d/Registries/Models3dMetaInfoRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dRegistry.d.ts +1 -1
- package/dist/Models3d/Registries/Models3dRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dResourceAsyncRegistry.d.ts +1 -1
- package/dist/Models3d/Registries/Models3dResourceAsyncRegistry.js.map +1 -1
- package/dist/Models3d/Services/Models3dService.d.ts +3 -3
- package/dist/Models3d/Services/Models3dService.js.map +1 -1
- package/dist/Models3d/Utils/SerializationUtils.d.ts +1 -1
- package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.d.ts +3 -3
- package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModels3dService.d.ts +2 -2
- package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.d.ts +2 -2
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
- package/dist/Mouse/Factories/MouseClickWatcherFactory.d.ts +1 -1
- package/dist/Mouse/Factories/MouseClickWatcherFactory.js.map +1 -1
- package/dist/Mouse/Factories/MousePositionWatcherFactory.d.ts +1 -1
- package/dist/Mouse/Factories/MousePositionWatcherFactory.js.map +1 -1
- package/dist/Mouse/Models/TMouseClickWatcher.d.ts +1 -1
- package/dist/Mouse/Models/TMouseClickWatcherFactory.d.ts +1 -1
- package/dist/Mouse/Models/TMouseClickWatcherParams.d.ts +2 -2
- package/dist/Mouse/Models/TMouseClickWatcherRegistry.d.ts +1 -1
- package/dist/Mouse/Models/TMouseLoop.d.ts +1 -1
- package/dist/Mouse/Models/TMousePositionWatcher.d.ts +1 -1
- package/dist/Mouse/Models/TMousePositionWatcherFactory.d.ts +2 -2
- package/dist/Mouse/Models/TMousePositionWatcherParams.d.ts +2 -2
- package/dist/Mouse/Models/TMousePositionWatcherRegistry.d.ts +1 -1
- package/dist/Mouse/Models/TMouseService.d.ts +1 -1
- package/dist/Mouse/Models/TMouseWatcherEvent.d.ts +1 -1
- package/dist/Mouse/Registries/MouseClickWatcherRegistry.d.ts +1 -1
- package/dist/Mouse/Registries/MouseClickWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Registries/MousePositionWatcherRegistry.d.ts +1 -1
- package/dist/Mouse/Registries/MousePositionWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Services/MouseService.d.ts +3 -3
- package/dist/Mouse/Services/MouseService.js.map +1 -1
- package/dist/Mouse/Utils/MouseUtils.d.ts +2 -2
- package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.d.ts +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.d.ts +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
- package/dist/Particles/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Particles/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Particles/Factories/ParticlesFactory.d.ts +1 -1
- package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
- package/dist/Particles/Models/TParticlesConfig.d.ts +1 -1
- package/dist/Particles/Models/TParticlesConfigToParamsDependencies.d.ts +1 -1
- package/dist/Particles/Models/TParticlesFactory.d.ts +1 -1
- package/dist/Particles/Models/TParticlesParams.d.ts +4 -4
- package/dist/Particles/Models/TParticlesRegistry.d.ts +1 -1
- package/dist/Particles/Models/TParticlesService.d.ts +2 -2
- package/dist/Particles/Models/TParticlesServiceDependencies.d.ts +2 -2
- package/dist/Particles/Models/TParticlesTransformAgents.d.ts +2 -2
- package/dist/Particles/Models/TParticlesTransformDrive.d.ts +1 -1
- package/dist/Particles/Models/TParticlesWrapper.d.ts +6 -6
- package/dist/Particles/Registries/ParticlesRegistry.d.ts +1 -1
- package/dist/Particles/Registries/ParticlesRegistry.js.map +1 -1
- package/dist/Particles/Services/ParticlesService.d.ts +2 -2
- package/dist/Particles/Services/ParticlesService.js.map +1 -1
- package/dist/Particles/TransformDrive/ParticlesTransformDrive.d.ts +1 -1
- package/dist/Particles/TransformDrive/ParticlesTransformDrive.js.map +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.d.ts +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
- package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.d.ts +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.d.ts +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.d.ts +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBody.d.ts +1 -1
- package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.d.ts +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.d.ts +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
- package/dist/Physics/Mixins/WithPhysicsBodyEntities.d.ts +1 -1
- package/dist/Physics/Mixins/WithPhysicsBodyEntities.js.map +1 -1
- package/dist/Physics/Models/TPhysicsBody.d.ts +2 -2
- package/dist/Physics/Models/TPhysicsBodyConfig.d.ts +1 -1
- package/dist/Physics/Models/TPhysicsBodyFactory.d.ts +1 -1
- package/dist/Physics/Models/TPhysicsBodyParams.d.ts +3 -3
- package/dist/Physics/Models/TPhysicsBodyRegistry.d.ts +1 -1
- package/dist/Physics/Models/TPhysicsBodyService.d.ts +3 -3
- package/dist/Physics/Models/TPhysicsDebugRenderer.d.ts +1 -1
- package/dist/Physics/Models/TPhysicsLoop.d.ts +1 -1
- package/dist/Physics/Models/TPhysicsWorldService.d.ts +2 -2
- package/dist/Physics/Registries/PhysicsBodyRegistry.d.ts +1 -1
- package/dist/Physics/Registries/PhysicsBodyRegistry.js.map +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.d.ts +2 -2
- package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
- package/dist/Physics/Services/PhysicsBodyService.d.ts +1 -1
- package/dist/Physics/Services/PhysicsBodyService.js.map +1 -1
- package/dist/Physics/Services/PhysicsWorldService.d.ts +3 -3
- package/dist/Physics/Services/PhysicsWorldService.js.map +1 -1
- package/dist/Physics/Utils/ParamsUtils.d.ts +1 -1
- package/dist/Physics/Utils/ParamsUtils.js.map +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.d.ts +4 -4
- package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Renderer/Factories/RendererFactory.d.ts +1 -1
- package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
- package/dist/Renderer/Loop/RendererLoopEffect.d.ts +4 -4
- package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererParamsAccessors.d.ts +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererParamsAccessors.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererPropsAccessors.d.ts +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererPropsAccessors.js.map +1 -1
- package/dist/Renderer/Models/TRendererFactory.d.ts +1 -1
- package/dist/Renderer/Models/TRendererParams.d.ts +2 -2
- package/dist/Renderer/Models/TRendererRegistry.d.ts +1 -1
- package/dist/Renderer/Models/TRendererService.d.ts +2 -2
- package/dist/Renderer/Models/TRendererServiceDependencies.d.ts +2 -2
- package/dist/Renderer/Models/TRendererWrapper.d.ts +2 -2
- package/dist/Renderer/Models/TRendererWrapperDependencies.d.ts +2 -2
- package/dist/Renderer/Registries/RendererRegistry.d.ts +1 -1
- package/dist/Renderer/Registries/RendererRegistry.js.map +1 -1
- package/dist/Renderer/Services/RendererService.d.ts +3 -3
- package/dist/Renderer/Services/RendererService.js.map +1 -1
- package/dist/Renderer/Wrappers/Accessors.d.ts +1 -1
- package/dist/Renderer/Wrappers/Accessors.js.map +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.d.ts +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
- package/dist/Scene/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Scene/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Scene/Factories/SceneFactory.d.ts +1 -1
- package/dist/Scene/Factories/SceneFactory.js.map +1 -1
- package/dist/Scene/Models/TSceneAccessors.d.ts +10 -10
- package/dist/Scene/Models/TSceneConfig.d.ts +1 -1
- package/dist/Scene/Models/TSceneFactory.d.ts +1 -1
- package/dist/Scene/Models/TSceneObject.d.ts +1 -1
- package/dist/Scene/Models/TSceneParams.d.ts +3 -3
- package/dist/Scene/Models/TSceneRegistry.d.ts +1 -1
- package/dist/Scene/Models/TSceneWrapper.d.ts +2 -2
- package/dist/Scene/Models/TScenesService.d.ts +2 -2
- package/dist/Scene/Registries/SceneRegistry.d.ts +1 -1
- package/dist/Scene/Registries/SceneRegistry.js.map +1 -1
- package/dist/Scene/Services/ScenesService.d.ts +1 -1
- package/dist/Scene/Services/ScenesService.js.map +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.d.ts +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
- package/dist/Space/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Space/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Space/Entities/Space.d.ts +1 -1
- package/dist/Space/Entities/Space.js.map +1 -1
- package/dist/Space/Entities/SpaceFromConfig.d.ts +1 -1
- package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
- package/dist/Space/Factories/SpaceFactory.d.ts +1 -1
- package/dist/Space/Factories/SpaceFactory.js.map +1 -1
- package/dist/Space/Models/TRenderLoop.d.ts +1 -1
- package/dist/Space/Models/TSpace.d.ts +2 -2
- package/dist/Space/Models/TSpaceBaseServices.d.ts +2 -2
- package/dist/Space/Models/TSpaceConfig.d.ts +1 -1
- package/dist/Space/Models/TSpaceConfigEntities.d.ts +16 -16
- package/dist/Space/Models/TSpaceConfigResources.d.ts +5 -5
- package/dist/Space/Models/TSpaceEvents.d.ts +1 -1
- package/dist/Space/Models/TSpaceFactory.d.ts +1 -1
- package/dist/Space/Models/TSpaceLoops.d.ts +10 -10
- package/dist/Space/Models/TSpaceParams.d.ts +3 -3
- package/dist/Space/Models/TSpaceParamsEntities.d.ts +16 -16
- package/dist/Space/Models/TSpaceRegistry.d.ts +1 -1
- package/dist/Space/Models/TSpaceService.d.ts +2 -2
- package/dist/Space/Models/TSpaceServices.d.ts +25 -25
- package/dist/Space/Models/TSpaceSettings.d.ts +2 -2
- package/dist/Space/Registries/SpaceRegistry.d.ts +1 -1
- package/dist/Space/Registries/SpaceRegistry.js.map +1 -1
- package/dist/Space/Services/SpaceService.d.ts +1 -1
- package/dist/Space/Services/SpaceService.js.map +1 -1
- package/dist/Space/Utils/CanvasUtils.d.ts +2 -2
- package/dist/Space/Utils/CanvasUtils.js.map +1 -1
- package/dist/Space/Utils/CreateEntitiesUtils.d.ts +3 -3
- package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
- package/dist/Space/Utils/CreateLoopsUtils.d.ts +2 -2
- package/dist/Space/Utils/CreateLoopsUtils.js.map +1 -1
- package/dist/Space/Utils/LoadResourcesUtils.d.ts +1 -1
- package/dist/Space/Utils/LoadResourcesUtils.js.map +1 -1
- package/dist/Space/Utils/PrepareServicesUtils.d.ts +3 -3
- package/dist/Space/Utils/PrepareServicesUtils.js.map +1 -1
- package/dist/Space/Utils/SchemaValidationUtils.d.ts +6 -6
- package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
- package/dist/Space/Validators/SchemasValidator.d.ts +1 -1
- package/dist/Space/Validators/SchemasValidator.js.map +1 -1
- package/dist/Space/Validators/ValidateConfig.d.ts +1 -1
- package/dist/Space/Validators/ValidateConfig.js.map +1 -1
- package/dist/Space/Validators/ValidateSpace.d.ts +1 -1
- package/dist/Space/Validators/ValidateSpace.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.d.ts +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.d.ts +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.d.ts +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.d.ts +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
- package/dist/Spatial/Mixins/WithSpatial.d.ts +2 -2
- package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.d.ts +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
- package/dist/Spatial/Models/TParamsFromConfigSpatial.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialCell.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialCellParams.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialCellWrapper.d.ts +3 -3
- package/dist/Spatial/Models/TSpatialData.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialGridFactory.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialGridParams.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialGridRegistry.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialGridService.d.ts +2 -2
- package/dist/Spatial/Models/TSpatialGridWrapper.d.ts +4 -4
- package/dist/Spatial/Models/TSpatialLoop.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialMethods.d.ts +1 -1
- package/dist/Spatial/Models/TSpatialPerformanceOptions.d.ts +1 -1
- package/dist/Spatial/Models/TWithSpatial.d.ts +1 -1
- package/dist/Spatial/Models/TWithUpdateSpatialCell.d.ts +1 -1
- package/dist/Spatial/Registries/SpatialGridRegistry.d.ts +1 -1
- package/dist/Spatial/Registries/SpatialGridRegistry.js.map +1 -1
- package/dist/Spatial/Services/SpatialGridService.d.ts +1 -1
- package/dist/Spatial/Services/SpatialGridService.js.map +1 -1
- package/dist/Spatial/Services/SpatialHelper.d.ts +1 -1
- package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.d.ts +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.d.ts +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
- package/dist/Text/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Text/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Text/Factories/TextFactory.d.ts +1 -1
- package/dist/Text/Factories/TextFactory.js.map +1 -1
- package/dist/Text/Loop/TextLoopEffect.d.ts +3 -3
- package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
- package/dist/Text/Models/TAbstractTextWrapper.d.ts +3 -3
- package/dist/Text/Models/TTextConfig.d.ts +2 -2
- package/dist/Text/Models/TTextCssProps.d.ts +2 -2
- package/dist/Text/Models/TTextFactory.d.ts +2 -2
- package/dist/Text/Models/TTextLoop.d.ts +1 -1
- package/dist/Text/Models/TTextParams.d.ts +6 -6
- package/dist/Text/Models/TTextRegistry.d.ts +2 -2
- package/dist/Text/Models/TTextRenderer.d.ts +2 -2
- package/dist/Text/Models/TTextRendererRegistry.d.ts +1 -1
- package/dist/Text/Models/TTextService.d.ts +3 -3
- package/dist/Text/Models/TTextServiceDependencies.d.ts +4 -4
- package/dist/Text/Models/TTextTextureWrapper.d.ts +3 -3
- package/dist/Text/Models/TTextTransformAgents.d.ts +1 -1
- package/dist/Text/Models/TTextTransformDrive.d.ts +1 -1
- package/dist/Text/Models/TTextTransformDriveDependencies.d.ts +2 -2
- package/dist/Text/Models/TTextWrapper.d.ts +4 -4
- package/dist/Text/Models/index.d.ts +1 -0
- package/dist/Text/Registries/Text2dRegistry.d.ts +1 -1
- package/dist/Text/Registries/Text2dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text2dRendererRegistry.d.ts +1 -1
- package/dist/Text/Registries/Text2dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRegistry.d.ts +1 -1
- package/dist/Text/Registries/Text3dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRendererRegistry.d.ts +1 -1
- package/dist/Text/Registries/Text3dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dTextureRegistry.d.ts +1 -1
- package/dist/Text/Registries/Text3dTextureRegistry.js.map +1 -1
- package/dist/Text/Renderers/Text2dRenderer.d.ts +2 -2
- package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
- package/dist/Text/Renderers/Text3dRenderer.d.ts +2 -2
- package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
- package/dist/Text/Renderers/TextRendererBuilder.d.ts +3 -3
- package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
- package/dist/Text/Services/TextService.d.ts +3 -3
- package/dist/Text/Services/TextService.js.map +1 -1
- package/dist/Text/TransformDrive/TextTransformDrive.d.ts +1 -1
- package/dist/Text/TransformDrive/TextTransformDrive.js.map +1 -1
- package/dist/Text/Utils/TextUtils.d.ts +1 -1
- package/dist/Text/Utils/TextUtils.js.map +1 -1
- package/dist/Text/Wrappers/Accessors.d.ts +1 -1
- package/dist/Text/Wrappers/Accessors.js.map +1 -1
- package/dist/Text/Wrappers/Text2dWrapper.d.ts +1 -1
- package/dist/Text/Wrappers/Text2dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dTextureWrapper.d.ts +1 -1
- package/dist/Text/Wrappers/Text3dTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dWrapper.d.ts +1 -1
- package/dist/Text/Wrappers/Text3dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.d.ts +2 -2
- package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapper.d.ts +2 -2
- package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperBuilder.d.ts +1 -1
- package/dist/Text/Wrappers/TextWrapperBuilder.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperHelper.d.ts +3 -3
- package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
- package/dist/Texture/Loaders/TexturesLoader.d.ts +2 -2
- package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
- package/dist/Texture/Models/TTextureAsyncRegistry.d.ts +1 -1
- package/dist/Texture/Models/TTextureMetaInfoRegistry.d.ts +1 -1
- package/dist/Texture/Models/TTextureResourceConfig.d.ts +1 -1
- package/dist/Texture/Models/TTextureService.d.ts +2 -2
- package/dist/Texture/Models/TTexturesLoader.d.ts +1 -1
- package/dist/Texture/Registries/TextureMetaInfoRegistry.d.ts +1 -1
- package/dist/Texture/Registries/TextureMetaInfoRegistry.js.map +1 -1
- package/dist/Texture/Registries/TextureResourceAsyncRegistry.d.ts +1 -1
- package/dist/Texture/Registries/TextureResourceAsyncRegistry.js.map +1 -1
- package/dist/Texture/Services/TextureService.d.ts +2 -2
- package/dist/Texture/Services/TextureService.js.map +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.d.ts +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
- package/dist/ThreeLib/Models/TBoxGeometryParams.d.ts +1 -1
- package/dist/ThreeLib/Models/TPlaneGeometryParams.d.ts +1 -1
- package/dist/ThreeLib/Models/TSphereGeometryParams.d.ts +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.d.ts +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.d.ts +2 -2
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/ConnectedTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Entities/Agents/ConnectedTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/DefaultTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Entities/Agents/DefaultTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.d.ts +2 -2
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
- package/dist/TransformDrive/Entities/Drive/TransformDrive.d.ts +2 -2
- package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
- package/dist/TransformDrive/Factories/TransformDriveFactory.d.ts +1 -1
- package/dist/TransformDrive/Factories/TransformDriveFactory.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutablePositionConnector.d.ts +2 -2
- package/dist/TransformDrive/Mixins/WithMutablePositionConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableRotationConnector.d.ts +2 -2
- package/dist/TransformDrive/Mixins/WithMutableRotationConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableScaleConnector.d.ts +2 -2
- package/dist/TransformDrive/Mixins/WithMutableScaleConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithProxyTransform.d.ts +2 -2
- package/dist/TransformDrive/Mixins/WithProxyTransform.js.map +1 -1
- package/dist/TransformDrive/Models/TAbstractTransformAgent.d.ts +3 -3
- package/dist/TransformDrive/Models/TConnectedTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Models/TDefaultTransformAgent.d.ts +1 -1
- package/dist/TransformDrive/Models/TDriveToTargetConnector.d.ts +1 -1
- package/dist/TransformDrive/Models/TGetTransformAgentsParams.d.ts +3 -3
- package/dist/TransformDrive/Models/TKinematicAgentDependencies.d.ts +1 -1
- package/dist/TransformDrive/Models/TKinematicSpeed.d.ts +2 -2
- package/dist/TransformDrive/Models/TKinematicTransformAgent.d.ts +2 -2
- package/dist/TransformDrive/Models/TKinematicTransformAgentParams.d.ts +1 -1
- package/dist/TransformDrive/Models/TOffsets.d.ts +1 -1
- package/dist/TransformDrive/Models/TPhysicsAgentDependencies.d.ts +1 -1
- package/dist/TransformDrive/Models/TPhysicsTransformAgent.d.ts +2 -2
- package/dist/TransformDrive/Models/TPhysicsTransformAgentParams.d.ts +1 -1
- package/dist/TransformDrive/Models/TReadonlyTransform.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformAgentPerformanceParams.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformAgents.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDrive.d.ts +4 -4
- package/dist/TransformDrive/Models/TTransformDriveFactory.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDriveFactoryParams.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDriveParams.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDrivePerformanceOptions.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDriveRegistry.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformDriveSerializedData.d.ts +3 -3
- package/dist/TransformDrive/Models/TTransformDriveService.d.ts +3 -3
- package/dist/TransformDrive/Models/TTransformDriveServiceDependencies.d.ts +1 -1
- package/dist/TransformDrive/Models/TTransformLoop.d.ts +1 -1
- package/dist/TransformDrive/Models/TWithMutableRotationConnector.d.ts +1 -1
- package/dist/TransformDrive/Models/TWithTransformAgentParam.d.ts +1 -1
- package/dist/TransformDrive/Registries/TransformDriveRegistry.d.ts +1 -1
- package/dist/TransformDrive/Registries/TransformDriveRegistry.js.map +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.d.ts +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
- package/dist/TransformDrive/Utils/ActorDriveUtils.d.ts +1 -1
- package/dist/TransformDrive/Utils/ActorDriveUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/AgentUtils.d.ts +2 -2
- package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/KinematicAgentUtils.d.ts +4 -4
- package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.d.ts +4 -4
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/TransformDriveUtils.d.ts +3 -3
- package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
- package/dist/Utils/CheckUtils.d.ts +5 -5
- package/dist/Utils/CheckUtils.js.map +1 -1
- package/dist/Utils/CoordsUtils.d.ts +2 -2
- package/dist/Utils/CoordsUtils.js.map +1 -1
- package/dist/Utils/DestroyUtils.d.ts +4 -4
- package/dist/Utils/DestroyUtils.js.map +1 -1
- package/dist/Utils/DomUtils.d.ts +2 -2
- package/dist/Utils/DomUtils.js.map +1 -1
- package/dist/Utils/EntityUtils.d.ts +1 -1
- package/dist/Utils/EntityUtils.js.map +1 -1
- package/dist/Utils/RegistryAsyncUtils.d.ts +2 -2
- package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
- package/dist/Utils/RegistryUtils.d.ts +3 -3
- package/dist/Utils/RegistryUtils.js.map +1 -1
- package/dist/Utils/ScreenUtils.d.ts +2 -2
- package/dist/Utils/ScreenUtils.js.map +1 -1
- package/dist/Utils/TagsUtils.d.ts +1 -1
- package/dist/Utils/TagsUtils.js.map +1 -1
- package/dist/Utils/TransformUtils.d.ts +1 -1
- package/dist/Utils/TransformUtils.js.map +1 -1
- package/dist/Utils/WrapperHelpers.d.ts +3 -3
- package/dist/Utils/WrapperHelpers.js.map +1 -1
- package/dist/assets/Loop.worker-D1bMWlsN.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -1
- package/legal/NOTICE.md +1 -1
- package/legal/THIRD_PARTY_LICENSES.md +1 -1
- package/package.json +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KinematicTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/KinematicTransformAgent.ts"],"sourcesContent":["import { metersPerSecond } from '@hellpig/anarchy-engine/Distance';\nimport { DefaultIsAutoUpdate, DefaultKinematicState, DefaultKinematicTarget, kinematicEntityToConfig } from '@hellpig/anarchy-engine/Kinematic';\nimport { ForwardAxis } from '@hellpig/anarchy-engine/Kinematic/Constants';\nimport type { TKinematicConfig, TKinematicData, TKinematicWritableData } from '@hellpig/anarchy-engine/Kinematic/Models';\nimport type { TMeters, TMetersPerSecond, TMilliseconds, TRadians, TRadiansPerSecond } from '@hellpig/anarchy-engine/Math';\nimport { getAzimuthElevationFromVector, getElevationFromDirection } from '@hellpig/anarchy-engine/Math';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@hellpig/anarchy-engine/ThreeLib';\nimport { TransformAgent } from '@hellpig/anarchy-engine/TransformDrive/Constants';\nimport type { TAbstractTransformAgent, TKinematicAgentDependencies, TKinematicSpeed, TKinematicTransformAgent, TKinematicTransformAgentParams } from '@hellpig/anarchy-engine/TransformDrive/Models';\nimport { getStepRotation, isInstant, isPointReached, isRotationReached, moveInstantly, rotateInstantly } from '@hellpig/anarchy-engine/TransformDrive/Utils/KinematicAgentUtils';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, combineLatest, EMPTY, switchMap } from 'rxjs';\nimport type { QuaternionLike, Vector3Like } from 'three';\nimport { Object3D, Quaternion, Vector3 } from 'three';\n\nimport { AbstractTransformAgent } from './AbstractTransformAgent';\n\nexport function KinematicTransformAgent(params: TKinematicTransformAgentParams, { kinematicLoop }: TKinematicAgentDependencies): TKinematicTransformAgent {\n const autoUpdate$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(params.isAutoUpdate ?? DefaultIsAutoUpdate);\n const abstractTransformAgent: TAbstractTransformAgent = AbstractTransformAgent(params, TransformAgent.Kinematic);\n\n let kinematicSub$: Subscription | undefined = undefined;\n\n let tempObject: Object3D = new Object3D();\n let linearDirection: Vector3 = new Vector3();\n let displacement: Vector3 = new Vector3();\n\n const destroySub$: Subscription = abstractTransformAgent.destroy$.subscribe((): void => {\n //Stop subscriptions\n destroySub$.unsubscribe();\n kinematicSub$?.unsubscribe();\n\n abstractTransformAgent.destroy$.next();\n\n tempObject.parent?.remove(tempObject);\n tempObject = null as any;\n linearDirection = null as any;\n displacement = null as any;\n });\n\n // eslint-disable-next-line functional/immutable-data\n const agent: Omit<TKinematicTransformAgent, 'data'> & Readonly<{ data: TKinematicWritableData }> = Object.assign(abstractTransformAgent, {\n data: {\n state: {\n linearSpeed: params.state.linearSpeed ?? DefaultKinematicState.linearSpeed,\n linearDirection: params.state.linearDirection?.clone() ?? DefaultKinematicState.linearDirection,\n angularSpeed: params.state.angularSpeed ?? DefaultKinematicState.angularSpeed,\n radius: params.state.radius ?? DefaultKinematicState.radius,\n angularDirection: params.state.angularDirection?.clone() ?? DefaultKinematicState.angularDirection,\n forwardAxis: params.state.forwardAxis ?? DefaultKinematicState.forwardAxis,\n isInfiniteRotation: params.state.isInfiniteRotation ?? DefaultKinematicState.isInfiniteRotation\n },\n target: {\n positionThreshold: params.target?.positionThreshold ?? DefaultKinematicTarget.positionThreshold,\n position: params.target?.position?.clone() ?? DefaultKinematicTarget.position,\n rotationThreshold: params.target?.rotationThreshold ?? DefaultKinematicTarget.rotationThreshold,\n rotation: params.target?.rotation?.clone() ?? DefaultKinematicTarget.rotation\n }\n },\n setData({ state, target }: TKinematicData): void {\n const { linearSpeed, linearDirection, angularSpeed, angularDirection, forwardAxis, isInfiniteRotation } = state;\n const { positionThreshold, position, rotationThreshold, rotation } = target ?? {};\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.linearSpeed = linearSpeed;\n\n agent.data.state.linearDirection.copy(linearDirection);\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.angularSpeed = angularSpeed;\n\n agent.data.state.angularDirection.copy(angularDirection);\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.forwardAxis = forwardAxis;\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.isInfiniteRotation = isInfiniteRotation;\n\n if (isNotDefined(target)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(positionThreshold)) agent.data.target.positionThreshold = positionThreshold;\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.position = position;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(rotationThreshold)) agent.data.target.rotationThreshold = rotationThreshold;\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.rotation = rotation;\n },\n getData(): TKinematicData {\n return agent.data;\n },\n getRadius(): TMeters {\n return agent.data.state.radius;\n },\n setRadius(radius: TMeters): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.radius = radius;\n },\n getForwardAxis(): ForwardAxis {\n return agent.data.state.forwardAxis;\n },\n setForwardAxis(axis: ForwardAxis): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.forwardAxis = axis;\n },\n moveTo(targetPosition: TReadonlyVector3, speed: TKinematicSpeed): void | never {\n if (isInstant(speed)) return moveInstantly(agent, targetPosition);\n if (speed < 0) throw new Error('[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.');\n if (speed === 0) return agent.setLinearSpeed(0);\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.position = targetPosition.clone();\n\n // If the agent is already at the target, do not move\n if (targetPosition.equals(abstractTransformAgent.position$.value)) return agent.setLinearSpeed(0);\n\n agent.setLinearDirection(targetPosition.clone().sub(abstractTransformAgent.position$.value).normalize());\n agent.setLinearSpeed(speed);\n return undefined;\n },\n // Rotates agent to \"look\" at the target position (e.g., mouse click position or any other actor, etc.)\n lookAt(targetPosition: TReadonlyVector3, speed: TKinematicSpeed): void | never {\n tempObject.position.copy(abstractTransformAgent.position$.value);\n tempObject.up.set(0, 1, 0);\n tempObject.lookAt(targetPosition as Vector3);\n const targetRotation: Quaternion = tempObject.quaternion.clone().normalize();\n\n return agent.rotateTo(targetRotation, speed);\n },\n // Rotates agent as provided Quaternion (useful when you want to rotate as someone else already rotated)\n rotateTo(targetRotation: TReadonlyQuaternion, speed: TKinematicSpeed, infinite: boolean = false): void | never {\n if (isInstant(speed)) return rotateInstantly(agent, targetRotation);\n\n if (speed < 0) throw new Error('[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.');\n if (speed === 0) return agent.setAngularSpeed(0);\n if (agent.data.state.radius === 0) throw new Error('[KinematicTransformAgent]: Radius must be greater than 0 to calculate angular speed.');\n const angularSpeed: TRadiansPerSecond = (speed / agent.data.state.radius) as TRadiansPerSecond;\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.rotation = targetRotation.clone().normalize();\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.isInfiniteRotation = infinite;\n\n agent.setAngularSpeed(angularSpeed);\n return undefined;\n },\n getLinearSpeed(): TMetersPerSecond {\n return agent.data.state.linearSpeed;\n },\n setLinearSpeed(speed: TMetersPerSecond): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.linearSpeed = speed;\n },\n getLinearDirection(): Vector3 {\n return agent.data.state.linearDirection;\n },\n setLinearDirection(direction: Vector3Like): void {\n agent.data.state.linearDirection.copy(direction);\n },\n getLinearAzimuth(): TRadians {\n return getAzimuthElevationFromVector(agent.data.state.linearDirection, agent.data.state.forwardAxis).azimuth;\n },\n setLinearAzimuth(azimuthRad: TRadians): void {\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(agent.data.target?.position)) agent.data.target.position = undefined;\n\n const { forwardAxis } = agent.data.state;\n const currentDir: Vector3 = agent.data.state.linearDirection.clone();\n\n const { elevation } = getAzimuthElevationFromVector(currentDir, forwardAxis);\n const totalLength: number = currentDir.length() || 1;\n\n let newX: number, newZ: number;\n const horizontalScale: number = Math.cos(elevation) * totalLength;\n\n if (forwardAxis === ForwardAxis.Z) {\n newX = Math.sin(azimuthRad) * horizontalScale;\n newZ = Math.cos(azimuthRad) * horizontalScale;\n } else if (forwardAxis === ForwardAxis.X) {\n newX = Math.cos(azimuthRad) * horizontalScale;\n newZ = Math.sin(azimuthRad) * horizontalScale;\n } else {\n throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);\n }\n\n const newY = Math.sin(elevation) * totalLength;\n agent.data.state.linearDirection.set(newX, newY, newZ).normalize();\n\n // An alternative approach (better calculations with edge cases). Uses vector projection instead of trigonometry (If chose this approach, makes sense to make setLinearAzimuth using the same approach)\n // const current = agent.data.state.linearDirection;\n // const currentY = current.y;\n // const horizontalMag = Math.sqrt(current.x * current.x + current.z * current.z);\n // let newX: number, newZ: number;\n // if (agent.data.state.forwardAxis === 'Z') {\n // newX = Math.sin(azimuthRad) * horizontalMag;\n // newZ = Math.cos(azimuthRad) * horizontalMag;\n // } else {\n // // forwardAxis === 'X'\n // newX = Math.cos(azimuthRad) * horizontalMag;\n // newZ = Math.sin(azimuthRad) * horizontalMag;\n // }\n // agent.data.state.linearDirection.set(newX, currentY, newZ);\n // // agent.data.state.linearDirection.normalize();\n },\n getLinearElevation(): TRadians {\n return getElevationFromDirection(agent.data.state.linearDirection);\n },\n setLinearElevation(elevationRad: TRadians): void {\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(agent.data.target?.position)) agent.data.target.position = undefined;\n\n const { forwardAxis } = agent.data.state;\n const currentDir = agent.data.state.linearDirection.clone();\n\n const { azimuth } = getAzimuthElevationFromVector(currentDir, forwardAxis);\n const totalLength: number = currentDir.length() || 1;\n\n const horizontalScale: number = Math.cos(elevationRad) * totalLength;\n let newX: number, newZ: number;\n\n if (forwardAxis === ForwardAxis.Z) {\n newX = Math.sin(azimuth) * horizontalScale;\n newZ = Math.cos(azimuth) * horizontalScale;\n } else if (ForwardAxis.X) {\n newX = Math.cos(azimuth) * horizontalScale;\n newZ = Math.sin(azimuth) * horizontalScale;\n } else {\n throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);\n }\n\n const newY = Math.sin(elevationRad) * totalLength;\n\n agent.data.state.linearDirection.set(newX, newY, newZ).normalize();\n\n // An alternative approach (better calculations with edge cases). Uses vector projection instead of trigonometry (If chose this approach, makes sense to make setLinearAzimuth using the same approach)\n // const current = agent.data.state.linearDirection;\n // const horizontal = new Vector3(current.x, 0, current.z);\n // const h = horizontal.length();\n //\n // let horizontalDir: Vector3;\n // if (h > 1e-6) {\n // horizontalDir = horizontal.clone().normalize();\n // } else {\n // horizontalDir = agent.data.state.forwardAxis === 'Z' ? new Vector3(0, 0, 1) : new Vector3(1, 0, 0);\n // }\n //\n // // Approach 1 (absolute): Set the vector as in spherical coordinates with the given elevation.\n // // horizontal component will be cos(elevation), and vertical sin(elevation).\n // const newHorizontalMag = Math.cos(elevationRad);\n // const newHorizontal = horizontalDir.multiplyScalar(newHorizontalMag);\n // const newY = Math.sin(elevationRad);\n // agent.data.state.linearDirection.set(newHorizontal.x, newY, newHorizontal.z);\n //\n // // Approach 2 (additive): If you want to \"add\" vertical movement\n // // const newY = current.y + Math.tan(elevationRad) * h;\n // // agent.data.state.linearDirection.set(current.x, newY, current.z);\n // // agent.data.state.linearDirection.normalize();\n },\n resetLinear(resetSpeed: boolean, resetDirection: boolean): void {\n if (resetSpeed) agent.setLinearSpeed(0);\n if (resetDirection) agent.setLinearDirection(new Vector3());\n },\n getAngularSpeed(): TRadiansPerSecond {\n return agent.data.state.angularSpeed;\n },\n getAngularSpeedMps(): TMetersPerSecond | never {\n if (agent.data.state.radius <= 0) throw new Error('Radius must be set and be greater than 0 to calculate angular speed.');\n return metersPerSecond(agent.data.state.angularSpeed * agent.data.state.radius);\n },\n setAngularSpeed(speed: TRadiansPerSecond): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.angularSpeed = speed;\n },\n setAngularSpeedMps(speed: TMetersPerSecond): void | never {\n if (agent.data.state.radius <= 0) throw new Error('Radius must be set and be greater than 0 to calculate angular speed.');\n agent.setAngularSpeed((speed / agent.data.state.radius) as TRadiansPerSecond);\n },\n getAngularDirection(): Quaternion {\n return agent.data.state.angularDirection.clone();\n },\n setAngularDirection(direction: QuaternionLike): void {\n agent.data.state.angularDirection.copy(direction);\n },\n resetAngular(resetSpeed: boolean, resetDirection: boolean): void {\n if (resetSpeed) agent.setAngularSpeed(0);\n if (resetDirection) agent.setAngularDirection(new Quaternion());\n },\n serialize(): TKinematicConfig {\n return kinematicEntityToConfig(agent);\n },\n autoUpdate$\n });\n\n function doKinematicMove(delta: TMilliseconds): void {\n if (agent.data.state.linearSpeed <= 0) return;\n\n if (isPointReached(agent.data.target, abstractTransformAgent.position$.value, agent.data.state)) return;\n\n const safeDelta: TMilliseconds = delta > 0 ? delta : (1 as TMilliseconds);\n linearDirection.copy(agent.data.state.linearDirection).normalize();\n displacement.copy(linearDirection).multiplyScalar(agent.data.state.linearSpeed * safeDelta);\n\n abstractTransformAgent.position$.next(abstractTransformAgent.position$.value.clone().add(displacement));\n }\n\n function doKinematicRotation(delta: TMilliseconds): void {\n if (agent.data.state.angularSpeed <= 0) return;\n\n const safeDelta: TMilliseconds = delta > 0 ? delta : (1 as TMilliseconds);\n const rotationStep: TRadians = (agent.data.state.angularSpeed * safeDelta) as TRadians;\n\n if (!agent.data.state.isInfiniteRotation && isRotationReached(agent.data.target, agent.rotation$.value, agent.data.state)) return;\n const stepRotation: Quaternion | undefined = getStepRotation(agent, rotationStep, agent.data.state.isInfiniteRotation);\n\n if (isNotDefined(stepRotation)) return;\n\n agent.data.state.angularDirection.multiply(stepRotation).normalize();\n agent.rotation$.next(agent.data.state.angularDirection);\n }\n\n kinematicSub$ = combineLatest([agent.enabled$, agent.autoUpdate$])\n .pipe(\n //Do not update if agent is disabled or autoUpdate is turned off\n switchMap(([isEnabled, isAutoUpdate]: ReadonlyArray<boolean>): Observable<TMilliseconds> => (isEnabled && isAutoUpdate ? kinematicLoop.tick$ : EMPTY))\n )\n .subscribe((delta: TMilliseconds): void => {\n doKinematicRotation(delta);\n doKinematicMove(delta);\n });\n\n return agent;\n}\n"],"names":["KinematicTransformAgent","params","kinematicLoop","autoUpdate$","BehaviorSubject","isAutoUpdate","DefaultIsAutoUpdate","abstractTransformAgent","AbstractTransformAgent","TransformAgent","Kinematic","kinematicSub$","tempObject","Object3D","linearDirection","Vector3","displacement","destroySub$","destroy$","subscribe","unsubscribe","next","parent","remove","agent","Object","assign","data","state","linearSpeed","DefaultKinematicState","clone","angularSpeed","radius","angularDirection","forwardAxis","isInfiniteRotation","target","positionThreshold","DefaultKinematicTarget","position","rotationThreshold","rotation","setData","copy","isNotDefined","isDefined","getData","getRadius","setRadius","getForwardAxis","setForwardAxis","axis","moveTo","targetPosition","speed","isInstant","moveInstantly","Error","setLinearSpeed","equals","position$","value","setLinearDirection","sub","normalize","lookAt","up","set","targetRotation","quaternion","rotateTo","infinite","rotateInstantly","setAngularSpeed","getLinearSpeed","getLinearDirection","direction","getLinearAzimuth","getAzimuthElevationFromVector","azimuth","setLinearAzimuth","azimuthRad","currentDir","elevation","totalLength","length","newX","newZ","horizontalScale","Math","cos","ForwardAxis","Z","sin","X","newY","getLinearElevation","getElevationFromDirection","setLinearElevation","elevationRad","resetLinear","resetSpeed","resetDirection","getAngularSpeed","getAngularSpeedMps","metersPerSecond","setAngularSpeedMps","getAngularDirection","setAngularDirection","resetAngular","Quaternion","serialize","kinematicEntityToConfig","combineLatest","enabled$","pipe","switchMap","isEnabled","tick$","EMPTY","delta","rotationStep","isRotationReached","rotation$","stepRotation","getStepRotation","multiply","doKinematicRotation","isPointReached","safeDelta","multiplyScalar","add","doKinematicMove"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KinematicTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/KinematicTransformAgent.ts"],"sourcesContent":["import { metersPerSecond } from '@Anarchy/Engine/Distance';\nimport { DefaultIsAutoUpdate, DefaultKinematicState, DefaultKinematicTarget, kinematicEntityToConfig } from '@Anarchy/Engine/Kinematic';\nimport { ForwardAxis } from '@Anarchy/Engine/Kinematic/Constants';\nimport type { TKinematicConfig, TKinematicData, TKinematicWritableData } from '@Anarchy/Engine/Kinematic/Models';\nimport type { TMeters, TMetersPerSecond, TMilliseconds, TRadians, TRadiansPerSecond } from '@Anarchy/Engine/Math';\nimport { getAzimuthElevationFromVector, getElevationFromDirection } from '@Anarchy/Engine/Math';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@Anarchy/Engine/ThreeLib';\nimport { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type { TAbstractTransformAgent, TKinematicAgentDependencies, TKinematicSpeed, TKinematicTransformAgent, TKinematicTransformAgentParams } from '@Anarchy/Engine/TransformDrive/Models';\nimport { getStepRotation, isInstant, isPointReached, isRotationReached, moveInstantly, rotateInstantly } from '@Anarchy/Engine/TransformDrive/Utils/KinematicAgentUtils';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, combineLatest, EMPTY, switchMap } from 'rxjs';\nimport type { QuaternionLike, Vector3Like } from 'three';\nimport { Object3D, Quaternion, Vector3 } from 'three';\n\nimport { AbstractTransformAgent } from './AbstractTransformAgent';\n\nexport function KinematicTransformAgent(params: TKinematicTransformAgentParams, { kinematicLoop }: TKinematicAgentDependencies): TKinematicTransformAgent {\n const autoUpdate$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(params.isAutoUpdate ?? DefaultIsAutoUpdate);\n const abstractTransformAgent: TAbstractTransformAgent = AbstractTransformAgent(params, TransformAgent.Kinematic);\n\n let kinematicSub$: Subscription | undefined = undefined;\n\n let tempObject: Object3D = new Object3D();\n let linearDirection: Vector3 = new Vector3();\n let displacement: Vector3 = new Vector3();\n\n const destroySub$: Subscription = abstractTransformAgent.destroy$.subscribe((): void => {\n //Stop subscriptions\n destroySub$.unsubscribe();\n kinematicSub$?.unsubscribe();\n\n abstractTransformAgent.destroy$.next();\n\n tempObject.parent?.remove(tempObject);\n tempObject = null as any;\n linearDirection = null as any;\n displacement = null as any;\n });\n\n // eslint-disable-next-line functional/immutable-data\n const agent: Omit<TKinematicTransformAgent, 'data'> & Readonly<{ data: TKinematicWritableData }> = Object.assign(abstractTransformAgent, {\n data: {\n state: {\n linearSpeed: params.state.linearSpeed ?? DefaultKinematicState.linearSpeed,\n linearDirection: params.state.linearDirection?.clone() ?? DefaultKinematicState.linearDirection,\n angularSpeed: params.state.angularSpeed ?? DefaultKinematicState.angularSpeed,\n radius: params.state.radius ?? DefaultKinematicState.radius,\n angularDirection: params.state.angularDirection?.clone() ?? DefaultKinematicState.angularDirection,\n forwardAxis: params.state.forwardAxis ?? DefaultKinematicState.forwardAxis,\n isInfiniteRotation: params.state.isInfiniteRotation ?? DefaultKinematicState.isInfiniteRotation\n },\n target: {\n positionThreshold: params.target?.positionThreshold ?? DefaultKinematicTarget.positionThreshold,\n position: params.target?.position?.clone() ?? DefaultKinematicTarget.position,\n rotationThreshold: params.target?.rotationThreshold ?? DefaultKinematicTarget.rotationThreshold,\n rotation: params.target?.rotation?.clone() ?? DefaultKinematicTarget.rotation\n }\n },\n setData({ state, target }: TKinematicData): void {\n const { linearSpeed, linearDirection, angularSpeed, angularDirection, forwardAxis, isInfiniteRotation } = state;\n const { positionThreshold, position, rotationThreshold, rotation } = target ?? {};\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.linearSpeed = linearSpeed;\n\n agent.data.state.linearDirection.copy(linearDirection);\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.angularSpeed = angularSpeed;\n\n agent.data.state.angularDirection.copy(angularDirection);\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.forwardAxis = forwardAxis;\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.isInfiniteRotation = isInfiniteRotation;\n\n if (isNotDefined(target)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(positionThreshold)) agent.data.target.positionThreshold = positionThreshold;\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.position = position;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(rotationThreshold)) agent.data.target.rotationThreshold = rotationThreshold;\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.rotation = rotation;\n },\n getData(): TKinematicData {\n return agent.data;\n },\n getRadius(): TMeters {\n return agent.data.state.radius;\n },\n setRadius(radius: TMeters): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.radius = radius;\n },\n getForwardAxis(): ForwardAxis {\n return agent.data.state.forwardAxis;\n },\n setForwardAxis(axis: ForwardAxis): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.forwardAxis = axis;\n },\n moveTo(targetPosition: TReadonlyVector3, speed: TKinematicSpeed): void | never {\n if (isInstant(speed)) return moveInstantly(agent, targetPosition);\n if (speed < 0) throw new Error('[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.');\n if (speed === 0) return agent.setLinearSpeed(0);\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.position = targetPosition.clone();\n\n // If the agent is already at the target, do not move\n if (targetPosition.equals(abstractTransformAgent.position$.value)) return agent.setLinearSpeed(0);\n\n agent.setLinearDirection(targetPosition.clone().sub(abstractTransformAgent.position$.value).normalize());\n agent.setLinearSpeed(speed);\n return undefined;\n },\n // Rotates agent to \"look\" at the target position (e.g., mouse click position or any other actor, etc.)\n lookAt(targetPosition: TReadonlyVector3, speed: TKinematicSpeed): void | never {\n tempObject.position.copy(abstractTransformAgent.position$.value);\n tempObject.up.set(0, 1, 0);\n tempObject.lookAt(targetPosition as Vector3);\n const targetRotation: Quaternion = tempObject.quaternion.clone().normalize();\n\n return agent.rotateTo(targetRotation, speed);\n },\n // Rotates agent as provided Quaternion (useful when you want to rotate as someone else already rotated)\n rotateTo(targetRotation: TReadonlyQuaternion, speed: TKinematicSpeed, infinite: boolean = false): void | never {\n if (isInstant(speed)) return rotateInstantly(agent, targetRotation);\n\n if (speed < 0) throw new Error('[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.');\n if (speed === 0) return agent.setAngularSpeed(0);\n if (agent.data.state.radius === 0) throw new Error('[KinematicTransformAgent]: Radius must be greater than 0 to calculate angular speed.');\n const angularSpeed: TRadiansPerSecond = (speed / agent.data.state.radius) as TRadiansPerSecond;\n\n // eslint-disable-next-line functional/immutable-data\n agent.data.target.rotation = targetRotation.clone().normalize();\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.isInfiniteRotation = infinite;\n\n agent.setAngularSpeed(angularSpeed);\n return undefined;\n },\n getLinearSpeed(): TMetersPerSecond {\n return agent.data.state.linearSpeed;\n },\n setLinearSpeed(speed: TMetersPerSecond): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.linearSpeed = speed;\n },\n getLinearDirection(): Vector3 {\n return agent.data.state.linearDirection;\n },\n setLinearDirection(direction: Vector3Like): void {\n agent.data.state.linearDirection.copy(direction);\n },\n getLinearAzimuth(): TRadians {\n return getAzimuthElevationFromVector(agent.data.state.linearDirection, agent.data.state.forwardAxis).azimuth;\n },\n setLinearAzimuth(azimuthRad: TRadians): void {\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(agent.data.target?.position)) agent.data.target.position = undefined;\n\n const { forwardAxis } = agent.data.state;\n const currentDir: Vector3 = agent.data.state.linearDirection.clone();\n\n const { elevation } = getAzimuthElevationFromVector(currentDir, forwardAxis);\n const totalLength: number = currentDir.length() || 1;\n\n let newX: number, newZ: number;\n const horizontalScale: number = Math.cos(elevation) * totalLength;\n\n if (forwardAxis === ForwardAxis.Z) {\n newX = Math.sin(azimuthRad) * horizontalScale;\n newZ = Math.cos(azimuthRad) * horizontalScale;\n } else if (forwardAxis === ForwardAxis.X) {\n newX = Math.cos(azimuthRad) * horizontalScale;\n newZ = Math.sin(azimuthRad) * horizontalScale;\n } else {\n throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);\n }\n\n const newY = Math.sin(elevation) * totalLength;\n agent.data.state.linearDirection.set(newX, newY, newZ).normalize();\n\n // An alternative approach (better calculations with edge cases). Uses vector projection instead of trigonometry (If chose this approach, makes sense to make setLinearAzimuth using the same approach)\n // const current = agent.data.state.linearDirection;\n // const currentY = current.y;\n // const horizontalMag = Math.sqrt(current.x * current.x + current.z * current.z);\n // let newX: number, newZ: number;\n // if (agent.data.state.forwardAxis === 'Z') {\n // newX = Math.sin(azimuthRad) * horizontalMag;\n // newZ = Math.cos(azimuthRad) * horizontalMag;\n // } else {\n // // forwardAxis === 'X'\n // newX = Math.cos(azimuthRad) * horizontalMag;\n // newZ = Math.sin(azimuthRad) * horizontalMag;\n // }\n // agent.data.state.linearDirection.set(newX, currentY, newZ);\n // // agent.data.state.linearDirection.normalize();\n },\n getLinearElevation(): TRadians {\n return getElevationFromDirection(agent.data.state.linearDirection);\n },\n setLinearElevation(elevationRad: TRadians): void {\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(agent.data.target?.position)) agent.data.target.position = undefined;\n\n const { forwardAxis } = agent.data.state;\n const currentDir = agent.data.state.linearDirection.clone();\n\n const { azimuth } = getAzimuthElevationFromVector(currentDir, forwardAxis);\n const totalLength: number = currentDir.length() || 1;\n\n const horizontalScale: number = Math.cos(elevationRad) * totalLength;\n let newX: number, newZ: number;\n\n if (forwardAxis === ForwardAxis.Z) {\n newX = Math.sin(azimuth) * horizontalScale;\n newZ = Math.cos(azimuth) * horizontalScale;\n } else if (ForwardAxis.X) {\n newX = Math.cos(azimuth) * horizontalScale;\n newZ = Math.sin(azimuth) * horizontalScale;\n } else {\n throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);\n }\n\n const newY = Math.sin(elevationRad) * totalLength;\n\n agent.data.state.linearDirection.set(newX, newY, newZ).normalize();\n\n // An alternative approach (better calculations with edge cases). Uses vector projection instead of trigonometry (If chose this approach, makes sense to make setLinearAzimuth using the same approach)\n // const current = agent.data.state.linearDirection;\n // const horizontal = new Vector3(current.x, 0, current.z);\n // const h = horizontal.length();\n //\n // let horizontalDir: Vector3;\n // if (h > 1e-6) {\n // horizontalDir = horizontal.clone().normalize();\n // } else {\n // horizontalDir = agent.data.state.forwardAxis === 'Z' ? new Vector3(0, 0, 1) : new Vector3(1, 0, 0);\n // }\n //\n // // Approach 1 (absolute): Set the vector as in spherical coordinates with the given elevation.\n // // horizontal component will be cos(elevation), and vertical sin(elevation).\n // const newHorizontalMag = Math.cos(elevationRad);\n // const newHorizontal = horizontalDir.multiplyScalar(newHorizontalMag);\n // const newY = Math.sin(elevationRad);\n // agent.data.state.linearDirection.set(newHorizontal.x, newY, newHorizontal.z);\n //\n // // Approach 2 (additive): If you want to \"add\" vertical movement\n // // const newY = current.y + Math.tan(elevationRad) * h;\n // // agent.data.state.linearDirection.set(current.x, newY, current.z);\n // // agent.data.state.linearDirection.normalize();\n },\n resetLinear(resetSpeed: boolean, resetDirection: boolean): void {\n if (resetSpeed) agent.setLinearSpeed(0);\n if (resetDirection) agent.setLinearDirection(new Vector3());\n },\n getAngularSpeed(): TRadiansPerSecond {\n return agent.data.state.angularSpeed;\n },\n getAngularSpeedMps(): TMetersPerSecond | never {\n if (agent.data.state.radius <= 0) throw new Error('Radius must be set and be greater than 0 to calculate angular speed.');\n return metersPerSecond(agent.data.state.angularSpeed * agent.data.state.radius);\n },\n setAngularSpeed(speed: TRadiansPerSecond): void {\n // eslint-disable-next-line functional/immutable-data\n agent.data.state.angularSpeed = speed;\n },\n setAngularSpeedMps(speed: TMetersPerSecond): void | never {\n if (agent.data.state.radius <= 0) throw new Error('Radius must be set and be greater than 0 to calculate angular speed.');\n agent.setAngularSpeed((speed / agent.data.state.radius) as TRadiansPerSecond);\n },\n getAngularDirection(): Quaternion {\n return agent.data.state.angularDirection.clone();\n },\n setAngularDirection(direction: QuaternionLike): void {\n agent.data.state.angularDirection.copy(direction);\n },\n resetAngular(resetSpeed: boolean, resetDirection: boolean): void {\n if (resetSpeed) agent.setAngularSpeed(0);\n if (resetDirection) agent.setAngularDirection(new Quaternion());\n },\n serialize(): TKinematicConfig {\n return kinematicEntityToConfig(agent);\n },\n autoUpdate$\n });\n\n function doKinematicMove(delta: TMilliseconds): void {\n if (agent.data.state.linearSpeed <= 0) return;\n\n if (isPointReached(agent.data.target, abstractTransformAgent.position$.value, agent.data.state)) return;\n\n const safeDelta: TMilliseconds = delta > 0 ? delta : (1 as TMilliseconds);\n linearDirection.copy(agent.data.state.linearDirection).normalize();\n displacement.copy(linearDirection).multiplyScalar(agent.data.state.linearSpeed * safeDelta);\n\n abstractTransformAgent.position$.next(abstractTransformAgent.position$.value.clone().add(displacement));\n }\n\n function doKinematicRotation(delta: TMilliseconds): void {\n if (agent.data.state.angularSpeed <= 0) return;\n\n const safeDelta: TMilliseconds = delta > 0 ? delta : (1 as TMilliseconds);\n const rotationStep: TRadians = (agent.data.state.angularSpeed * safeDelta) as TRadians;\n\n if (!agent.data.state.isInfiniteRotation && isRotationReached(agent.data.target, agent.rotation$.value, agent.data.state)) return;\n const stepRotation: Quaternion | undefined = getStepRotation(agent, rotationStep, agent.data.state.isInfiniteRotation);\n\n if (isNotDefined(stepRotation)) return;\n\n agent.data.state.angularDirection.multiply(stepRotation).normalize();\n agent.rotation$.next(agent.data.state.angularDirection);\n }\n\n kinematicSub$ = combineLatest([agent.enabled$, agent.autoUpdate$])\n .pipe(\n //Do not update if agent is disabled or autoUpdate is turned off\n switchMap(([isEnabled, isAutoUpdate]: ReadonlyArray<boolean>): Observable<TMilliseconds> => (isEnabled && isAutoUpdate ? kinematicLoop.tick$ : EMPTY))\n )\n .subscribe((delta: TMilliseconds): void => {\n doKinematicRotation(delta);\n doKinematicMove(delta);\n });\n\n return agent;\n}\n"],"names":["KinematicTransformAgent","params","kinematicLoop","autoUpdate$","BehaviorSubject","isAutoUpdate","DefaultIsAutoUpdate","abstractTransformAgent","AbstractTransformAgent","TransformAgent","Kinematic","kinematicSub$","tempObject","Object3D","linearDirection","Vector3","displacement","destroySub$","destroy$","subscribe","unsubscribe","next","parent","remove","agent","Object","assign","data","state","linearSpeed","DefaultKinematicState","clone","angularSpeed","radius","angularDirection","forwardAxis","isInfiniteRotation","target","positionThreshold","DefaultKinematicTarget","position","rotationThreshold","rotation","setData","copy","isNotDefined","isDefined","getData","getRadius","setRadius","getForwardAxis","setForwardAxis","axis","moveTo","targetPosition","speed","isInstant","moveInstantly","Error","setLinearSpeed","equals","position$","value","setLinearDirection","sub","normalize","lookAt","up","set","targetRotation","quaternion","rotateTo","infinite","rotateInstantly","setAngularSpeed","getLinearSpeed","getLinearDirection","direction","getLinearAzimuth","getAzimuthElevationFromVector","azimuth","setLinearAzimuth","azimuthRad","currentDir","elevation","totalLength","length","newX","newZ","horizontalScale","Math","cos","ForwardAxis","Z","sin","X","newY","getLinearElevation","getElevationFromDirection","setLinearElevation","elevationRad","resetLinear","resetSpeed","resetDirection","getAngularSpeed","getAngularSpeedMps","metersPerSecond","setAngularSpeedMps","getAngularDirection","setAngularDirection","resetAngular","Quaternion","serialize","kinematicEntityToConfig","combineLatest","enabled$","pipe","switchMap","isEnabled","tick$","EMPTY","delta","rotationStep","isRotationReached","rotation$","stepRotation","getStepRotation","multiply","doKinematicRotation","isPointReached","safeDelta","multiplyScalar","add","doKinematicMove"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TPhysicsAgentDependencies, TPhysicsTransformAgent, TPhysicsTransformAgentParams } from '
|
|
1
|
+
import { TPhysicsAgentDependencies, TPhysicsTransformAgent, TPhysicsTransformAgentParams } from '../../Models';
|
|
2
2
|
export declare function PhysicsTransformAgent(params: TPhysicsTransformAgentParams, { physicsLoop }: TPhysicsAgentDependencies): TPhysicsTransformAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhysicsTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/PhysicsTransformAgent.ts"],"sourcesContent":["import type { TMeters, TMilliseconds, TRadians } from '@
|
|
1
|
+
{"version":3,"file":"PhysicsTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/PhysicsTransformAgent.ts"],"sourcesContent":["import type { TMeters, TMilliseconds, TRadians } from '@Anarchy/Engine/Math';\nimport { meters, radians } from '@Anarchy/Engine/Measurements';\nimport type { TPhysicsBody, TPhysicsBodyConfig } from '@Anarchy/Engine/Physics';\nimport { RigidBodyTypesNames } from '@Anarchy/Engine/Physics';\nimport { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type {\n TAbstractTransformAgent,\n TPhysicsAgentDependencies,\n TPhysicsTransformAgent,\n TPhysicsTransformAgentParams,\n TReadonlyTransform,\n TRigidBodyTransformData\n} from '@Anarchy/Engine/TransformDrive/Models';\nimport { applyLatestTransform, getPhysicsBodyTransform } from '@Anarchy/Engine/TransformDrive/Utils';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, distinctUntilChanged, EMPTY, filter, map, switchMap, takeWhile, withLatestFrom } from 'rxjs';\nimport { Quaternion, Vector3 } from 'three';\n\nimport { AbstractTransformAgent } from './AbstractTransformAgent';\n\n// Physics bodies doesn't play well with manual set of position/rotation (e.g. position$.next(), rotation$.next() from any external sources).\n// In principle, it's better to avoid manual setting of position/rotation for physics objects.\n// But if you have to, first change active agent to \"Default\", then set position/rotation, and then switch back to \"Physics\" agent.\nexport function PhysicsTransformAgent(params: TPhysicsTransformAgentParams, { physicsLoop }: TPhysicsAgentDependencies): TPhysicsTransformAgent {\n const positionNoiseThreshold: TMeters = params.performance?.positionNoiseThreshold ?? meters(0.0000001);\n const rotationNoiseThreshold: TRadians = params.performance?.rotationNoiseThreshold ?? radians(0.0000001);\n const abstractTransformAgent: TAbstractTransformAgent = AbstractTransformAgent(params, TransformAgent.Physics);\n\n const onDeactivated$Sub: Subscription = abstractTransformAgent.onDeactivated$.pipe(takeWhile((): boolean => isNotDefined(params.onDeactivated))).subscribe((): void => {\n if (isNotDefined(params.onDeactivated)) {\n console.warn(\n 'PhysicsTransformAgent: onDeactivated is not defined. The physics body remains at the position it was the moment of deactivation. Please handle this (remove, move to a safe place), cause if left it as is could produce unexpected behavior.'\n );\n }\n });\n\n //apply the latest position/rotation to the physics body on activation\n const onActivated$Sub: Subscription = abstractTransformAgent.onActivated$.subscribe(({ position, rotation }: TReadonlyTransform): void => {\n if (isNotDefined(physicsBody$.value)) physicsBody$.next(params.physicsBody);\n applyLatestTransform(physicsBody$.value?.getRigidBody(), position, rotation);\n });\n\n let physicsSub$: Subscription | undefined = undefined;\n\n const physicsBody$: BehaviorSubject<TPhysicsBody | undefined> = new BehaviorSubject<TPhysicsBody | undefined>(undefined);\n\n // eslint-disable-next-line functional/immutable-data\n const agent: TPhysicsTransformAgent = Object.assign(abstractTransformAgent, {\n physicsBody$,\n serialize: (): TPhysicsBodyConfig => {\n const body: TPhysicsBody | undefined = physicsBody$.value;\n if (isNotDefined(body)) throw new Error(`[Serialization] [PhysicsTransformAgent]: physics body with name \"${params.physicsBody.name}\" is not defined for physics agent(id: \"${agent.id}\")`);\n\n return body.serialize();\n }\n });\n\n let previousPhysicsBodyType: RigidBodyTypesNames = physicsBody$.value?.getPhysicsBodyType() ?? RigidBodyTypesNames.Fixed;\n\n const prevBodyTypeSub: Subscription = physicsBody$.subscribe((physicsBody: TPhysicsBody | undefined): void => {\n if (isNotDefined(physicsBody)) return;\n previousPhysicsBodyType = physicsBody.getPhysicsBodyType();\n });\n\n const enabledSub$: Subscription = agent.enabled$\n .pipe(\n withLatestFrom(physicsBody$),\n distinctUntilChanged(\n ([prevEnabled, prevPhysicsBody]: [boolean, TPhysicsBody | undefined], [enabled, physicsBody]: [boolean, TPhysicsBody | undefined]): boolean =>\n prevEnabled === enabled && prevPhysicsBody === physicsBody\n )\n )\n .subscribe(([isEnabled, physicsBody]: [boolean, TPhysicsBody | undefined]): void | never => {\n if (isNotDefined(physicsBody?.getRigidBody())) return;\n if (!isEnabled) physicsBody.setPhysicsBodyType(RigidBodyTypesNames.KinematicPositionBased, false);\n else physicsBody?.setPhysicsBodyType(previousPhysicsBodyType, false);\n });\n\n const destroySub$: Subscription = abstractTransformAgent.destroy$.subscribe((): void => {\n //Stop subscriptions\n destroySub$.unsubscribe();\n physicsSub$?.unsubscribe();\n enabledSub$.unsubscribe();\n prevBodyTypeSub.unsubscribe();\n onDeactivated$Sub?.unsubscribe();\n onActivated$Sub?.unsubscribe();\n\n abstractTransformAgent.destroy$.next();\n physicsBody$.complete();\n });\n\n const tmpPosition = new Float32Array(3);\n const prevPosition = new Float32Array(3);\n const tmpRotation = new Float32Array(4);\n const prevRotation = new Float32Array(4);\n\n physicsSub$ = agent.enabled$\n .pipe(\n distinctUntilChanged(),\n switchMap((isEnabled: boolean): Observable<TMilliseconds | never> => (isEnabled ? physicsLoop.tick$ : EMPTY)),\n filter((): boolean => {\n const body: TPhysicsBody | undefined = physicsBody$.value;\n return isDefined(body) && body.getPhysicsBodyType() !== RigidBodyTypesNames.Fixed;\n }),\n //Get the latest transform data from the physics body every physics tick\n map((): TRigidBodyTransformData | undefined =>\n getPhysicsBodyTransform(physicsBody$.value?.getRigidBody(), prevPosition, prevRotation, tmpPosition, tmpRotation, positionNoiseThreshold, rotationNoiseThreshold)\n ),\n filter(isDefined)\n )\n .subscribe(({ position, rotation }): void => {\n if (position) agent.position$.next(new Vector3(position[0], position[1], position[2]));\n if (rotation) agent.rotation$.next(new Quaternion(rotation[0], rotation[1], rotation[2], rotation[3]));\n });\n\n return agent;\n}\n"],"names":["PhysicsTransformAgent","params","physicsLoop","positionNoiseThreshold","performance","meters","rotationNoiseThreshold","radians","abstractTransformAgent","AbstractTransformAgent","TransformAgent","Physics","onDeactivated$Sub","onDeactivated$","pipe","takeWhile","isNotDefined","onDeactivated","subscribe","console","warn","onActivated$Sub","onActivated$","position","rotation","physicsBody$","value","next","physicsBody","applyLatestTransform","getRigidBody","physicsSub$","BehaviorSubject","agent","Object","assign","serialize","body","Error","name","id","previousPhysicsBodyType","getPhysicsBodyType","RigidBodyTypesNames","Fixed","prevBodyTypeSub","enabledSub$","enabled$","withLatestFrom","distinctUntilChanged","prevEnabled","prevPhysicsBody","enabled","isEnabled","setPhysicsBodyType","KinematicPositionBased","destroySub$","destroy$","unsubscribe","complete","tmpPosition","Float32Array","prevPosition","tmpRotation","prevRotation","switchMap","tick$","EMPTY","filter","isDefined","map","getPhysicsBodyTransform","position$","Vector3","rotation$","Quaternion"],"mappings":"6uCAwBO,SAASA,sBAAsBC,QAAsCC,YAAEA,cAC5E,MAAMC,uBAAkCF,OAAOG,aAAaD,wBAA0BE,OAAO,MACvFC,uBAAmCL,OAAOG,aAAaE,wBAA0BC,QAAQ,MACzFC,uBAAkDC,uBAAuBR,OAAQS,eAAeC,SAEhGC,kBAAkCJ,uBAAuBK,eAAeC,KAAKC,UAAU,IAAeC,aAAaf,OAAOgB,iBAAiBC,UAAU,KACrJF,aAAaf,OAAOgB,gBACtBE,QAAQC,KACN,mPAMAC,gBAAgCb,uBAAuBc,aAAaJ,UAAU,EAAGK,kBAAUC,sBAC3FR,aAAaS,aAAaC,QAAQD,aAAaE,KAAK1B,OAAO2B,aAC/DC,qBAAqBJ,aAAaC,OAAOI,eAAgBP,SAAUC,YAGrE,IAAIO,YAEJ,MAAMN,aAA0D,IAAIO,wBAG9DC,MAAgCC,OAAOC,OAAO3B,uBAAwB,CAC1EiB,0BACAW,UAAW,KACT,MAAMC,KAAiCZ,aAAaC,MACpD,GAAIV,aAAaqB,MAAO,MAAM,IAAIC,MAAM,oEAAoErC,OAAO2B,YAAYW,+CAA+CN,MAAMO,QAEpL,OAAOH,KAAKD,eAIhB,IAAIK,wBAA+ChB,aAAaC,OAAOgB,sBAAwBC,oBAAoBC,MAEnH,MAAMC,gBAAgCpB,aAAaP,UAAWU,cACxDZ,aAAaY,eACjBa,wBAA0Bb,YAAYc,wBAGlCI,YAA4Bb,MAAMc,SACrCjC,KACCkC,eAAevB,cACfwB,qBACE,EAAEC,YAAaC,kBAAwDC,QAASxB,eAC9EsB,cAAgBE,SAAWD,kBAAoBvB,cAGpDV,UAAU,EAAEmC,UAAWzB,gBAClBZ,aAAaY,aAAaE,iBAEzBF,aAAa0B,mBADbD,UACgCZ,wBADUE,oBAAoBY,wBACL,KAG5DC,YAA4BhD,uBAAuBiD,SAASvC,UAAU,KAE1EsC,YAAYE,cACZ3B,aAAa2B,cACbZ,YAAYY,cACZb,gBAAgBa,cAChB9C,mBAAmB8C,cACnBrC,iBAAiBqC,cAEjBlD,uBAAuBiD,SAAS9B,OAChCF,aAAakC,aAGTC,YAAc,IAAIC,aAAa,GAC/BC,aAAe,IAAID,aAAa,GAChCE,YAAc,IAAIF,aAAa,GAC/BG,aAAe,IAAIH,aAAa,GAqBtC,OAnBA9B,YAAcE,MAAMc,SACjBjC,KACCmC,uBACAgB,UAAWZ,WAA2DA,UAAYnD,YAAYgE,MAAQC,OACtGC,OAAO,KACL,MAAM/B,KAAiCZ,aAAaC,MACpD,OAAO2C,UAAUhC,OAASA,KAAKK,uBAAyBC,oBAAoBC,QAG9E0B,IAAI,IACFC,wBAAwB9C,aAAaC,OAAOI,eAAgBgC,aAAcE,aAAcJ,YAAaG,YAAa5D,uBAAwBG,yBAE5I8D,OAAOC,YAERnD,UAAU,EAAGK,kBAAUC,sBAClBD,UAAUU,MAAMuC,UAAU7C,KAAK,IAAI8C,QAAQlD,SAAS,GAAIA,SAAS,GAAIA,SAAS,KAC9EC,UAAUS,MAAMyC,UAAU/C,KAAK,IAAIgD,WAAWnD,SAAS,GAAIA,SAAS,GAAIA,SAAS,GAAIA,SAAS,OAG/FS,KACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TransformAgent } from '
|
|
2
|
-
import { TAbstractTransformAgent, TDriveToTargetConnector, TOffsets, TTransformDrive, TWithTransforms } from '
|
|
1
|
+
import { TransformAgent } from '../../Constants';
|
|
2
|
+
import { TAbstractTransformAgent, TDriveToTargetConnector, TOffsets, TTransformDrive, TWithTransforms } from '../../Models';
|
|
3
3
|
export declare function DriveToTargetConnector<T extends Partial<Record<TransformAgent, TAbstractTransformAgent>>>(drive: TTransformDrive<T>, target: TWithTransforms, offsets?: TOffsets): TDriveToTargetConnector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DriveToTargetConnector.js","sources":["../../../../src/TransformDrive/Entities/Connectors/DriveToTargetConnector.ts"],"sourcesContent":["import type { TReadonlyEuler, TReadonlyQuaternion, TReadonlyVector3 } from '@
|
|
1
|
+
{"version":3,"file":"DriveToTargetConnector.js","sources":["../../../../src/TransformDrive/Entities/Connectors/DriveToTargetConnector.ts"],"sourcesContent":["import type { TReadonlyEuler, TReadonlyQuaternion, TReadonlyVector3 } from '@Anarchy/Engine/ThreeLib';\nimport type { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type { TAbstractTransformAgent, TDriveToTargetConnector, TOffsets, TTransformDrive, TWithTransforms } from '@Anarchy/Engine/TransformDrive/Models';\nimport { isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Subscription } from 'rxjs';\nimport { Euler } from 'three';\n\nexport function DriveToTargetConnector<T extends Partial<Record<TransformAgent, TAbstractTransformAgent>>>(\n drive: TTransformDrive<T>,\n target: TWithTransforms,\n offsets?: TOffsets\n): TDriveToTargetConnector {\n const { positionOffset, rotationOffset, scaleOffset } = offsets ?? {};\n\n const positionSub$: Subscription = drive.position$.subscribe((position: TReadonlyVector3): TReadonlyVector3 => {\n if (isNotDefined(positionOffset)) return target.position.copy(position);\n return target.position.copy(position).add(positionOffset);\n });\n\n const rotationSub$: Subscription = drive.rotation$.subscribe((rotation: TReadonlyQuaternion): TReadonlyEuler | void => {\n const rotationEuler: Euler = new Euler().setFromQuaternion(rotation.clone());\n if (isNotDefined(rotationOffset)) return target.rotation.copy(rotationEuler);\n return target.rotation.copy(new Euler().setFromQuaternion(rotation.clone().multiply(rotationOffset.clone())));\n });\n\n const scaleSub$: Subscription = drive.scale$.subscribe((scale: TReadonlyVector3): TReadonlyVector3 => {\n if (isNotDefined(scaleOffset)) return target.scale.copy(scale);\n return target.scale.copy(scale).add(scaleOffset);\n });\n\n const destroySub$: Subscription = drive.destroy$.subscribe((): void => {\n //Finish subscriptions\n destroySub$.unsubscribe();\n positionSub$.unsubscribe();\n rotationSub$.unsubscribe();\n scaleSub$.unsubscribe();\n });\n\n return {\n destroy$: drive.destroy$\n };\n}\n"],"names":["DriveToTargetConnector","drive","target","offsets","positionOffset","rotationOffset","scaleOffset","positionSub$","position$","subscribe","position","isNotDefined","copy","add","rotationSub$","rotation$","rotation","rotationEuler","Euler","setFromQuaternion","clone","multiply","scaleSub$","scale$","scale","destroySub$","destroy$","unsubscribe"],"mappings":"4GAOO,SAASA,uBACdC,MACAC,OACAC,SAEA,MAAMC,eAAEA,eAAAC,eAAgBA,eAAAC,YAAgBA,aAAgBH,SAAW,CAAA,EAE7DI,aAA6BN,MAAMO,UAAUC,UAAWC,UACxDC,aAAaP,gBAAwBF,OAAOQ,SAASE,KAAKF,UACvDR,OAAOQ,SAASE,KAAKF,UAAUG,IAAIT,iBAGtCU,aAA6Bb,MAAMc,UAAUN,UAAWO,WAC5D,MAAMC,eAAuB,IAAIC,OAAQC,kBAAkBH,SAASI,SACpE,OAAIT,aAAaN,gBAAwBH,OAAOc,SAASJ,KAAKK,eACvDf,OAAOc,SAASJ,MAAK,IAAIM,OAAQC,kBAAkBH,SAASI,QAAQC,SAAShB,eAAee,aAG/FE,UAA0BrB,MAAMsB,OAAOd,UAAWe,OAClDb,aAAaL,aAAqBJ,OAAOsB,MAAMZ,KAAKY,OACjDtB,OAAOsB,MAAMZ,KAAKY,OAAOX,IAAIP,cAGhCmB,YAA4BxB,MAAMyB,SAASjB,UAAU,KAEzDgB,YAAYE,cACZpB,aAAaoB,cACbb,aAAaa,cACbL,UAAUK,gBAGZ,MAAO,CACLD,SAAUzB,MAAMyB,SAEpB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TransformAgent } from '
|
|
2
|
-
import { TAbstractTransformAgent, TTransformDrive, TTransformDriveParams } from '
|
|
1
|
+
import { TransformAgent } from '../../Constants';
|
|
2
|
+
import { TAbstractTransformAgent, TTransformDrive, TTransformDriveParams } from '../../Models';
|
|
3
3
|
export declare function TransformDrive<T extends Partial<Record<TransformAgent, TAbstractTransformAgent>>>(params: TTransformDriveParams, agents: T): TTransformDrive<T> | never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformDrive.js","sources":["../../../../src/TransformDrive/Entities/Drive/TransformDrive.ts"],"sourcesContent":["import { meters, radians } from '@hellpig/anarchy-engine/Measurements';\nimport type { TDestroyable } from '@hellpig/anarchy-engine/Mixins';\nimport { destroyableMixin } from '@hellpig/anarchy-engine/Mixins';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@hellpig/anarchy-engine/ThreeLib';\nimport { transformDriveToConfig } from '@hellpig/anarchy-engine/TransformDrive/Adapters';\nimport { TransformAgent } from '@hellpig/anarchy-engine/TransformDrive/Constants';\nimport type {\n TAbstractTransformAgent,\n TTransformDrive,\n TTransformDriveMandatoryFields,\n TTransformDriveParams,\n TTransformDrivePerformanceOptions,\n TTransformDriveSerializedData\n} from '@hellpig/anarchy-engine/TransformDrive/Models';\nimport { getDynamicAgents, updateFromActiveAgent } from '@hellpig/anarchy-engine/TransformDrive/Utils';\nimport { isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport { nanoid } from 'nanoid';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, distinctUntilChanged, filter, map, merge, ReplaySubject } from 'rxjs';\n\n// TransformDrive is an entity to move/rotate/scale other entities\n// TransformDrive could use different \"agents\" (modes) which can be switched in runtime:\n// - Connected agent is expose mutable position/rotation/scale objects and follow the changes of them. Useful to work with 3rd party libs (e.g. animejs). But recommended to avoid.\n// - Kinematic agent is a mode that moves actor by angular velocity and linear velocity (vectors). Useful when you need to know the direction (e.g. bullet, car) of the object. Recommended way for NPCs.\n// - Default agent is providing almost nothing, but setters. Recommended for static objects.\n// - Also: with every mode you can do position$.next() to \"teleport\" the object to the new position\nexport function TransformDrive<T extends Partial<Record<TransformAgent, TAbstractTransformAgent>>>(params: TTransformDriveParams, agents: T): TTransformDrive<T> | never {\n const id: string = 'transform_drive_' + nanoid();\n\n //All agent instances must be used only with this drive\n const relatedDriveIdSub$: Subscription = merge(\n ...Object.values(agents).map((agent: TAbstractTransformAgent): Observable<Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }>> => {\n agent.relatedDriveId$.next(id);\n return agent.relatedDriveId$.pipe(map((value: string | undefined): Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }> => ({ value, agent })));\n })\n ).subscribe(({ value, agent }: Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }>): void => {\n if (value !== id) throw new Error(`TransformDrive: Agent \"${agent.type}\" (${agent.id}) initialized in TransformDrive (${id}), but attempted to use in another TransformDrive (${value})`);\n });\n\n const agent$: BehaviorSubject<TransformAgent> = new BehaviorSubject<TransformAgent>(params.activeAgent ?? TransformAgent.Default);\n\n let activeAgent: TAbstractTransformAgent | undefined = agents[agent$.value];\n if (isNotDefined(activeAgent)) {\n throw new Error(`TransformDrive: Can't set an active agent. Agent \"${agent$.value}\" is not defined`);\n }\n const activeAgent$: BehaviorSubject<TAbstractTransformAgent> = new BehaviorSubject(activeAgent);\n\n if (isNotDefined(activeAgent$.value)) throw new Error(`TransformDrive: Active agent (\"${activeAgent$.value}\") is not defined`);\n\n const agentSub$: Subscription = agent$.subscribe((agent: TransformAgent): void => {\n const newAgent: TAbstractTransformAgent | undefined = agents[agent];\n if (isNotDefined(newAgent)) throw new Error(`TransformDrive: Can't change an active agent for \"${agent}\": not defined`);\n activeAgent$.next(newAgent);\n });\n\n const position$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(activeAgent$.value.position$.value);\n const rotation$: BehaviorSubject<TReadonlyQuaternion> = new BehaviorSubject<TReadonlyQuaternion>(activeAgent$.value.rotation$.value);\n const scale$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(activeAgent$.value.scale$.value);\n\n let prevAgent: TAbstractTransformAgent | undefined;\n const activeAgentSub$: Subscription = activeAgent$\n .pipe(distinctUntilChanged((prev: TAbstractTransformAgent, curr: TAbstractTransformAgent): boolean => prev.type === curr.type))\n .subscribe((newAgent: TAbstractTransformAgent): void => {\n const position: TReadonlyVector3 = position$.value;\n const rotation: TReadonlyQuaternion = rotation$.value;\n const scale: TReadonlyVector3 = scale$.value;\n\n prevAgent?.onDeactivated$.next({ position, rotation, scale });\n Object.values(agents).forEach((agent: TAbstractTransformAgent): void => {\n const isActiveAgent: boolean = agent.type === newAgent.type;\n agent.enabled$.next(isActiveAgent);\n\n //when we change the active agent, we need to update the values of the agent\n agent.position$.next(position);\n agent.rotation$.next(rotation);\n agent.scale$.next(scale);\n });\n newAgent.onActivated$.next({ position, rotation, scale });\n prevAgent = newAgent;\n });\n\n //We don't expose these BehaviorSubjects, because they're vulnerable to external changes without .next() (e.g. \"position.value = ...\")\n const activeAgentRep$: ReplaySubject<TAbstractTransformAgent> = new ReplaySubject(1);\n\n activeAgent$.subscribe((agent: TAbstractTransformAgent): void => activeAgentRep$.next(agent));\n\n // Update values of the active agent when drive.position$.next() is called from an external code\n position$.pipe(filter((value: TReadonlyVector3): boolean => value !== activeAgent$.value.position$.value)).subscribe((value: TReadonlyVector3): void => activeAgent$.value.position$.next(value));\n rotation$\n .pipe(filter((value: TReadonlyQuaternion): boolean => value !== activeAgent$.value.rotation$.value))\n .subscribe((value: TReadonlyQuaternion): void => activeAgent$.value.rotation$.next(value));\n scale$.pipe(filter((value: TReadonlyVector3): boolean => value !== activeAgent$.value.scale$.value)).subscribe((value: TReadonlyVector3): void => activeAgent$.value.scale$.next(value));\n\n const destroyable: TDestroyable = destroyableMixin();\n\n const performance: Required<TTransformDrivePerformanceOptions> = {\n positionNoiseThreshold: params.performance?.positionNoiseThreshold ?? meters(0.0000001),\n rotationNoiseThreshold: params.performance?.rotationNoiseThreshold ?? radians(0.0000001),\n scaleNoiseThreshold: params.performance?.scaleNoiseThreshold ?? 0.0000001\n };\n\n const positionSub$: Subscription = updateFromActiveAgent<TReadonlyVector3>(activeAgent$, 'position$', { threshold: performance.positionNoiseThreshold }).subscribe((v: TReadonlyVector3): void =>\n position$.next(v)\n );\n const rotationSub$: Subscription = updateFromActiveAgent<TReadonlyQuaternion>(activeAgent$, 'rotation$', { threshold: performance.rotationNoiseThreshold }).subscribe(\n (r: TReadonlyQuaternion): void => rotation$.next(r)\n );\n const scaleSub$: Subscription = updateFromActiveAgent<TReadonlyVector3>(activeAgent$, 'scale$', { threshold: performance.scaleNoiseThreshold }).subscribe((s: TReadonlyVector3): void =>\n scale$.next(s)\n );\n\n const result: TTransformDriveMandatoryFields = {\n ...destroyable,\n id,\n agent$,\n activeAgent$: activeAgentRep$,\n getActiveAgent: (): TAbstractTransformAgent => activeAgent$.value,\n position$,\n rotation$,\n scale$,\n relatedEntityId: params.relatedEntityId,\n serialize: (): TTransformDriveSerializedData => transformDriveToConfig(result),\n ...getDynamicAgents(agents)\n };\n\n const destroySub$: Subscription = destroyable.destroy$.subscribe((): void => {\n // Stop subscriptions\n positionSub$.unsubscribe();\n rotationSub$.unsubscribe();\n scaleSub$.unsubscribe();\n agentSub$.unsubscribe();\n activeAgentSub$.unsubscribe();\n relatedDriveIdSub$.unsubscribe();\n\n //Stop subjects\n agent$.complete();\n activeAgent$.complete();\n activeAgentRep$.complete();\n position$.complete();\n rotation$.complete();\n scale$.complete();\n\n activeAgent = null as any;\n prevAgent = null as any;\n Object.values(agents).forEach((agent: TAbstractTransformAgent): void => agent.destroy$.next());\n destroySub$.unsubscribe();\n });\n\n return result as TTransformDrive<T>;\n}\n"],"names":["TransformDrive","params","agents","id","nanoid","relatedDriveIdSub$","merge","Object","values","map","agent","relatedDriveId$","next","pipe","value","subscribe","Error","type","agent$","BehaviorSubject","activeAgent","TransformAgent","Default","isNotDefined","activeAgent$","agentSub$","newAgent","position$","rotation$","scale$","prevAgent","activeAgentSub$","distinctUntilChanged","prev","curr","position","rotation","scale","onDeactivated$","forEach","enabled$","onActivated$","activeAgentRep$","ReplaySubject","filter","destroyable","destroyableMixin","performance","positionNoiseThreshold","meters","rotationNoiseThreshold","radians","scaleNoiseThreshold","positionSub$","updateFromActiveAgent","threshold","v","rotationSub$","r","scaleSub$","s","result","getActiveAgent","relatedEntityId","serialize","transformDriveToConfig","getDynamicAgents","destroySub$","destroy$","unsubscribe","complete"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TransformDrive.js","sources":["../../../../src/TransformDrive/Entities/Drive/TransformDrive.ts"],"sourcesContent":["import { meters, radians } from '@Anarchy/Engine/Measurements';\nimport type { TDestroyable } from '@Anarchy/Engine/Mixins';\nimport { destroyableMixin } from '@Anarchy/Engine/Mixins';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@Anarchy/Engine/ThreeLib';\nimport { transformDriveToConfig } from '@Anarchy/Engine/TransformDrive/Adapters';\nimport { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type {\n TAbstractTransformAgent,\n TTransformDrive,\n TTransformDriveMandatoryFields,\n TTransformDriveParams,\n TTransformDrivePerformanceOptions,\n TTransformDriveSerializedData\n} from '@Anarchy/Engine/TransformDrive/Models';\nimport { getDynamicAgents, updateFromActiveAgent } from '@Anarchy/Engine/TransformDrive/Utils';\nimport { isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport { nanoid } from 'nanoid';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, distinctUntilChanged, filter, map, merge, ReplaySubject } from 'rxjs';\n\n// TransformDrive is an entity to move/rotate/scale other entities\n// TransformDrive could use different \"agents\" (modes) which can be switched in runtime:\n// - Connected agent is expose mutable position/rotation/scale objects and follow the changes of them. Useful to work with 3rd party libs (e.g. animejs). But recommended to avoid.\n// - Kinematic agent is a mode that moves actor by angular velocity and linear velocity (vectors). Useful when you need to know the direction (e.g. bullet, car) of the object. Recommended way for NPCs.\n// - Default agent is providing almost nothing, but setters. Recommended for static objects.\n// - Also: with every mode you can do position$.next() to \"teleport\" the object to the new position\nexport function TransformDrive<T extends Partial<Record<TransformAgent, TAbstractTransformAgent>>>(params: TTransformDriveParams, agents: T): TTransformDrive<T> | never {\n const id: string = 'transform_drive_' + nanoid();\n\n //All agent instances must be used only with this drive\n const relatedDriveIdSub$: Subscription = merge(\n ...Object.values(agents).map((agent: TAbstractTransformAgent): Observable<Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }>> => {\n agent.relatedDriveId$.next(id);\n return agent.relatedDriveId$.pipe(map((value: string | undefined): Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }> => ({ value, agent })));\n })\n ).subscribe(({ value, agent }: Readonly<{ value: string | undefined; agent: TAbstractTransformAgent }>): void => {\n if (value !== id) throw new Error(`TransformDrive: Agent \"${agent.type}\" (${agent.id}) initialized in TransformDrive (${id}), but attempted to use in another TransformDrive (${value})`);\n });\n\n const agent$: BehaviorSubject<TransformAgent> = new BehaviorSubject<TransformAgent>(params.activeAgent ?? TransformAgent.Default);\n\n let activeAgent: TAbstractTransformAgent | undefined = agents[agent$.value];\n if (isNotDefined(activeAgent)) {\n throw new Error(`TransformDrive: Can't set an active agent. Agent \"${agent$.value}\" is not defined`);\n }\n const activeAgent$: BehaviorSubject<TAbstractTransformAgent> = new BehaviorSubject(activeAgent);\n\n if (isNotDefined(activeAgent$.value)) throw new Error(`TransformDrive: Active agent (\"${activeAgent$.value}\") is not defined`);\n\n const agentSub$: Subscription = agent$.subscribe((agent: TransformAgent): void => {\n const newAgent: TAbstractTransformAgent | undefined = agents[agent];\n if (isNotDefined(newAgent)) throw new Error(`TransformDrive: Can't change an active agent for \"${agent}\": not defined`);\n activeAgent$.next(newAgent);\n });\n\n const position$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(activeAgent$.value.position$.value);\n const rotation$: BehaviorSubject<TReadonlyQuaternion> = new BehaviorSubject<TReadonlyQuaternion>(activeAgent$.value.rotation$.value);\n const scale$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(activeAgent$.value.scale$.value);\n\n let prevAgent: TAbstractTransformAgent | undefined;\n const activeAgentSub$: Subscription = activeAgent$\n .pipe(distinctUntilChanged((prev: TAbstractTransformAgent, curr: TAbstractTransformAgent): boolean => prev.type === curr.type))\n .subscribe((newAgent: TAbstractTransformAgent): void => {\n const position: TReadonlyVector3 = position$.value;\n const rotation: TReadonlyQuaternion = rotation$.value;\n const scale: TReadonlyVector3 = scale$.value;\n\n prevAgent?.onDeactivated$.next({ position, rotation, scale });\n Object.values(agents).forEach((agent: TAbstractTransformAgent): void => {\n const isActiveAgent: boolean = agent.type === newAgent.type;\n agent.enabled$.next(isActiveAgent);\n\n //when we change the active agent, we need to update the values of the agent\n agent.position$.next(position);\n agent.rotation$.next(rotation);\n agent.scale$.next(scale);\n });\n newAgent.onActivated$.next({ position, rotation, scale });\n prevAgent = newAgent;\n });\n\n //We don't expose these BehaviorSubjects, because they're vulnerable to external changes without .next() (e.g. \"position.value = ...\")\n const activeAgentRep$: ReplaySubject<TAbstractTransformAgent> = new ReplaySubject(1);\n\n activeAgent$.subscribe((agent: TAbstractTransformAgent): void => activeAgentRep$.next(agent));\n\n // Update values of the active agent when drive.position$.next() is called from an external code\n position$.pipe(filter((value: TReadonlyVector3): boolean => value !== activeAgent$.value.position$.value)).subscribe((value: TReadonlyVector3): void => activeAgent$.value.position$.next(value));\n rotation$\n .pipe(filter((value: TReadonlyQuaternion): boolean => value !== activeAgent$.value.rotation$.value))\n .subscribe((value: TReadonlyQuaternion): void => activeAgent$.value.rotation$.next(value));\n scale$.pipe(filter((value: TReadonlyVector3): boolean => value !== activeAgent$.value.scale$.value)).subscribe((value: TReadonlyVector3): void => activeAgent$.value.scale$.next(value));\n\n const destroyable: TDestroyable = destroyableMixin();\n\n const performance: Required<TTransformDrivePerformanceOptions> = {\n positionNoiseThreshold: params.performance?.positionNoiseThreshold ?? meters(0.0000001),\n rotationNoiseThreshold: params.performance?.rotationNoiseThreshold ?? radians(0.0000001),\n scaleNoiseThreshold: params.performance?.scaleNoiseThreshold ?? 0.0000001\n };\n\n const positionSub$: Subscription = updateFromActiveAgent<TReadonlyVector3>(activeAgent$, 'position$', { threshold: performance.positionNoiseThreshold }).subscribe((v: TReadonlyVector3): void =>\n position$.next(v)\n );\n const rotationSub$: Subscription = updateFromActiveAgent<TReadonlyQuaternion>(activeAgent$, 'rotation$', { threshold: performance.rotationNoiseThreshold }).subscribe(\n (r: TReadonlyQuaternion): void => rotation$.next(r)\n );\n const scaleSub$: Subscription = updateFromActiveAgent<TReadonlyVector3>(activeAgent$, 'scale$', { threshold: performance.scaleNoiseThreshold }).subscribe((s: TReadonlyVector3): void =>\n scale$.next(s)\n );\n\n const result: TTransformDriveMandatoryFields = {\n ...destroyable,\n id,\n agent$,\n activeAgent$: activeAgentRep$,\n getActiveAgent: (): TAbstractTransformAgent => activeAgent$.value,\n position$,\n rotation$,\n scale$,\n relatedEntityId: params.relatedEntityId,\n serialize: (): TTransformDriveSerializedData => transformDriveToConfig(result),\n ...getDynamicAgents(agents)\n };\n\n const destroySub$: Subscription = destroyable.destroy$.subscribe((): void => {\n // Stop subscriptions\n positionSub$.unsubscribe();\n rotationSub$.unsubscribe();\n scaleSub$.unsubscribe();\n agentSub$.unsubscribe();\n activeAgentSub$.unsubscribe();\n relatedDriveIdSub$.unsubscribe();\n\n //Stop subjects\n agent$.complete();\n activeAgent$.complete();\n activeAgentRep$.complete();\n position$.complete();\n rotation$.complete();\n scale$.complete();\n\n activeAgent = null as any;\n prevAgent = null as any;\n Object.values(agents).forEach((agent: TAbstractTransformAgent): void => agent.destroy$.next());\n destroySub$.unsubscribe();\n });\n\n return result as TTransformDrive<T>;\n}\n"],"names":["TransformDrive","params","agents","id","nanoid","relatedDriveIdSub$","merge","Object","values","map","agent","relatedDriveId$","next","pipe","value","subscribe","Error","type","agent$","BehaviorSubject","activeAgent","TransformAgent","Default","isNotDefined","activeAgent$","agentSub$","newAgent","position$","rotation$","scale$","prevAgent","activeAgentSub$","distinctUntilChanged","prev","curr","position","rotation","scale","onDeactivated$","forEach","enabled$","onActivated$","activeAgentRep$","ReplaySubject","filter","destroyable","destroyableMixin","performance","positionNoiseThreshold","meters","rotationNoiseThreshold","radians","scaleNoiseThreshold","positionSub$","updateFromActiveAgent","threshold","v","rotationSub$","r","scaleSub$","s","result","getActiveAgent","relatedEntityId","serialize","transformDriveToConfig","getDynamicAgents","destroySub$","destroy$","unsubscribe","complete"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TTransformDriveFactory } from '
|
|
1
|
+
import { TTransformDriveFactory } from '../Models';
|
|
2
2
|
export declare function TransformDriveFactory(): TTransformDriveFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformDriveFactory.js","sources":["../../../src/TransformDrive/Factories/TransformDriveFactory.ts"],"sourcesContent":["import { FactoryType, ReactiveFactory } from '@
|
|
1
|
+
{"version":3,"file":"TransformDriveFactory.js","sources":["../../../src/TransformDrive/Factories/TransformDriveFactory.ts"],"sourcesContent":["import { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { TransformDrive } from '@Anarchy/Engine/TransformDrive/Entities';\nimport type { TTransformDriveFactory, TTransformDriveFactoryParams } from '@Anarchy/Engine/TransformDrive/Models';\n\nexport function TransformDriveFactory(): TTransformDriveFactory {\n return ReactiveFactory(FactoryType.TransformDrive, ({ params, agents }: TTransformDriveFactoryParams) => TransformDrive(params, agents));\n}\n"],"names":["TransformDriveFactory","ReactiveFactory","FactoryType","TransformDrive","params","agents"],"mappings":"0MAIO,SAASA,wBACd,OAAOC,gBAAgBC,YAAYC,eAAgB,EAAGC,cAAQC,iBAA2CF,eAAeC,OAAQC,QAClI"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TVector3OrEuler } from '
|
|
2
|
-
import { TWithMutablePositionConnector } from '
|
|
1
|
+
import { TVector3OrEuler } from '../../ThreeLib';
|
|
2
|
+
import { TWithMutablePositionConnector } from '../Models';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
export declare function withMutablePositionConnector<T extends TVector3OrEuler>(position$: BehaviorSubject<T>): TWithMutablePositionConnector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMutablePositionConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutablePositionConnector.ts"],"sourcesContent":["import type { TVector3OrEuler } from '@
|
|
1
|
+
{"version":3,"file":"WithMutablePositionConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutablePositionConnector.ts"],"sourcesContent":["import type { TVector3OrEuler } from '@Anarchy/Engine/ThreeLib';\nimport type { TWithMutablePositionConnector } from '@Anarchy/Engine/TransformDrive/Models';\nimport { getXyzUpdateProxy } from '@Anarchy/Engine/TransformDrive/Utils/ActorDriveUtils';\nimport type { BehaviorSubject } from 'rxjs';\n\nexport function withMutablePositionConnector<T extends TVector3OrEuler>(position$: BehaviorSubject<T>): TWithMutablePositionConnector {\n return { positionConnector: getXyzUpdateProxy(position$.value.clone(), position$) };\n}\n"],"names":["withMutablePositionConnector","position$","positionConnector","getXyzUpdateProxy","value","clone"],"mappings":"2DAKO,SAASA,6BAAwDC,WACtE,MAAO,CAAEC,kBAAmBC,kBAAkBF,UAAUG,MAAMC,QAASJ,WACzE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TVector3OrEuler, TVector4OrQuaternion } from '
|
|
2
|
-
import { TWithMutableRotationConnector } from '
|
|
1
|
+
import { TVector3OrEuler, TVector4OrQuaternion } from '../../ThreeLib';
|
|
2
|
+
import { TWithMutableRotationConnector } from '../Models';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
export declare function withMutableRotationConnector<T1 extends TVector3OrEuler, T2 extends TVector4OrQuaternion>(rotation$: BehaviorSubject<T1 | T2>): TWithMutableRotationConnector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMutableRotationConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutableRotationConnector.ts"],"sourcesContent":["import type { TVector3OrEuler, TVector4OrQuaternion } from '@
|
|
1
|
+
{"version":3,"file":"WithMutableRotationConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutableRotationConnector.ts"],"sourcesContent":["import type { TVector3OrEuler, TVector4OrQuaternion } from '@Anarchy/Engine/ThreeLib';\nimport type { TWithMutableRotationConnector } from '@Anarchy/Engine/TransformDrive/Models';\nimport { getXyzUpdateProxy, getXyzwUpdateProxy } from '@Anarchy/Engine/TransformDrive/Utils/ActorDriveUtils';\nimport type { BehaviorSubject } from 'rxjs';\n\nexport function withMutableRotationConnector<T1 extends TVector3OrEuler, T2 extends TVector4OrQuaternion>(rotation$: BehaviorSubject<T1 | T2>): TWithMutableRotationConnector {\n return {\n rotationEulerConnector: getXyzUpdateProxy(rotation$.value.clone(), rotation$),\n rotationQuaternionConnector: getXyzwUpdateProxy((rotation$ as BehaviorSubject<T2>).value.clone(), rotation$ as BehaviorSubject<T2>)\n };\n}\n"],"names":["withMutableRotationConnector","rotation$","rotationEulerConnector","getXyzUpdateProxy","value","clone","rotationQuaternionConnector","getXyzwUpdateProxy"],"mappings":"8EAKO,SAASA,6BAA0FC,WACxG,MAAO,CACLC,uBAAwBC,kBAAkBF,UAAUG,MAAMC,QAASJ,WACnEK,4BAA6BC,mBAAoBN,UAAkCG,MAAMC,QAASJ,WAEtG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TVector3OrEuler } from '
|
|
2
|
-
import { TWithMutableScaleConnector } from '
|
|
1
|
+
import { TVector3OrEuler } from '../../ThreeLib';
|
|
2
|
+
import { TWithMutableScaleConnector } from '../Models';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
export declare function withMutableScaleConnector<T extends TVector3OrEuler>(scale$: BehaviorSubject<T>): TWithMutableScaleConnector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMutableScaleConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutableScaleConnector.ts"],"sourcesContent":["import type { TVector3OrEuler } from '@
|
|
1
|
+
{"version":3,"file":"WithMutableScaleConnector.js","sources":["../../../src/TransformDrive/Mixins/WithMutableScaleConnector.ts"],"sourcesContent":["import type { TVector3OrEuler } from '@Anarchy/Engine/ThreeLib';\nimport type { TWithMutableScaleConnector } from '@Anarchy/Engine/TransformDrive/Models';\nimport { getXyzUpdateProxy } from '@Anarchy/Engine/TransformDrive/Utils/ActorDriveUtils';\nimport type { BehaviorSubject } from 'rxjs';\n\nexport function withMutableScaleConnector<T extends TVector3OrEuler>(scale$: BehaviorSubject<T>): TWithMutableScaleConnector {\n return { scaleConnector: getXyzUpdateProxy(scale$.value.clone(), scale$) };\n}\n"],"names":["withMutableScaleConnector","scale$","scaleConnector","getXyzUpdateProxy","value","clone"],"mappings":"2DAKO,SAASA,0BAAqDC,QACnE,MAAO,CAAEC,eAAgBC,kBAAkBF,OAAOG,MAAMC,QAASJ,QACnE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TMovableXYZ, TQuaternionRotatable, TScaleMixin, TWithPosition3dProperty, TWithQuaternionRotationProperty, TWithScaleProperty } from '
|
|
2
|
-
import { TAbstractTransformAgent } from '
|
|
1
|
+
import { TMovableXYZ, TQuaternionRotatable, TScaleMixin, TWithPosition3dProperty, TWithQuaternionRotationProperty, TWithScaleProperty } from '../../Mixins';
|
|
2
|
+
import { TAbstractTransformAgent } from '../Models';
|
|
3
3
|
export declare function withProxyTransform(abstractTransformAgent: TAbstractTransformAgent, proxyPositionObj: TWithPosition3dProperty, proxyRotationObj: TWithQuaternionRotationProperty, proxyScaleObj: TWithScaleProperty): TMovableXYZ & TScaleMixin & TQuaternionRotatable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithProxyTransform.js","sources":["../../../src/TransformDrive/Mixins/WithProxyTransform.ts"],"sourcesContent":["import type { TMovableXYZ, TQuaternionRotatable, TScaleMixin, TWithPosition3dProperty, TWithQuaternionRotationProperty, TWithScaleProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithProxyTransform.js","sources":["../../../src/TransformDrive/Mixins/WithProxyTransform.ts"],"sourcesContent":["import type { TMovableXYZ, TQuaternionRotatable, TScaleMixin, TWithPosition3dProperty, TWithQuaternionRotationProperty, TWithScaleProperty } from '@Anarchy/Engine/Mixins';\nimport { withMoveBy3dMixin, withQuaternionRotationByXyzMixin, withScaleMixin } from '@Anarchy/Engine/Mixins';\nimport type { TAbstractTransformAgent } from '@Anarchy/Engine/TransformDrive/Models';\n\nexport function withProxyTransform(\n abstractTransformAgent: TAbstractTransformAgent,\n proxyPositionObj: TWithPosition3dProperty,\n proxyRotationObj: TWithQuaternionRotationProperty,\n proxyScaleObj: TWithScaleProperty\n): TMovableXYZ & TScaleMixin & TQuaternionRotatable {\n const { getX, getZ, getY } = withMoveBy3dMixin(proxyPositionObj);\n const { getScaleX, getScaleY, getScaleZ } = withScaleMixin(proxyScaleObj);\n const { getRotationX, getRotationY, getRotationZ, getRotationW } = withQuaternionRotationByXyzMixin(proxyRotationObj);\n\n return {\n getX,\n getY,\n getZ,\n getScaleX,\n getScaleY,\n getScaleZ,\n getRotationX,\n getRotationY,\n getRotationZ,\n getRotationW,\n setX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.x = x;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return x;\n },\n setY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.y = y;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return y;\n },\n setZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.z = z;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return z;\n },\n addX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.x += x;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return proxyPositionObj.position.x;\n },\n addY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.y += y;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return proxyPositionObj.position.y;\n },\n addZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyPositionObj.position.z += z;\n abstractTransformAgent.position$.next(proxyPositionObj.position);\n return proxyPositionObj.position.z;\n },\n setRotationX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.x = x;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return x;\n },\n setRotationY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.y = y;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return y;\n },\n setRotationZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.z = z;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return z;\n },\n setRotationW: (w: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.w = w;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return w;\n },\n adjustRotationByX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.x += x;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return proxyRotationObj.rotation.x;\n },\n adjustRotationByY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.y += y;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return proxyRotationObj.rotation.y;\n },\n adjustRotationByZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.z += z;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return proxyRotationObj.rotation.z;\n },\n adjustRotationByW: (w: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyRotationObj.rotation.w += w;\n abstractTransformAgent.rotation$.next(proxyRotationObj.rotation);\n return proxyRotationObj.rotation.w;\n },\n setScaleX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.x = x;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return x;\n },\n setScaleY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.y = y;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return y;\n },\n setScaleZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.z = z;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return z;\n },\n adjustScaleByX: (x: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.x += x;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return proxyScaleObj.scale.x;\n },\n adjustScaleByY: (y: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.y += y;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return proxyScaleObj.scale.y;\n },\n adjustScaleByZ: (z: number): number => {\n // eslint-disable-next-line functional/immutable-data\n proxyScaleObj.scale.z += z;\n abstractTransformAgent.scale$.next(proxyScaleObj.scale);\n return proxyScaleObj.scale.z;\n }\n };\n}\n"],"names":["withProxyTransform","abstractTransformAgent","proxyPositionObj","proxyRotationObj","proxyScaleObj","getX","getZ","getY","withMoveBy3dMixin","getScaleX","getScaleY","getScaleZ","withScaleMixin","getRotationX","getRotationY","getRotationZ","getRotationW","withQuaternionRotationByXyzMixin","setX","x","position","position$","next","setY","y","setZ","z","addX","addY","addZ","setRotationX","rotation","rotation$","setRotationY","setRotationZ","setRotationW","w","adjustRotationByX","adjustRotationByY","adjustRotationByZ","adjustRotationByW","setScaleX","scale","scale$","setScaleY","setScaleZ","adjustScaleByX","adjustScaleByY","adjustScaleByZ"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TDestroyable, TNoSpread, TSerializable, TWithId } from '
|
|
2
|
-
import { TReadonlyQuaternion, TReadonlyVector3 } from '
|
|
3
|
-
import { TransformAgent } from '
|
|
1
|
+
import { TDestroyable, TNoSpread, TSerializable, TWithId } from '../../Mixins';
|
|
2
|
+
import { TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib';
|
|
3
|
+
import { TransformAgent } from '../Constants';
|
|
4
4
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
5
5
|
import { TReadonlyTransform } from './TReadonlyTransform';
|
|
6
6
|
export type TAbstractTransformAgent = Readonly<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TSerializable } from '
|
|
1
|
+
import { TSerializable } from '../../Mixins';
|
|
2
2
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
3
3
|
import { TSerializedTransform } from './TSerializedTransform';
|
|
4
4
|
import { TWithMutablePositionConnector } from './TWithMutablePositionConnector';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TMovableXYZ, TRotatable, TScaleMixin, TSerializable } from '
|
|
1
|
+
import { TMovableXYZ, TRotatable, TScaleMixin, TSerializable } from '../../Mixins';
|
|
2
2
|
import { Quaternion, Vector3 } from 'three';
|
|
3
3
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
4
4
|
import { TSerializedTransform } from './TSerializedTransform';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TDestroyable, TNoSpread } from '
|
|
1
|
+
import { TDestroyable, TNoSpread } from '../../Mixins';
|
|
2
2
|
export type TDriveToTargetConnector = TNoSpread & TDestroyable;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TKinematicParams } from '
|
|
2
|
-
import { TPhysicsBody } from '
|
|
3
|
-
import { TReadonlyEuler, TReadonlyQuaternion, TReadonlyVector3 } from '
|
|
1
|
+
import { TKinematicParams } from '../../Kinematic';
|
|
2
|
+
import { TPhysicsBody } from '../../Physics';
|
|
3
|
+
import { TReadonlyEuler, TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib';
|
|
4
4
|
import { TOptional } from '@hellpig/anarchy-shared/Utils';
|
|
5
5
|
export type TGetTransformAgentsParams = Readonly<{
|
|
6
6
|
position: TReadonlyVector3;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { KinematicSpeed } from '
|
|
2
|
-
import { TMetersPerSecond } from '
|
|
1
|
+
import { KinematicSpeed } from '../../Kinematic';
|
|
2
|
+
import { TMetersPerSecond } from '../../Math/Types';
|
|
3
3
|
export type TKinematicSpeed = TMetersPerSecond | KinematicSpeed;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TKinematicConfig, TKinematicData, TKinematicMethods } from '
|
|
2
|
-
import { TSerializable } from '
|
|
1
|
+
import { TKinematicConfig, TKinematicData, TKinematicMethods } from '../../Kinematic';
|
|
2
|
+
import { TSerializable } from '../../Mixins';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
5
5
|
export type TKinematicTransformAgent = TAbstractTransformAgent & Readonly<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TKinematicData } from '
|
|
1
|
+
import { TKinematicData } from '../../Kinematic';
|
|
2
2
|
import { TTransformAgentParams } from './TTransformAgentParams';
|
|
3
3
|
export type TKinematicTransformAgentParams = TTransformAgentParams & TKinematicData & Readonly<{
|
|
4
4
|
isAutoUpdate: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TReadonlyQuaternion, TReadonlyVector3 } from '
|
|
1
|
+
import { TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib';
|
|
2
2
|
import { Quaternion, Vector3 } from 'three';
|
|
3
3
|
export type TOffsets = Readonly<{
|
|
4
4
|
positionOffset?: Vector3 | TReadonlyVector3;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TSerializable } from '
|
|
2
|
-
import { TPhysicsBody, TPhysicsBodyConfig } from '
|
|
1
|
+
import { TSerializable } from '../../Mixins';
|
|
2
|
+
import { TPhysicsBody, TPhysicsBodyConfig } from '../../Physics';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
5
5
|
export type TPhysicsTransformAgent = TAbstractTransformAgent & Readonly<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TPhysicsBody, TPhysicsBodyParams } from '
|
|
1
|
+
import { TPhysicsBody, TPhysicsBodyParams } from '../../Physics';
|
|
2
2
|
import { TWithMandatoryField } from '@hellpig/anarchy-shared/Utils';
|
|
3
3
|
import { TTransformAgentParams } from './TTransformAgentParams';
|
|
4
4
|
export type TPhysicsTransformAgentParams = TTransformAgentParams & Readonly<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TReadonlyQuaternion, TReadonlyVector3 } from '
|
|
1
|
+
import { TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib';
|
|
2
2
|
export type TReadonlyTransform = Readonly<{
|
|
3
3
|
position: TReadonlyVector3;
|
|
4
4
|
rotation: TReadonlyQuaternion;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransformAgent } from '
|
|
1
|
+
import { TransformAgent } from '../Constants';
|
|
2
2
|
import { TConnectedTransformAgent } from './TConnectedTransformAgent';
|
|
3
3
|
import { TDefaultTransformAgent } from './TDefaultTransformAgent';
|
|
4
4
|
import { TKinematicTransformAgent } from './TKinematicTransformAgent';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TDestroyable, TNoSpread, TSerializable, TWithId, TWithName } from '
|
|
2
|
-
import { TReadonlyQuaternion, TReadonlyVector3 } from '
|
|
3
|
-
import { TransformAgent } from '
|
|
4
|
-
import { TTransformDriveSerializedData } from '
|
|
1
|
+
import { TDestroyable, TNoSpread, TSerializable, TWithId, TWithName } from '../../Mixins';
|
|
2
|
+
import { TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib';
|
|
3
|
+
import { TransformAgent } from '../Constants';
|
|
4
|
+
import { TTransformDriveSerializedData } from './TTransformDriveSerializedData';
|
|
5
5
|
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
6
6
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
7
7
|
export type TTransformDriveCompatibleEntity = Partial<Record<TransformAgent, TAbstractTransformAgent>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TReactiveFactory } from '
|
|
1
|
+
import { TReactiveFactory } from '../../Abstract';
|
|
2
2
|
import { TTransformDrive, TTransformDriveCompatibleEntity } from './TTransformDrive';
|
|
3
3
|
import { TTransformDriveFactoryParams } from './TTransformDriveFactoryParams';
|
|
4
4
|
export type TTransformDriveFactory = TReactiveFactory<TTransformDrive<TTransformDriveCompatibleEntity>, TTransformDriveFactoryParams>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransformAgent } from '
|
|
1
|
+
import { TransformAgent } from '../Constants';
|
|
2
2
|
import { TAbstractTransformAgent } from './TAbstractTransformAgent';
|
|
3
3
|
import { TTransformDriveParams } from './TTransformDriveParams';
|
|
4
4
|
export type TTransformDriveFactoryParams = Readonly<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TransformAgent } from '
|
|
1
|
+
import { TransformAgent } from '../Constants';
|
|
2
2
|
import { TTransformDrivePerformanceOptions } from './TTransformDrivePerformanceOptions';
|
|
3
3
|
export type TTransformDriveParams = Readonly<{
|
|
4
4
|
relatedEntityId: string;
|