@hellpig/anarchy-engine 21.4.1 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -3
- package/README.md +9 -0
- package/dist/Abstract/Entities/AbstractEntity.js +1 -1
- package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
- package/dist/Abstract/Factories/AbstractFactory.js +1 -1
- package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
- package/dist/Abstract/Factories/ReactiveFactory.js +1 -1
- package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
- package/dist/Abstract/Loaders/AbstractLoader.js +1 -1
- package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.js +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js +1 -1
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractEntityRegistry.js +1 -1
- package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js +1 -1
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractSimpleRegistry.js +1 -1
- package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcher.js +1 -1
- package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcherWithState.js +1 -1
- package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
- package/dist/Abstract/Wrappers/AbstractWrapper.js +1 -1
- package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
- package/dist/Actor/Entities/Actor/Actor.js +1 -1
- package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
- package/dist/Actor/Mixins/WithActorStates.js +1 -1
- package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
- package/dist/Actor/Utils/ActorUtils.js +1 -1
- package/dist/Actor/Utils/ActorUtils.js.map +1 -1
- package/dist/Animations/Adapters/EntityToConfig.js +1 -1
- package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Animations/Loader/AnimationsLoader.js +1 -1
- package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
- package/dist/Animations/Services/AnimationsService.js +1 -1
- package/dist/Animations/Services/AnimationsService.js.map +1 -1
- package/dist/Animations/Utils/SerializationUtils.js +1 -1
- package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
- package/dist/Audio/Adapters/ConfigToParams.js +1 -1
- package/dist/Audio/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Audio/Loader/AudioLoader.js +1 -1
- package/dist/Audio/Loader/AudioLoader.js.map +1 -1
- package/dist/Audio/Services/AudioService.js +1 -1
- package/dist/Audio/Services/AudioService.js.map +1 -1
- package/dist/Audio/Utils/AudioUtils.js +1 -1
- package/dist/Audio/Utils/AudioUtils.js.map +1 -1
- package/dist/Audio/Utils/DebugAudioRenderer.js +1 -1
- package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.js +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Camera/Services/CameraService.js +1 -1
- package/dist/Camera/Services/CameraService.js.map +1 -1
- package/dist/Camera/Utils/CameraUtils.js +1 -1
- package/dist/Camera/Utils/CameraUtils.js.map +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
- package/dist/Collisions/Mixins/WithCollisions.js +1 -1
- package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
- package/dist/Collisions/Services/BvhService.js +1 -1
- package/dist/Collisions/Services/BvhService.js.map +1 -1
- package/dist/Collisions/Services/CollisionsService.js +1 -1
- package/dist/Collisions/Services/CollisionsService.js.map +1 -1
- package/dist/Color/Adapters/EntityToConfig.js +1 -1
- package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Controls/Adapters/EntityToConfig.js +1 -1
- package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Controls/Utils/ControlsUtils.js +1 -1
- package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
- package/dist/EnvMap/Constants/EnvMapMappingTypesMap.js +1 -1
- package/dist/EnvMap/Constants/EnvMapMappingTypesMap.js.map +1 -1
- package/dist/EnvMap/Loader/EnvMapLoader.js +1 -1
- package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
- package/dist/EnvMap/Services/EnvMapService.js +1 -1
- package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fsm/Entities/FsmSource.js +1 -1
- package/dist/Fsm/Entities/FsmSource.js.map +1 -1
- package/dist/Fsm/Services/FsmService.js +1 -1
- package/dist/Fsm/Services/FsmService.js.map +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
- package/dist/Global/Decorators/ContainerDecorator.js +1 -1
- package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
- package/dist/Global/Utils/ContainerUtils.js +1 -1
- package/dist/Global/Utils/ContainerUtils.js.map +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.js +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.js +1 -1
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
- package/dist/Keyboard/Services/KeyboardService.js +1 -1
- package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.js +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
- package/dist/Keyboard/Utils/KeysUtils.js +1 -1
- package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.js +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.js +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.js +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Kinematic/Constants/KinematicConstants.js +1 -1
- package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
- package/dist/Kinematic/Utils/KinematicUtils.js +1 -1
- package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
- package/dist/Light/Adapters/ConfigToParams.js +1 -1
- package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Light/Adapters/EntityToConfig.js +1 -1
- package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Light/Utils/Utils.js +1 -1
- package/dist/Light/Utils/Utils.js.map +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.js +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.js +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.js +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.js +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.js +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.js +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.js +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
- package/dist/Loop/Entities/DeltaCalculator.js +1 -1
- package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
- package/dist/Loop/Entities/Loop.js +1 -1
- package/dist/Loop/Entities/Loop.js.map +1 -1
- package/dist/Material/Adapters/ConfigToParams.js +1 -1
- package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Material/Adapters/EntityToConfig.js +1 -1
- package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Material/Constants/BlendEquation/BlendEquationMap.js +1 -1
- package/dist/Material/Constants/BlendEquation/BlendEquationMap.js.map +1 -1
- package/dist/Material/Constants/Blending/BlendingMap.js +1 -1
- package/dist/Material/Constants/Blending/BlendingMap.js.map +1 -1
- package/dist/Material/Constants/BlendingDstFactor/BlendingDstFactorMap.js +1 -1
- package/dist/Material/Constants/BlendingDstFactor/BlendingDstFactorMap.js.map +1 -1
- package/dist/Material/Constants/BlendingSrcFactorName/BlendingSrcFactorMap.js +1 -1
- package/dist/Material/Constants/BlendingSrcFactorName/BlendingSrcFactorMap.js.map +1 -1
- package/dist/Material/Constants/Combine/CombineMap.js +1 -1
- package/dist/Material/Constants/Combine/CombineMap.js.map +1 -1
- package/dist/Material/Constants/DepthPacking/DepthPackingStrategiesMap.js +1 -1
- package/dist/Material/Constants/DepthPacking/DepthPackingStrategiesMap.js.map +1 -1
- package/dist/Material/Constants/Format/PixelFormatMap.js +1 -1
- package/dist/Material/Constants/Format/PixelFormatMap.js.map +1 -1
- package/dist/Material/Constants/Material/MaterialMap.js +1 -1
- package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
- package/dist/Material/Constants/NormalMapTypes/NormalMapTypesMap.js +1 -1
- package/dist/Material/Constants/NormalMapTypes/NormalMapTypesMap.js.map +1 -1
- package/dist/Material/Constants/Side/SideMap.js +1 -1
- package/dist/Material/Constants/Side/SideMap.js.map +1 -1
- package/dist/Material/Constants/StencilFail/StencilFailMap.js +1 -1
- package/dist/Material/Constants/StencilFail/StencilFailMap.js.map +1 -1
- package/dist/Material/Constants/StencilFuncName/StencilFuncMap.js +1 -1
- package/dist/Material/Constants/StencilFuncName/StencilFuncMap.js.map +1 -1
- package/dist/Material/Constants/StencilOpName/StencilOpMap.js +1 -1
- package/dist/Material/Constants/StencilOpName/StencilOpMap.js.map +1 -1
- package/dist/Material/Mixins/WithMaterial.js +1 -1
- package/dist/Material/Mixins/WithMaterial.js.map +1 -1
- package/dist/Material/Utils/MaterialUtils.js +1 -1
- package/dist/Material/Utils/MaterialUtils.js.map +1 -1
- package/dist/Math/Utils/AnglesUtils.js +1 -1
- package/dist/Math/Utils/AnglesUtils.js.map +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.js +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.js +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js +1 -1
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Models3d/Entities/Model3d.js +1 -1
- package/dist/Models3d/Entities/Model3d.js.map +1 -1
- package/dist/Models3d/Loaders/Loader3dCore.js +1 -1
- package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
- package/dist/Models3d/Loaders/Models3dLoader.js +1 -1
- package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.js +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
- package/dist/Models3d/Utils/SerializationUtils.js +1 -1
- package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.js +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModels3dService.js +1 -1
- package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
- package/dist/Mouse/Services/MouseService.js +1 -1
- package/dist/Mouse/Services/MouseService.js.map +1 -1
- package/dist/Mouse/Utils/MouseUtils.js +1 -1
- package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.js +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.js +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
- package/dist/Physics/Constants/PhysicsConstants.js +1 -1
- package/dist/Physics/Constants/PhysicsConstants.js.map +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBody.js +1 -1
- package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.js +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
- package/dist/Physics/Services/PhysicsWorldService.js +1 -1
- package/dist/Physics/Services/PhysicsWorldService.js.map +1 -1
- package/dist/Physics/Utils/ParamsUtils.js +1 -1
- package/dist/Physics/Utils/ParamsUtils.js.map +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.js +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Renderer/Loop/RendererLoopEffect.js +1 -1
- package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
- package/dist/Space/Adapters/EntityToConfig.js +1 -1
- package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Space/Entities/Space.js +1 -1
- package/dist/Space/Entities/Space.js.map +1 -1
- package/dist/Space/Entities/SpaceFromConfig.js +1 -1
- package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
- package/dist/Space/Factories/SpaceFactory.js +1 -1
- package/dist/Space/Factories/SpaceFactory.js.map +1 -1
- package/dist/Space/Utils/CanvasUtils.js +1 -1
- package/dist/Space/Utils/CanvasUtils.js.map +1 -1
- package/dist/Space/Utils/CreateEntitiesUtils.js +1 -1
- package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
- package/dist/Space/Utils/SchemaValidationUtils.js +1 -1
- package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
- package/dist/Space/Validators/SchemasValidator.js +1 -1
- package/dist/Space/Validators/SchemasValidator.js.map +1 -1
- package/dist/Space/Validators/ValidateSpace.js +1 -1
- package/dist/Space/Validators/ValidateSpace.js.map +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.js +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.js +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
- package/dist/Spatial/Mixins/WithSpatial.js +1 -1
- package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.js +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
- package/dist/Spatial/Services/SpatialHelper.js +1 -1
- package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.js +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
- package/dist/Text/Adapters/ConfigToParams.js +1 -1
- package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Text/Adapters/EntityToConfig.js +1 -1
- package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Text/Loop/TextLoopEffect.js +1 -1
- package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
- package/dist/Text/Renderers/Text2dRenderer.js +1 -1
- package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
- package/dist/Text/Renderers/Text3dRenderer.js +1 -1
- package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
- package/dist/Text/Renderers/TextRendererBuilder.js +1 -1
- package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
- package/dist/Text/Services/TextService.js +1 -1
- package/dist/Text/Services/TextService.js.map +1 -1
- package/dist/Text/Wrappers/Accessors.js +1 -1
- package/dist/Text/Wrappers/Accessors.js.map +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapper.js +1 -1
- package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperHelper.js +1 -1
- package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
- package/dist/Texture/Loaders/TexturesLoader.js +1 -1
- package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.js +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.js +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js +1 -1
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js +1 -1
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
- package/dist/TransformDrive/Entities/Drive/TransformDrive.js +1 -1
- package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.js +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
- package/dist/TransformDrive/Utils/AgentUtils.js +1 -1
- package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/KinematicAgentUtils.js +1 -1
- package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/TransformDriveUtils.js +1 -1
- package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
- package/dist/Utils/CheckUtils.js +1 -1
- package/dist/Utils/CheckUtils.js.map +1 -1
- package/dist/Utils/CoordsUtils.js +1 -1
- package/dist/Utils/CoordsUtils.js.map +1 -1
- package/dist/Utils/DateTimeUtils.js +1 -1
- package/dist/Utils/DateTimeUtils.js.map +1 -1
- package/dist/Utils/DestroyUtils.js +1 -1
- package/dist/Utils/DestroyUtils.js.map +1 -1
- package/dist/Utils/DomUtils.js +1 -1
- package/dist/Utils/DomUtils.js.map +1 -1
- package/dist/Utils/RegistryAsyncUtils.js +1 -1
- package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
- package/dist/Utils/RegistryUtils.js +1 -1
- package/dist/Utils/RegistryUtils.js.map +1 -1
- package/dist/Utils/RotationUtils.js +1 -1
- package/dist/Utils/RotationUtils.js.map +1 -1
- package/dist/Utils/RxJsUtils.js +1 -1
- package/dist/Utils/RxJsUtils.js.map +1 -1
- package/dist/Utils/ScreenUtils.js +1 -1
- package/dist/Utils/ScreenUtils.js.map +1 -1
- package/dist/Utils/TagsUtils.js +1 -1
- package/dist/Utils/TagsUtils.js.map +1 -1
- package/dist/Utils/WrapperHelpers.js +1 -1
- package/dist/Utils/WrapperHelpers.js.map +1 -1
- package/dist/_virtual/stateMachine.js +1 -1
- package/dist/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/dereference.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/format.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/pointer.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/ucs2-length.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/validate.js.map +1 -0
- package/dist/node_modules/@cfworker/json-schema/dist/esm/validator.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/normalizeDates.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -0
- package/dist/node_modules/date-fns/constants.js.map +1 -0
- package/dist/node_modules/date-fns/constructFrom.js.map +1 -0
- package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -0
- package/dist/node_modules/date-fns/format.js.map +1 -0
- package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -0
- package/dist/node_modules/date-fns/getISOWeek.js.map +1 -0
- package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -0
- package/dist/node_modules/date-fns/getWeek.js.map +1 -0
- package/dist/node_modules/date-fns/getWeekYear.js.map +1 -0
- package/dist/node_modules/date-fns/isDate.js.map +1 -0
- package/dist/node_modules/date-fns/isValid.js.map +1 -0
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -0
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -0
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -0
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -0
- package/dist/node_modules/date-fns/locale/en-US.js.map +1 -0
- package/dist/node_modules/date-fns/parseISO.js.map +1 -0
- package/dist/node_modules/date-fns/startOfDay.js.map +1 -0
- package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -0
- package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -0
- package/dist/node_modules/date-fns/startOfWeek.js.map +1 -0
- package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -0
- package/dist/node_modules/date-fns/startOfYear.js.map +1 -0
- package/dist/node_modules/date-fns/toDate.js.map +1 -0
- package/dist/node_modules/lodash-es/_DataView.js.map +1 -0
- package/dist/node_modules/lodash-es/_Hash.js.map +1 -0
- package/dist/node_modules/lodash-es/_ListCache.js.map +1 -0
- package/dist/node_modules/lodash-es/_Map.js.map +1 -0
- package/dist/node_modules/lodash-es/_MapCache.js.map +1 -0
- package/dist/node_modules/lodash-es/_Promise.js.map +1 -0
- package/dist/node_modules/lodash-es/_Set.js.map +1 -0
- package/dist/node_modules/lodash-es/_SetCache.js.map +1 -0
- package/dist/node_modules/lodash-es/_Stack.js.map +1 -0
- package/dist/node_modules/lodash-es/_Symbol.js.map +1 -0
- package/dist/node_modules/lodash-es/_Uint8Array.js.map +1 -0
- package/dist/node_modules/lodash-es/_WeakMap.js.map +1 -0
- package/dist/node_modules/lodash-es/_arrayEach.js.map +1 -0
- package/dist/node_modules/lodash-es/_arrayFilter.js.map +1 -0
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js.map +1 -0
- package/dist/node_modules/lodash-es/_arrayPush.js.map +1 -0
- package/dist/node_modules/lodash-es/_arraySome.js.map +1 -0
- package/dist/node_modules/lodash-es/_assignValue.js.map +1 -0
- package/dist/node_modules/lodash-es/_assocIndexOf.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseAssignValue.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseClone.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseCreate.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseGetTag.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsArguments.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsEqual.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsMap.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsNative.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsSet.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseIsTypedArray.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseKeys.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseTimes.js.map +1 -0
- package/dist/node_modules/lodash-es/_baseUnary.js.map +1 -0
- package/dist/node_modules/lodash-es/_cacheHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneArrayBuffer.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneBuffer.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneDataView.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneRegExp.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneSymbol.js.map +1 -0
- package/dist/node_modules/lodash-es/_cloneTypedArray.js.map +1 -0
- package/dist/node_modules/lodash-es/_coreJsData.js.map +1 -0
- package/dist/node_modules/lodash-es/_defineProperty.js.map +1 -0
- package/dist/node_modules/lodash-es/_equalArrays.js.map +1 -0
- package/dist/node_modules/lodash-es/_equalByTag.js.map +1 -0
- package/dist/node_modules/lodash-es/_equalObjects.js.map +1 -0
- package/dist/node_modules/lodash-es/_freeGlobal.js.map +1 -0
- package/dist/node_modules/lodash-es/_getAllKeys.js.map +1 -0
- package/dist/node_modules/lodash-es/_getMapData.js.map +1 -0
- package/dist/node_modules/lodash-es/_getNative.js.map +1 -0
- package/dist/node_modules/lodash-es/_getPrototype.js.map +1 -0
- package/dist/node_modules/lodash-es/_getRawTag.js.map +1 -0
- package/dist/node_modules/lodash-es/_getSymbols.js.map +1 -0
- package/dist/node_modules/lodash-es/_getTag.js.map +1 -0
- package/dist/node_modules/lodash-es/_getValue.js.map +1 -0
- package/dist/node_modules/lodash-es/_hashClear.js.map +1 -0
- package/dist/node_modules/lodash-es/_hashDelete.js.map +1 -0
- package/dist/node_modules/lodash-es/_hashGet.js.map +1 -0
- package/dist/node_modules/lodash-es/_hashHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_hashSet.js.map +1 -0
- package/dist/node_modules/lodash-es/_initCloneArray.js.map +1 -0
- package/dist/node_modules/lodash-es/_initCloneByTag.js.map +1 -0
- package/dist/node_modules/lodash-es/_initCloneObject.js.map +1 -0
- package/dist/node_modules/lodash-es/_isIndex.js.map +1 -0
- package/dist/node_modules/lodash-es/_isKeyable.js.map +1 -0
- package/dist/node_modules/lodash-es/_isMasked.js.map +1 -0
- package/dist/node_modules/lodash-es/_isPrototype.js.map +1 -0
- package/dist/node_modules/lodash-es/_listCacheClear.js.map +1 -0
- package/dist/node_modules/lodash-es/_listCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash-es/_listCacheGet.js.map +1 -0
- package/dist/node_modules/lodash-es/_listCacheHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_listCacheSet.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapCacheClear.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapCacheGet.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapCacheHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapCacheSet.js.map +1 -0
- package/dist/node_modules/lodash-es/_mapToArray.js.map +1 -0
- package/dist/node_modules/lodash-es/_nativeCreate.js.map +1 -0
- package/dist/node_modules/lodash-es/_nativeKeys.js.map +1 -0
- package/dist/node_modules/lodash-es/_nodeUtil.js.map +1 -0
- package/dist/node_modules/lodash-es/_objectToString.js.map +1 -0
- package/dist/node_modules/lodash-es/_overArg.js.map +1 -0
- package/dist/node_modules/lodash-es/_root.js.map +1 -0
- package/dist/node_modules/lodash-es/_setCacheAdd.js.map +1 -0
- package/dist/node_modules/lodash-es/_setCacheHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_setToArray.js.map +1 -0
- package/dist/node_modules/lodash-es/_stackClear.js.map +1 -0
- package/dist/node_modules/lodash-es/_stackDelete.js.map +1 -0
- package/dist/node_modules/lodash-es/_stackGet.js.map +1 -0
- package/dist/node_modules/lodash-es/_stackHas.js.map +1 -0
- package/dist/node_modules/lodash-es/_stackSet.js.map +1 -0
- package/dist/node_modules/lodash-es/_toSource.js.map +1 -0
- package/dist/node_modules/lodash-es/cloneDeepWith.js.map +1 -0
- package/dist/node_modules/lodash-es/eq.js.map +1 -0
- package/dist/node_modules/lodash-es/isArguments.js.map +1 -0
- package/dist/node_modules/lodash-es/isArray.js.map +1 -0
- package/dist/node_modules/lodash-es/isArrayLike.js.map +1 -0
- package/dist/node_modules/lodash-es/isBuffer.js.map +1 -0
- package/dist/node_modules/lodash-es/isEmpty.js.map +1 -0
- package/dist/node_modules/lodash-es/isEqual.js.map +1 -0
- package/dist/node_modules/lodash-es/isFunction.js.map +1 -0
- package/dist/node_modules/lodash-es/isLength.js.map +1 -0
- package/dist/node_modules/lodash-es/isMap.js.map +1 -0
- package/dist/node_modules/lodash-es/isObject.js.map +1 -0
- package/dist/node_modules/lodash-es/isObjectLike.js.map +1 -0
- package/dist/node_modules/lodash-es/isPlainObject.js.map +1 -0
- package/dist/node_modules/lodash-es/isSet.js.map +1 -0
- package/dist/node_modules/lodash-es/isTypedArray.js.map +1 -0
- package/dist/node_modules/lodash-es/keys.js.map +1 -0
- package/dist/node_modules/lodash-es/stubArray.js.map +1 -0
- package/dist/node_modules/lodash-es/stubFalse.js.map +1 -0
- package/dist/node_modules/quickselect/index.js.map +1 -0
- package/dist/node_modules/rbush/index.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/concat.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/defer.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/finalize.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/sample.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/skip.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/startWith.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/take.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/timeout.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/async.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/args.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isDate.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/Constants.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/MeshBVH.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/MeshBVH.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/MeshBVHNode.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/buildTree.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/buildUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/computeBoundsUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/sortUtils.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/build/splitUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/raycast.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/raycastFirst.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/refit.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/refit_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/shapecast.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/core/cast/shapecast.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/utils/BufferStack.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/utils/intersectUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/utils/iterationUtils.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/core/utils/nodeBufferUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/math/MathUtilities.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/math/MathUtilities.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/math/OrientedBox.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/math/OrientedBox.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/BufferUtils.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ExtendedTrianglePool.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/PrimitivePool.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js.map +1 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js +2 -0
- package/dist/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/node_modules/typescript-fsm/dist/stateMachine.js +2 -0
- package/dist/node_modules/typescript-fsm/dist/stateMachine.js.map +1 -0
- package/dist/packages/anarchy-engine/node_modules/nanoid/index.browser.js.map +1 -0
- package/dist/packages/anarchy-engine/node_modules/nanoid/url-alphabet/index.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Constants/CssUnits.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Constants/FallBackFonts.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/ArrayUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/CheckUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/MapUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/StringUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/TypesUtils.js.map +1 -0
- package/dist/packages/anarchy-shared/src/Utils/WebGlUtils.js.map +1 -0
- package/legal/NOTICE.md +1 -13
- package/legal/THIRD_PARTY_LICENSES.md +1 -213
- package/package.json +15 -3
- package/dist/__vite-plugin-wasm-helper.js +0 -2
- package/dist/__vite-plugin-wasm-helper.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/dereference.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/format.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/pointer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/ucs2-length.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/validate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/validator.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/coarena.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/coarena.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/character_controller.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/character_controller.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/pid_controller.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/pid_controller.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/ccd_solver.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/ccd_solver.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint_set.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint_set.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/integration_parameters.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/integration_parameters.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/island_manager.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/island_manager.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint_set.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint_set.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body_set.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body_set.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/broad_phase.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/broad_phase.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider_set.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider_set.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/contact.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/contact.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/feature.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/feature.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/narrow_phase.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/narrow_phase.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/point.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/point.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/ray.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/ray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/shape.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/shape.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/toi.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/toi.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/math.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/math.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/debug_render_pipeline.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/debug_render_pipeline.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/event_queue.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/event_queue.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_hooks.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_hooks.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_pipeline.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_pipeline.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/serialization_pipeline.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/serialization_pipeline.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/world.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/world.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm2.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm2.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/addLeadingZeros.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/defaultOptions.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/formatters.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/lightFormatters.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/longFormatters.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/normalizeDates.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/protectedTokens.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/constants.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/constructFrom.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/differenceInCalendarDays.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/format.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getDayOfYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getISOWeek.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getISOWeekYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getWeek.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getWeekYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/isDate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/isValid.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/localize.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/match.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/parseISO.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfDay.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfISOWeek.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfISOWeekYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfWeek.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfWeekYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfYear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/toDate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_DataView.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Hash.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_ListCache.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Map.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_MapCache.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Promise.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Set.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_SetCache.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Stack.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Symbol.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Uint8Array.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_WeakMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayEach.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayFilter.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayLikeKeys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayPush.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arraySome.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_assignValue.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_assocIndexOf.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseAssignValue.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseClone.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseCreate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseGetAllKeys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseGetTag.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsArguments.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsEqual.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsEqualDeep.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsNative.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsTypedArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseKeys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseTimes.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseUnary.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cacheHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneArrayBuffer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneBuffer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneDataView.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneRegExp.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneSymbol.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneTypedArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_coreJsData.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_defineProperty.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalArrays.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalByTag.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalObjects.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_freeGlobal.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getAllKeys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getMapData.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getNative.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getPrototype.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getRawTag.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getSymbols.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getTag.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getValue.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashClear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashDelete.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashGet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneByTag.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneObject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isIndex.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isKeyable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isMasked.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isPrototype.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheClear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheDelete.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheGet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheClear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheDelete.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheGet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapToArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nativeCreate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nativeKeys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nodeUtil.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_objectToString.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_overArg.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_root.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setCacheAdd.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setCacheHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setToArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackClear.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackDelete.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackGet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackHas.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_toSource.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/cloneDeepWith.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/eq.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArguments.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArrayLike.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isBuffer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isEmpty.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isEqual.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isFunction.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isLength.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isObject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isObjectLike.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isPlainObject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isSet.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isTypedArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/keys.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/stubArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/stubFalse.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/quickselect/index.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rbush/index.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Observable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/config.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/concat.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/defer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/finalize.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/sample.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/skip.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/startWith.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/take.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/timeout.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/async.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/args.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isDate.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.core.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.core.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.module.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.module.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/FirstPersonControls.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/FirstPersonControls.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/OrbitControls.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/OrbitControls.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/Line2.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/Line2.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineGeometry.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineGeometry.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineMaterial.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineMaterial.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegments2.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegments2.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/DRACOLoader.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/DRACOLoader.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/GLTFLoader.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/GLTFLoader.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/HDRLoader.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/HDRLoader.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/SkeletonUtils.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/SkeletonUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/MathUtils.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/MathUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Quaternion.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Quaternion.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Vector3.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Vector3.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/utils.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/utils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/Constants.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVH.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVH.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVHNode.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/buildTree.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/buildUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/computeBoundsUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/sortUtils.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/splitUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycast.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycastFirst.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/refit.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/refit_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/shapecast.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/shapecast.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/BufferStack.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/intersectUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/iterationUtils.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/nodeBufferUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/MathUtilities.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/MathUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/OrientedBox.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/OrientedBox.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/BufferUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtendedTrianglePool.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/PrimitivePool.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/typescript-fsm/dist/stateMachine.js +0 -2
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/typescript-fsm/dist/stateMachine.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-engine/node_modules/nanoid/index.browser.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-engine/node_modules/nanoid/url-alphabet/index.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Constants/CssUnits.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Constants/FallBackFonts.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/ArrayUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/CheckUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/CssUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/MapUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/StringUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/TypesUtils.js.map +0 -1
- package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/WebGlUtils.js.map +0 -1
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/deep-compare-strict.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/dereference.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/format.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/pointer.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/ucs2-length.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/validate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/validator.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/addLeadingZeros.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/defaultOptions.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/formatters.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/lightFormatters.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/longFormatters.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/normalizeDates.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/protectedTokens.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/constants.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/constructFrom.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/differenceInCalendarDays.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/format.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getDayOfYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getISOWeek.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getISOWeekYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getWeek.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getWeekYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/isDate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/isValid.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildFormatLongFn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildLocalizeFn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildMatchFn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildMatchPatternFn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatDistance.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatLong.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatRelative.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/localize.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/match.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/parseISO.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfDay.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfISOWeek.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfISOWeekYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfWeek.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfWeekYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfYear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/toDate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_DataView.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Hash.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_ListCache.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Map.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_MapCache.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Promise.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Set.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_SetCache.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Stack.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Symbol.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Uint8Array.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_WeakMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayEach.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayFilter.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayLikeKeys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayPush.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arraySome.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_assignValue.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_assocIndexOf.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseAssignValue.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseClone.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseCreate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseGetAllKeys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseGetTag.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsArguments.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsEqual.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsEqualDeep.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsNative.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsTypedArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseKeys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseTimes.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseUnary.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cacheHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneArrayBuffer.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneBuffer.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneDataView.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneRegExp.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneSymbol.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneTypedArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_coreJsData.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_defineProperty.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalArrays.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalByTag.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalObjects.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_freeGlobal.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getAllKeys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getMapData.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getNative.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getPrototype.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getRawTag.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getSymbols.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getTag.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getValue.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashClear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashDelete.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashGet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneByTag.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneObject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isIndex.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isKeyable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isMasked.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isPrototype.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheClear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheDelete.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheGet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheClear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheDelete.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheGet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapToArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nativeCreate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nativeKeys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nodeUtil.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_objectToString.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_overArg.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_root.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setCacheAdd.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setCacheHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setToArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackClear.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackDelete.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackGet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackHas.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_toSource.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/cloneDeepWith.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/eq.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArguments.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArrayLike.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isBuffer.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isEmpty.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isEqual.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isFunction.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isLength.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isObject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isObjectLike.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isPlainObject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isSet.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isTypedArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/keys.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/stubArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/stubFalse.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/quickselect/index.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rbush/index.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/BehaviorSubject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Observable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/ReplaySubject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Scheduler.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subscriber.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subscription.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/config.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/combineLatest.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/concat.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/defer.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/empty.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/from.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/fromEvent.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/innerFrom.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/merge.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/of.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/catchError.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/concatAll.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/concatMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/exhaustMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/filter.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/finalize.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/map.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeAll.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeInternals.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/observeOn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/sample.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/skip.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/skipWhile.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/startWith.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/subscribeOn.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/switchMap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/take.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/takeUntil.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/takeWhile.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/tap.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/timeout.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/withLatestFrom.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduled.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/Action.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/AsyncAction.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/async.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/intervalProvider.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/symbol/iterator.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/symbol/observable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/args.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/arrRemove.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/createErrorClass.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/createObject.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/errorContext.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/executeSchedule.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/identity.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isArrayLike.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isAsyncIterable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isDate.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isFunction.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isInteropObservable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isIterable.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isPromise.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isScheduler.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/lift.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/noop.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/pipe.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/reportUnhandledError.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/throwUnobservableError.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/Constants.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/MeshBVHNode.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/buildTree.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/buildUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/computeBoundsUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/sortUtils.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/splitUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycast.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycastFirst.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/refit.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/refit_indirect.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/BufferStack.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/intersectUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/iterationUtils.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/nodeBufferUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/ArrayBoxUtilities.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/BufferUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/ExtendedTrianglePool.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/PrimitivePool.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/tslib/tslib.es6.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-engine/node_modules/nanoid/index.browser.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-engine/node_modules/nanoid/url-alphabet/index.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Constants/CssUnits.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Constants/FallBackFonts.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/ArrayUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/AsyncUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/CheckUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/CssUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/MapUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/ObjectUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/StringUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/TypesUtils.js +0 -0
- /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/WebGlUtils.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined,isDefined}from"../../
|
|
1
|
+
import{isNotDefined,isDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{TextureLoader}from"three";import{applyTextureParams,applyColorSpace,applyFilters}from"../Utils/TextureServiceHelper.js";import{AbstractLoader}from"../../Abstract/Loaders/AbstractLoader.js";import{LoaderType}from"../../Abstract/Constants/LoaderType.js";function TexturesLoader(registry,metaInfoRegistry,loadingManagerWrapper){const textureLoader=new TextureLoader(loadingManagerWrapper.entity),loader=AbstractLoader(textureLoader,registry,metaInfoRegistry,LoaderType.Texture);return loader.setOnLoadedFn(function(loaded,options){return isNotDefined(options)||(applyTextureParams(loaded,options),isDefined(options.colorSpace)&&applyColorSpace(loaded,options),applyFilters(loaded,options)),loaded}),loader}export{TexturesLoader};
|
|
2
2
|
//# sourceMappingURL=TexturesLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TexturesLoader.js","sources":["../../../src/Texture/Loaders/TexturesLoader.ts"],"sourcesContent":["import { AbstractLoader, LoaderType } from '@Anarchy/Engine/Abstract';\nimport type { TLoadingManagerWrapper } from '@Anarchy/Engine/LoadingManager';\nimport type { TTexture, TTextureAsyncRegistry, TTextureMetaInfoRegistry, TTextureResourceConfig, TTexturesLoader } from '@Anarchy/Engine/Texture/Models';\nimport { applyColorSpace, applyFilters, applyTextureParams } from '@Anarchy/Engine/Texture/Utils';\nimport type { TWriteable } from '@Anarchy/Shared/Utils';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport { TextureLoader } from 'three';\n\nexport function TexturesLoader(registry: TTextureAsyncRegistry, metaInfoRegistry: TTextureMetaInfoRegistry, loadingManagerWrapper: TLoadingManagerWrapper): TTexturesLoader {\n const textureLoader: TextureLoader = new TextureLoader(loadingManagerWrapper.entity);\n const loader: TTexturesLoader = AbstractLoader(textureLoader, registry, metaInfoRegistry, LoaderType.Texture);\n\n function applyParamsOnLoaded(loaded: TWriteable<TTexture>, options?: TTextureResourceConfig['options']): TTexture {\n if (isNotDefined(options)) return loaded;\n applyTextureParams(loaded, options);\n if (isDefined(options.colorSpace)) applyColorSpace(loaded, options);\n applyFilters(loaded, options);\n return loaded;\n }\n\n loader.setOnLoadedFn(applyParamsOnLoaded);\n\n return loader;\n}\n"],"names":["TexturesLoader","registry","metaInfoRegistry","loadingManagerWrapper","textureLoader","TextureLoader","entity","loader","AbstractLoader","LoaderType","Texture","setOnLoadedFn","loaded","options","isNotDefined","applyTextureParams","isDefined","colorSpace","applyColorSpace","applyFilters"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TexturesLoader.js","sources":["../../../src/Texture/Loaders/TexturesLoader.ts"],"sourcesContent":["import { AbstractLoader, LoaderType } from '@Anarchy/Engine/Abstract';\nimport type { TLoadingManagerWrapper } from '@Anarchy/Engine/LoadingManager';\nimport type { TTexture, TTextureAsyncRegistry, TTextureMetaInfoRegistry, TTextureResourceConfig, TTexturesLoader } from '@Anarchy/Engine/Texture/Models';\nimport { applyColorSpace, applyFilters, applyTextureParams } from '@Anarchy/Engine/Texture/Utils';\nimport type { TWriteable } from '@Anarchy/Shared/Utils';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport { TextureLoader } from 'three';\n\nexport function TexturesLoader(registry: TTextureAsyncRegistry, metaInfoRegistry: TTextureMetaInfoRegistry, loadingManagerWrapper: TLoadingManagerWrapper): TTexturesLoader {\n const textureLoader: TextureLoader = new TextureLoader(loadingManagerWrapper.entity);\n const loader: TTexturesLoader = AbstractLoader(textureLoader, registry, metaInfoRegistry, LoaderType.Texture);\n\n function applyParamsOnLoaded(loaded: TWriteable<TTexture>, options?: TTextureResourceConfig['options']): TTexture {\n if (isNotDefined(options)) return loaded;\n applyTextureParams(loaded, options);\n if (isDefined(options.colorSpace)) applyColorSpace(loaded, options);\n applyFilters(loaded, options);\n return loaded;\n }\n\n loader.setOnLoadedFn(applyParamsOnLoaded);\n\n return loader;\n}\n"],"names":["TexturesLoader","registry","metaInfoRegistry","loadingManagerWrapper","textureLoader","TextureLoader","entity","loader","AbstractLoader","LoaderType","Texture","setOnLoadedFn","loaded","options","isNotDefined","applyTextureParams","isDefined","colorSpace","applyColorSpace","applyFilters"],"mappings":"6VAQO,SAASA,eAAeC,SAAiCC,iBAA4CC,uBAC1G,MAAMC,cAA+B,IAAIC,cAAcF,sBAAsBG,QACvEC,OAA0BC,eAAeJ,cAAeH,SAAUC,iBAAkBO,WAAWC,SAYrG,OAFAH,OAAOI,cARP,SAA6BC,OAA8BC,SACzD,OAAIC,aAAaD,WACjBE,mBAAmBH,OAAQC,SACvBG,UAAUH,QAAQI,aAAaC,gBAAgBN,OAAQC,SAC3DM,aAAaP,OAAQC,UAHaD,MAKpC,GAIOL,MACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined,isDefined}from"../../
|
|
1
|
+
import{isNotDefined,isDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{LinearFilter,NearestFilter}from"three";const getMagFilter=magFilter=>isDefined(magFilter)?magFilter:LinearFilter,getMinFilter=minFilter=>isDefined(minFilter)?minFilter:NearestFilter,applyColorSpace=(texture,options)=>{isNotDefined(options)||isDefined(options.colorSpace)&&(texture.colorSpace=options.colorSpace)};function applyFilters(texture,options){isNotDefined(options)||(texture.magFilter=getMagFilter(options.magFilter),texture.minFilter=getMinFilter(options.minFilter),texture.minFilter===NearestFilter&&(texture.generateMipmaps=!1))}function applyTextureParams(texture,options){isNotDefined(options)||(isDefined(options.mapping)&&(texture.mapping=options.mapping),isDefined(options.wrapS)&&(texture.wrapS=options.wrapS),isDefined(options.wrapT)&&(texture.wrapT=options.wrapT),isDefined(options.anisotropy)&&(texture.anisotropy=options.anisotropy),isDefined(options.format)&&(texture.format=options.format),isDefined(options.type)&&(texture.type=options.type))}export{applyColorSpace,applyFilters,applyTextureParams,getMagFilter,getMinFilter};
|
|
2
2
|
//# sourceMappingURL=TextureServiceHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureServiceHelper.js","sources":["../../../src/Texture/Utils/TextureServiceHelper.ts"],"sourcesContent":["import type { TTexture, TTextureOptions } from '@Anarchy/Engine/Texture/Models';\nimport type { TWriteable } from '@Anarchy/Shared/Utils';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport type { MagnificationTextureFilter, MinificationTextureFilter } from 'three';\nimport { LinearFilter, NearestFilter } from 'three';\n\nexport const getMagFilter = (magFilter?: MagnificationTextureFilter): MagnificationTextureFilter => (isDefined(magFilter) ? magFilter : LinearFilter);\nexport const getMinFilter = (minFilter?: MinificationTextureFilter): MinificationTextureFilter => (isDefined(minFilter) ? minFilter : NearestFilter);\n\nexport const applyColorSpace = (texture: TWriteable<TTexture>, options?: TTextureOptions): void => {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.colorSpace)) texture.colorSpace = options.colorSpace;\n};\n\nexport function applyFilters(texture: TWriteable<TTexture>, options?: TTextureOptions): void {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n texture.magFilter = getMagFilter(options.magFilter);\n // eslint-disable-next-line functional/immutable-data\n texture.minFilter = getMinFilter(options.minFilter);\n\n // eslint-disable-next-line functional/immutable-data\n if (texture.minFilter === NearestFilter) texture.generateMipmaps = false;\n}\n\nexport function applyTextureParams(texture: TWriteable<TTexture>, options?: TTextureOptions): void {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.mapping)) texture.mapping = options.mapping;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.wrapS)) texture.wrapS = options.wrapS;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.wrapT)) texture.wrapT = options.wrapT;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.anisotropy)) texture.anisotropy = options.anisotropy;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.format)) texture.format = options.format;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.type)) texture.type = options.type;\n}\n"],"names":["getMagFilter","magFilter","isDefined","LinearFilter","getMinFilter","minFilter","NearestFilter","applyColorSpace","texture","options","isNotDefined","colorSpace","applyFilters","generateMipmaps","applyTextureParams","mapping","wrapS","wrapT","anisotropy","format","type"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextureServiceHelper.js","sources":["../../../src/Texture/Utils/TextureServiceHelper.ts"],"sourcesContent":["import type { TTexture, TTextureOptions } from '@Anarchy/Engine/Texture/Models';\nimport type { TWriteable } from '@Anarchy/Shared/Utils';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport type { MagnificationTextureFilter, MinificationTextureFilter } from 'three';\nimport { LinearFilter, NearestFilter } from 'three';\n\nexport const getMagFilter = (magFilter?: MagnificationTextureFilter): MagnificationTextureFilter => (isDefined(magFilter) ? magFilter : LinearFilter);\nexport const getMinFilter = (minFilter?: MinificationTextureFilter): MinificationTextureFilter => (isDefined(minFilter) ? minFilter : NearestFilter);\n\nexport const applyColorSpace = (texture: TWriteable<TTexture>, options?: TTextureOptions): void => {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.colorSpace)) texture.colorSpace = options.colorSpace;\n};\n\nexport function applyFilters(texture: TWriteable<TTexture>, options?: TTextureOptions): void {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n texture.magFilter = getMagFilter(options.magFilter);\n // eslint-disable-next-line functional/immutable-data\n texture.minFilter = getMinFilter(options.minFilter);\n\n // eslint-disable-next-line functional/immutable-data\n if (texture.minFilter === NearestFilter) texture.generateMipmaps = false;\n}\n\nexport function applyTextureParams(texture: TWriteable<TTexture>, options?: TTextureOptions): void {\n if (isNotDefined(options)) return;\n\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.mapping)) texture.mapping = options.mapping;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.wrapS)) texture.wrapS = options.wrapS;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.wrapT)) texture.wrapT = options.wrapT;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.anisotropy)) texture.anisotropy = options.anisotropy;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.format)) texture.format = options.format;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(options.type)) texture.type = options.type;\n}\n"],"names":["getMagFilter","magFilter","isDefined","LinearFilter","getMinFilter","minFilter","NearestFilter","applyColorSpace","texture","options","isNotDefined","colorSpace","applyFilters","generateMipmaps","applyTextureParams","mapping","wrapS","wrapT","anisotropy","format","type"],"mappings":"wIAMO,MAAMA,aAAgBC,WAAwEC,UAAUD,WAAaA,UAAYE,aAC3HC,aAAgBC,WAAsEH,UAAUG,WAAaA,UAAYC,cAEzHC,gBAAkB,CAACC,QAA+BC,WACzDC,aAAaD,UAGbP,UAAUO,QAAQE,cAAaH,QAAQG,WAAaF,QAAQE,aAG3D,SAASC,aAAaJ,QAA+BC,SACtDC,aAAaD,WAGjBD,QAAQP,UAAYD,aAAaS,QAAQR,WAEzCO,QAAQH,UAAYD,aAAaK,QAAQJ,WAGrCG,QAAQH,YAAcC,gBAAeE,QAAQK,iBAAkB,GACrE,CAEO,SAASC,mBAAmBN,QAA+BC,SAC5DC,aAAaD,WAGbP,UAAUO,QAAQM,WAAUP,QAAQO,QAAUN,QAAQM,SAEtDb,UAAUO,QAAQO,SAAQR,QAAQQ,MAAQP,QAAQO,OAElDd,UAAUO,QAAQQ,SAAQT,QAAQS,MAAQR,QAAQQ,OAElDf,UAAUO,QAAQS,cAAaV,QAAQU,WAAaT,QAAQS,YAE5DhB,UAAUO,QAAQU,UAASX,QAAQW,OAASV,QAAQU,QAEpDjB,UAAUO,QAAQW,QAAOZ,QAAQY,KAAOX,QAAQW,MACtD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isDefined}from"../../
|
|
1
|
+
import{isDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3,Euler}from"three";function configToParamsObject3d(config){const{position:position,rotation:rotation,scale:scale}=config;return{...{...config},position:isDefined(position)?new Vector3(position.x,position.y,position.z):new Vector3,rotation:isDefined(rotation)?new Euler(rotation.x,rotation.y,rotation.z):new Euler,scale:isDefined(scale)?new Vector3(scale.x,scale.y,scale.z):new Vector3(1,1,1)}}export{configToParamsObject3d};
|
|
2
2
|
//# sourceMappingURL=Object3dUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Object3dUtils.js","sources":["../../../src/ThreeLib/Utils/Object3dUtils.ts"],"sourcesContent":["import type { TObject3DParams, TObject3DPropConfig } from '@Anarchy/Engine/ThreeLib/Models';\nimport { isDefined } from '@Anarchy/Shared/Utils';\nimport { Euler, Vector3 } from 'three';\n\nexport function configToParamsObject3d(config: Partial<TObject3DPropConfig>): TObject3DParams {\n const { position, rotation, scale } = config;\n const result = { ...config } as TObject3DParams;\n\n return {\n ...result,\n position: isDefined(position) ? new Vector3(position.x, position.y, position.z) : new Vector3(),\n rotation: isDefined(rotation) ? new Euler(rotation.x, rotation.y, rotation.z) : new Euler(),\n scale: isDefined(scale) ? new Vector3(scale.x, scale.y, scale.z) : new Vector3(1, 1, 1)\n };\n}\n"],"names":["configToParamsObject3d","config","position","rotation","scale","isDefined","Vector3","x","y","z","Euler"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Object3dUtils.js","sources":["../../../src/ThreeLib/Utils/Object3dUtils.ts"],"sourcesContent":["import type { TObject3DParams, TObject3DPropConfig } from '@Anarchy/Engine/ThreeLib/Models';\nimport { isDefined } from '@Anarchy/Shared/Utils';\nimport { Euler, Vector3 } from 'three';\n\nexport function configToParamsObject3d(config: Partial<TObject3DPropConfig>): TObject3DParams {\n const { position, rotation, scale } = config;\n const result = { ...config } as TObject3DParams;\n\n return {\n ...result,\n position: isDefined(position) ? new Vector3(position.x, position.y, position.z) : new Vector3(),\n rotation: isDefined(rotation) ? new Euler(rotation.x, rotation.y, rotation.z) : new Euler(),\n scale: isDefined(scale) ? new Vector3(scale.x, scale.y, scale.z) : new Vector3(1, 1, 1)\n };\n}\n"],"names":["configToParamsObject3d","config","position","rotation","scale","isDefined","Vector3","x","y","z","Euler"],"mappings":"8GAIO,SAASA,uBAAuBC,QACrC,MAAMC,SAAEA,SAAAC,SAAUA,SAAAC,MAAUA,OAAUH,OAGtC,MAAO,IAFQ,IAAKA,QAIlBC,SAAUG,UAAUH,UAAY,IAAII,QAAQJ,SAASK,EAAGL,SAASM,EAAGN,SAASO,GAAK,IAAIH,QACtFH,SAAUE,UAAUF,UAAY,IAAIO,MAAMP,SAASI,EAAGJ,SAASK,EAAGL,SAASM,GAAK,IAAIC,MACpFN,MAAOC,UAAUD,OAAS,IAAIE,QAAQF,MAAMG,EAAGH,MAAMI,EAAGJ,MAAMK,GAAK,IAAIH,QAAQ,EAAG,EAAG,GAEzF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{Euler}from"three";import{ignoreDefaultStateKinematic}from"../../Kinematic/Utils/KinematicUtils.js";import{vector3ToXyz,eulerToXyz}from"../../Utils/TransformUtils.js";function transformDriveToConfig(drive){const{position$:position$,rotation$:rotation$,scale$:scale$,agent$:agent$}=drive;return{physicsBodyName:drive.physics?.physicsBody$.value.name,kinematic:ignoreDefaultStateKinematic(drive.kinematic?.serialize()),position:vector3ToXyz(position$.value),rotation:eulerToXyz((new Euler).setFromQuaternion(rotation$.value)),scale:vector3ToXyz(scale$.value),agent:agent$.value}}export{transformDriveToConfig};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/TransformDrive/Adapters/EntityToConfig.ts"],"sourcesContent":["import { ignoreDefaultStateKinematic } from '@Anarchy/Engine/Kinematic';\nimport type { TTransformDrive, TTransformDriveSerializedData } from '@Anarchy/Engine/TransformDrive/Models';\nimport { eulerToXyz, vector3ToXyz } from '@Anarchy/Engine/Utils';\nimport { Euler } from 'three';\n\nexport function transformDriveToConfig(drive: TTransformDrive<any>): TTransformDriveSerializedData {\n const { position$, rotation$, scale$, agent$ } = drive;\n\n return {\n physicsBodyName: drive.physics?.physicsBody$.value.name,\n kinematic: ignoreDefaultStateKinematic(drive.kinematic?.serialize()),\n position: vector3ToXyz(position$.value),\n rotation: eulerToXyz(new Euler().setFromQuaternion(rotation$.value)),\n scale: vector3ToXyz(scale$.value),\n agent: agent$.value\n };\n}\n"],"names":["transformDriveToConfig","drive","position$","rotation$","scale$","agent$","physicsBodyName","physics","physicsBody$","value","name","kinematic","ignoreDefaultStateKinematic","serialize","position","vector3ToXyz","rotation","eulerToXyz","Euler","setFromQuaternion","scale","agent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/TransformDrive/Adapters/EntityToConfig.ts"],"sourcesContent":["import { ignoreDefaultStateKinematic } from '@Anarchy/Engine/Kinematic';\nimport type { TTransformDrive, TTransformDriveSerializedData } from '@Anarchy/Engine/TransformDrive/Models';\nimport { eulerToXyz, vector3ToXyz } from '@Anarchy/Engine/Utils';\nimport { Euler } from 'three';\n\nexport function transformDriveToConfig(drive: TTransformDrive<any>): TTransformDriveSerializedData {\n const { position$, rotation$, scale$, agent$ } = drive;\n\n return {\n physicsBodyName: drive.physics?.physicsBody$.value.name,\n kinematic: ignoreDefaultStateKinematic(drive.kinematic?.serialize()),\n position: vector3ToXyz(position$.value),\n rotation: eulerToXyz(new Euler().setFromQuaternion(rotation$.value)),\n scale: vector3ToXyz(scale$.value),\n agent: agent$.value\n };\n}\n"],"names":["transformDriveToConfig","drive","position$","rotation$","scale$","agent$","physicsBodyName","physics","physicsBody$","value","name","kinematic","ignoreDefaultStateKinematic","serialize","position","vector3ToXyz","rotation","eulerToXyz","Euler","setFromQuaternion","scale","agent"],"mappings":"6KAKO,SAASA,uBAAuBC,OACrC,MAAMC,UAAEA,UAAAC,UAAWA,UAAAC,OAAWA,OAAAC,OAAQA,QAAWJ,MAEjD,MAAO,CACLK,gBAAiBL,MAAMM,SAASC,aAAaC,MAAMC,KACnDC,UAAWC,4BAA4BX,MAAMU,WAAWE,aACxDC,SAAUC,aAAab,UAAUO,OACjCO,SAAUC,YAAW,IAAIC,OAAQC,kBAAkBhB,UAAUM,QAC7DW,MAAOL,aAAaX,OAAOK,OAC3BY,MAAOhB,OAAOI,MAElB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isDefined}from"../../../
|
|
1
|
+
import{isDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{nanoid}from"../../../packages/anarchy-engine/node_modules/nanoid/index.browser.js";import{BehaviorSubject}from"../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{Subject}from"../../../node_modules/rxjs/dist/esm5/internal/Subject.js";import{destroyableMixin}from"../../../Mixins/Generics/DestroyableMixin.js";function AbstractTransformAgent(params,type){const id=type+"_transform_agent_"+nanoid(),relatedDriveId$=new BehaviorSubject(void 0),enabled$=new BehaviorSubject(params.enabled??!1),position$=new BehaviorSubject(params.position),rotation$=new BehaviorSubject(params.rotation),scale$=new BehaviorSubject(params.scale),onActivated$=new Subject,onDeactivated$=new Subject,onDeactivated$Sub=onDeactivated$.subscribe(transform=>{isDefined(params.onDeactivated)&¶ms.onDeactivated(transform)}),onActivated$Sub=onActivated$.subscribe(({position:position,rotation:rotation,scale:scale})=>{isDefined(params.onActivated)&¶ms.onActivated({position:position,rotation:rotation,scale:scale})}),destroyable=destroyableMixin(),destroySub$=destroyable.destroy$.subscribe(()=>{destroySub$.unsubscribe(),onDeactivated$Sub?.unsubscribe(),onActivated$Sub?.unsubscribe(),onDeactivated$.next({position:position$.value,rotation:rotation$.value,scale:scale$.value}),onDeactivated$.complete(),position$.complete(),rotation$.complete(),scale$.complete(),enabled$.next(!1),enabled$.complete(),onActivated$.complete(),relatedDriveId$.complete()});return{...destroyable,id:id,type:type,position$:position$,rotation$:rotation$,scale$:scale$,enabled$:enabled$,onActivated$:onActivated$,onDeactivated$:onDeactivated$,relatedDriveId$:relatedDriveId$,serialize:()=>({position:position$.value,rotation:rotation$.value,scale:scale$.value})}}export{AbstractTransformAgent};
|
|
2
2
|
//# sourceMappingURL=AbstractTransformAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/AbstractTransformAgent.ts"],"sourcesContent":["import type { TDestroyable } from '@Anarchy/Engine/Mixins';\nimport { destroyableMixin } from '@Anarchy/Engine/Mixins';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@Anarchy/Engine/ThreeLib';\nimport type { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type { TAbstractTransformAgent, TReadonlyTransform, TSerializedTransform, TTransformAgentParams } from '@Anarchy/Engine/TransformDrive/Models';\nimport { isDefined } from '@Anarchy/Shared/Utils';\nimport { nanoid } from 'nanoid';\nimport type { Subscription } from 'rxjs';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nexport function AbstractTransformAgent(params: TTransformAgentParams, type: TransformAgent): TAbstractTransformAgent {\n const id: string = type + '_transform_agent_' + nanoid();\n const relatedDriveId$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>(undefined);\n // IMPORTANT: enabled$ doesn't do anything by in AbstractTransformAgent. You have to implement that logic yourself\n const enabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(params.enabled ?? false);\n const position$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(params.position);\n const rotation$: BehaviorSubject<TReadonlyQuaternion> = new BehaviorSubject<TReadonlyQuaternion>(params.rotation);\n const scale$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(params.scale);\n const onActivated$: Subject<TReadonlyTransform> = new Subject<TReadonlyTransform>();\n const onDeactivated$: Subject<TReadonlyTransform> = new Subject<TReadonlyTransform>();\n\n const onDeactivated$Sub: Subscription = onDeactivated$.subscribe((transform: TReadonlyTransform): void => {\n if (isDefined(params.onDeactivated)) params.onDeactivated(transform);\n });\n\n const onActivated$Sub: Subscription = onActivated$.subscribe(({ position, rotation, scale }: TReadonlyTransform): void => {\n if (isDefined(params.onActivated)) params.onActivated({ position, rotation, scale });\n });\n\n const destroyable: TDestroyable = destroyableMixin();\n const destroySub$: Subscription = destroyable.destroy$.subscribe((): void => {\n //Stop subscriptions\n destroySub$.unsubscribe();\n onDeactivated$Sub?.unsubscribe();\n onActivated$Sub?.unsubscribe();\n\n //Complete subjects\n onDeactivated$.next({ position: position$.value, rotation: rotation$.value, scale: scale$.value });\n onDeactivated$.complete();\n position$.complete();\n rotation$.complete();\n scale$.complete();\n enabled$.next(false);\n enabled$.complete();\n onActivated$.complete();\n relatedDriveId$.complete();\n });\n\n return {\n ...destroyable,\n id,\n type,\n position$,\n rotation$,\n scale$,\n enabled$,\n onActivated$,\n onDeactivated$,\n relatedDriveId$,\n serialize: (): TSerializedTransform => ({\n position: position$.value,\n rotation: rotation$.value,\n scale: scale$.value\n })\n };\n}\n"],"names":["AbstractTransformAgent","params","type","id","nanoid","relatedDriveId$","BehaviorSubject","enabled$","enabled","position$","position","rotation$","rotation","scale$","scale","onActivated$","Subject","onDeactivated$","onDeactivated$Sub","subscribe","transform","isDefined","onDeactivated","onActivated$Sub","onActivated","destroyable","destroyableMixin","destroySub$","destroy$","unsubscribe","next","value","complete","serialize"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/AbstractTransformAgent.ts"],"sourcesContent":["import type { TDestroyable } from '@Anarchy/Engine/Mixins';\nimport { destroyableMixin } from '@Anarchy/Engine/Mixins';\nimport type { TReadonlyQuaternion, TReadonlyVector3 } from '@Anarchy/Engine/ThreeLib';\nimport type { TransformAgent } from '@Anarchy/Engine/TransformDrive/Constants';\nimport type { TAbstractTransformAgent, TReadonlyTransform, TSerializedTransform, TTransformAgentParams } from '@Anarchy/Engine/TransformDrive/Models';\nimport { isDefined } from '@Anarchy/Shared/Utils';\nimport { nanoid } from 'nanoid';\nimport type { Subscription } from 'rxjs';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\nexport function AbstractTransformAgent(params: TTransformAgentParams, type: TransformAgent): TAbstractTransformAgent {\n const id: string = type + '_transform_agent_' + nanoid();\n const relatedDriveId$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>(undefined);\n // IMPORTANT: enabled$ doesn't do anything by in AbstractTransformAgent. You have to implement that logic yourself\n const enabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(params.enabled ?? false);\n const position$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(params.position);\n const rotation$: BehaviorSubject<TReadonlyQuaternion> = new BehaviorSubject<TReadonlyQuaternion>(params.rotation);\n const scale$: BehaviorSubject<TReadonlyVector3> = new BehaviorSubject<TReadonlyVector3>(params.scale);\n const onActivated$: Subject<TReadonlyTransform> = new Subject<TReadonlyTransform>();\n const onDeactivated$: Subject<TReadonlyTransform> = new Subject<TReadonlyTransform>();\n\n const onDeactivated$Sub: Subscription = onDeactivated$.subscribe((transform: TReadonlyTransform): void => {\n if (isDefined(params.onDeactivated)) params.onDeactivated(transform);\n });\n\n const onActivated$Sub: Subscription = onActivated$.subscribe(({ position, rotation, scale }: TReadonlyTransform): void => {\n if (isDefined(params.onActivated)) params.onActivated({ position, rotation, scale });\n });\n\n const destroyable: TDestroyable = destroyableMixin();\n const destroySub$: Subscription = destroyable.destroy$.subscribe((): void => {\n //Stop subscriptions\n destroySub$.unsubscribe();\n onDeactivated$Sub?.unsubscribe();\n onActivated$Sub?.unsubscribe();\n\n //Complete subjects\n onDeactivated$.next({ position: position$.value, rotation: rotation$.value, scale: scale$.value });\n onDeactivated$.complete();\n position$.complete();\n rotation$.complete();\n scale$.complete();\n enabled$.next(false);\n enabled$.complete();\n onActivated$.complete();\n relatedDriveId$.complete();\n });\n\n return {\n ...destroyable,\n id,\n type,\n position$,\n rotation$,\n scale$,\n enabled$,\n onActivated$,\n onDeactivated$,\n relatedDriveId$,\n serialize: (): TSerializedTransform => ({\n position: position$.value,\n rotation: rotation$.value,\n scale: scale$.value\n })\n };\n}\n"],"names":["AbstractTransformAgent","params","type","id","nanoid","relatedDriveId$","BehaviorSubject","enabled$","enabled","position$","position","rotation$","rotation","scale$","scale","onActivated$","Subject","onDeactivated$","onDeactivated$Sub","subscribe","transform","isDefined","onDeactivated","onActivated$Sub","onActivated","destroyable","destroyableMixin","destroySub$","destroy$","unsubscribe","next","value","complete","serialize"],"mappings":"iaAUO,SAASA,uBAAuBC,OAA+BC,MACpE,MAAMC,GAAaD,KAAO,oBAAsBE,SAC1CC,gBAAuD,IAAIC,wBAE3DC,SAAqC,IAAID,gBAAyBL,OAAOO,UAAW,GACpFC,UAA+C,IAAIH,gBAAkCL,OAAOS,UAC5FC,UAAkD,IAAIL,gBAAqCL,OAAOW,UAClGC,OAA4C,IAAIP,gBAAkCL,OAAOa,OACzFC,aAA4C,IAAIC,QAChDC,eAA8C,IAAID,QAElDE,kBAAkCD,eAAeE,UAAWC,YAC5DC,UAAUpB,OAAOqB,gBAAgBrB,OAAOqB,cAAcF,aAGtDG,gBAAgCR,aAAaI,UAAU,EAAGT,kBAAUE,kBAAUE,gBAC9EO,UAAUpB,OAAOuB,cAAcvB,OAAOuB,YAAY,CAAEd,kBAAUE,kBAAUE,gBAGxEW,YAA4BC,mBAC5BC,YAA4BF,YAAYG,SAAST,UAAU,KAE/DQ,YAAYE,cACZX,mBAAmBW,cACnBN,iBAAiBM,cAGjBZ,eAAea,KAAK,CAAEpB,SAAUD,UAAUsB,MAAOnB,SAAUD,UAAUoB,MAAOjB,MAAOD,OAAOkB,QAC1Fd,eAAee,WACfvB,UAAUuB,WACVrB,UAAUqB,WACVnB,OAAOmB,WACPzB,SAASuB,MAAK,GACdvB,SAASyB,WACTjB,aAAaiB,WACb3B,gBAAgB2B,aAGlB,MAAO,IACFP,YACHtB,MACAD,UACAO,oBACAE,oBACAE,cACAN,kBACAQ,0BACAE,8BACAZ,gCACA4B,UAAW,KAAA,CACTvB,SAAUD,UAAUsB,MACpBnB,SAAUD,UAAUoB,MACpBjB,MAAOD,OAAOkB,QAGpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isInstant,rotateInstantly,moveInstantly,isRotationReached,getStepRotation,isPointReached}from"../../Utils/KinematicAgentUtils.js";import{isDefined,isNotDefined}from"../../../home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/CheckUtils.js";import"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.module.js";import{AbstractTransformAgent}from"./AbstractTransformAgent.js";import{BehaviorSubject}from"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{Object3D,Vector3,Quaternion}from"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.core.js";import{DefaultIsAutoUpdate,DefaultKinematicTarget,DefaultKinematicState}from"../../../Kinematic/Constants/KinematicConstants.js";import{kinematicToConfig}from"../../../Kinematic/Adapters/EntityToConfig.js";import{getAzimuthElevationFromVector,getElevationFromDirection}from"../../../Math/Utils/AnglesUtils.js";import{combineLatest}from"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js";import{switchMap}from"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js";import{EMPTY}from"../../../home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/empty.js";import{TransformAgent}from"../../Constants/TransformAgent.js";import{metersPerSecond}from"../../../Distance/Utils/DistanceUtils.js";import{ForwardAxis}from"../../../Kinematic/Constants/ForwardAxis.js";function KinematicTransformAgent(params,{kinematicLoop:kinematicLoop}){const autoUpdate$=new BehaviorSubject(params.isAutoUpdate??DefaultIsAutoUpdate),abstractTransformAgent=AbstractTransformAgent(params,TransformAgent.Kinematic);let kinematicSub$,tempObject=new Object3D,linearDirection=new Vector3,displacement=new Vector3;const destroySub$=abstractTransformAgent.destroy$.subscribe(()=>{destroySub$.unsubscribe(),kinematicSub$?.unsubscribe(),abstractTransformAgent.destroy$.next(),tempObject.parent?.remove(tempObject),tempObject=null,linearDirection=null,displacement=null}),agent=Object.assign(abstractTransformAgent,{data:{state:{linearSpeed:params.state.linearSpeed??DefaultKinematicState.linearSpeed,linearDirection:params.state.linearDirection?.clone()??DefaultKinematicState.linearDirection,angularSpeed:params.state.angularSpeed??DefaultKinematicState.angularSpeed,radius:params.state.radius??DefaultKinematicState.radius,angularDirection:params.state.angularDirection?.clone()??DefaultKinematicState.angularDirection,forwardAxis:params.state.forwardAxis??DefaultKinematicState.forwardAxis,isInfiniteRotation:params.state.isInfiniteRotation??DefaultKinematicState.isInfiniteRotation},target:{positionThreshold:params.target?.positionThreshold??DefaultKinematicTarget.positionThreshold,position:params.target?.position?.clone()??DefaultKinematicTarget.position,rotationThreshold:params.target?.rotationThreshold??DefaultKinematicTarget.rotationThreshold,rotation:params.target?.rotation?.clone()??DefaultKinematicTarget.rotation}},setData({state:state,target:target}){const{linearSpeed:linearSpeed,linearDirection:linearDirection2,angularSpeed:angularSpeed,angularDirection:angularDirection,forwardAxis:forwardAxis,isInfiniteRotation:isInfiniteRotation}=state,{positionThreshold:positionThreshold,position:position,rotationThreshold:rotationThreshold,rotation:rotation}=target??{};agent.data.state.linearSpeed=linearSpeed,agent.data.state.linearDirection.copy(linearDirection2),agent.data.state.angularSpeed=angularSpeed,agent.data.state.angularDirection.copy(angularDirection),agent.data.state.forwardAxis=forwardAxis,agent.data.state.isInfiniteRotation=isInfiniteRotation,isNotDefined(target)||(isDefined(positionThreshold)&&(agent.data.target.positionThreshold=positionThreshold),agent.data.target.position=position,isDefined(rotationThreshold)&&(agent.data.target.rotationThreshold=rotationThreshold),agent.data.target.rotation=rotation)},getData:()=>agent.data,getRadius:()=>agent.data.state.radius,setRadius(radius){agent.data.state.radius=radius},getForwardAxis:()=>agent.data.state.forwardAxis,setForwardAxis(axis){agent.data.state.forwardAxis=axis},moveTo(targetPosition,speed){if(isInstant(speed))return moveInstantly(agent,targetPosition);if(speed<0)throw new Error("[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.");return 0===speed?agent.setLinearSpeed(0):(agent.data.target.position=targetPosition.clone(),targetPosition.equals(abstractTransformAgent.position$.value)?agent.setLinearSpeed(0):(agent.setLinearDirection(targetPosition.clone().sub(abstractTransformAgent.position$.value).normalize()),void agent.setLinearSpeed(speed)))},lookAt(targetPosition,speed){tempObject.position.copy(abstractTransformAgent.position$.value),tempObject.up.set(0,1,0),tempObject.lookAt(targetPosition);const targetRotation=tempObject.quaternion.clone().normalize();return agent.rotateTo(targetRotation,speed)},rotateTo(targetRotation,speed,infinite=!1){if(isInstant(speed))return rotateInstantly(agent,targetRotation);if(speed<0)throw new Error("[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.");if(0===speed)return agent.setAngularSpeed(0);if(0===agent.data.state.radius)throw new Error("[KinematicTransformAgent]: Radius must be greater than 0 to calculate angular speed.");const angularSpeed=speed/agent.data.state.radius;agent.data.target.rotation=targetRotation.clone().normalize(),agent.data.state.isInfiniteRotation=infinite,agent.setAngularSpeed(angularSpeed)},getLinearSpeed:()=>agent.data.state.linearSpeed,setLinearSpeed(speed){agent.data.state.linearSpeed=speed},getLinearDirection:()=>agent.data.state.linearDirection,setLinearDirection(direction){agent.data.state.linearDirection.copy(direction)},getLinearAzimuth:()=>getAzimuthElevationFromVector(agent.data.state.linearDirection,agent.data.state.forwardAxis).azimuth,setLinearAzimuth(azimuthRad){isDefined(agent.data.target?.position)&&(agent.data.target.position=void 0);const{forwardAxis:forwardAxis}=agent.data.state,currentDir=agent.data.state.linearDirection.clone(),{elevation:elevation}=getAzimuthElevationFromVector(currentDir,forwardAxis),totalLength=currentDir.length()||1;let newX,newZ;const horizontalScale=Math.cos(elevation)*totalLength;if(forwardAxis===ForwardAxis.Z)newX=Math.sin(azimuthRad)*horizontalScale,newZ=Math.cos(azimuthRad)*horizontalScale;else{if(forwardAxis!==ForwardAxis.X)throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);newX=Math.cos(azimuthRad)*horizontalScale,newZ=Math.sin(azimuthRad)*horizontalScale}const newY=Math.sin(elevation)*totalLength;agent.data.state.linearDirection.set(newX,newY,newZ).normalize()},getLinearElevation:()=>getElevationFromDirection(agent.data.state.linearDirection),setLinearElevation(elevationRad){isDefined(agent.data.target?.position)&&(agent.data.target.position=void 0);const{forwardAxis:forwardAxis}=agent.data.state,currentDir=agent.data.state.linearDirection.clone(),{azimuth:azimuth}=getAzimuthElevationFromVector(currentDir,forwardAxis),totalLength=currentDir.length()||1,horizontalScale=Math.cos(elevationRad)*totalLength;let newX,newZ;if(forwardAxis===ForwardAxis.Z)newX=Math.sin(azimuth)*horizontalScale,newZ=Math.cos(azimuth)*horizontalScale;else{if(!ForwardAxis.X)throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);newX=Math.cos(azimuth)*horizontalScale,newZ=Math.sin(azimuth)*horizontalScale}const newY=Math.sin(elevationRad)*totalLength;agent.data.state.linearDirection.set(newX,newY,newZ).normalize()},resetLinear(resetSpeed,resetDirection){resetSpeed&&agent.setLinearSpeed(0),resetDirection&&agent.setLinearDirection(new Vector3)},getAngularSpeed:()=>agent.data.state.angularSpeed,getAngularSpeedMps(){if(agent.data.state.radius<=0)throw new Error("Radius must be set and be greater than 0 to calculate angular speed.");return metersPerSecond(agent.data.state.angularSpeed*agent.data.state.radius)},setAngularSpeed(speed){agent.data.state.angularSpeed=speed},setAngularSpeedMps(speed){if(agent.data.state.radius<=0)throw new Error("Radius must be set and be greater than 0 to calculate angular speed.");agent.setAngularSpeed(speed/agent.data.state.radius)},getAngularDirection:()=>agent.data.state.angularDirection.clone(),setAngularDirection(direction){agent.data.state.angularDirection.copy(direction)},resetAngular(resetSpeed,resetDirection){resetSpeed&&agent.setAngularSpeed(0),resetDirection&&agent.setAngularDirection(new Quaternion)},serialize:()=>kinematicToConfig(agent),autoUpdate$:autoUpdate$});return kinematicSub$=combineLatest([agent.enabled$,agent.autoUpdate$]).pipe(switchMap(([isEnabled,isAutoUpdate])=>isEnabled&&isAutoUpdate?kinematicLoop.tick$:EMPTY)).subscribe(delta=>{!function(delta){if(agent.data.state.angularSpeed<=0)return;const rotationStep=agent.data.state.angularSpeed*(delta>0?delta:1);if(!agent.data.state.isInfiniteRotation&&isRotationReached(agent.data.target,agent.rotation$.value,agent.data.state))return;const stepRotation=getStepRotation(agent,rotationStep,agent.data.state.isInfiniteRotation);isNotDefined(stepRotation)||(agent.data.state.angularDirection.multiply(stepRotation).normalize(),agent.rotation$.next(agent.data.state.angularDirection))}(delta),function(delta){if(agent.data.state.linearSpeed<=0)return;if(isPointReached(agent.data.target,abstractTransformAgent.position$.value,agent.data.state))return;const safeDelta=delta>0?delta:1;linearDirection.copy(agent.data.state.linearDirection).normalize(),displacement.copy(linearDirection).multiplyScalar(agent.data.state.linearSpeed*safeDelta),abstractTransformAgent.position$.next(abstractTransformAgent.position$.value.clone().add(displacement))}(delta)}),agent}export{KinematicTransformAgent};
|
|
1
|
+
import{isInstant,rotateInstantly,moveInstantly,isRotationReached,getStepRotation,isPointReached}from"../../Utils/KinematicAgentUtils.js";import{isDefined,isNotDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Object3D,Vector3,Quaternion}from"three";import{AbstractTransformAgent}from"./AbstractTransformAgent.js";import{BehaviorSubject}from"../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{DefaultIsAutoUpdate,DefaultKinematicTarget,DefaultKinematicState}from"../../../Kinematic/Constants/KinematicConstants.js";import{kinematicToConfig}from"../../../Kinematic/Adapters/EntityToConfig.js";import{getAzimuthElevationFromVector,getElevationFromDirection}from"../../../Math/Utils/AnglesUtils.js";import{combineLatest}from"../../../node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js";import{switchMap}from"../../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js";import{EMPTY}from"../../../node_modules/rxjs/dist/esm5/internal/observable/empty.js";import{TransformAgent}from"../../Constants/TransformAgent.js";import{metersPerSecond}from"../../../Distance/Utils/DistanceUtils.js";import{ForwardAxis}from"../../../Kinematic/Constants/ForwardAxis.js";function KinematicTransformAgent(params,{kinematicLoop:kinematicLoop}){const autoUpdate$=new BehaviorSubject(params.isAutoUpdate??DefaultIsAutoUpdate),abstractTransformAgent=AbstractTransformAgent(params,TransformAgent.Kinematic);let kinematicSub$,tempObject=new Object3D,linearDirection=new Vector3,displacement=new Vector3;const destroySub$=abstractTransformAgent.destroy$.subscribe(()=>{destroySub$.unsubscribe(),kinematicSub$?.unsubscribe(),abstractTransformAgent.destroy$.next(),tempObject.parent?.remove(tempObject),tempObject=null,linearDirection=null,displacement=null}),agent=Object.assign(abstractTransformAgent,{data:{state:{linearSpeed:params.state.linearSpeed??DefaultKinematicState.linearSpeed,linearDirection:params.state.linearDirection?.clone()??DefaultKinematicState.linearDirection,angularSpeed:params.state.angularSpeed??DefaultKinematicState.angularSpeed,radius:params.state.radius??DefaultKinematicState.radius,angularDirection:params.state.angularDirection?.clone()??DefaultKinematicState.angularDirection,forwardAxis:params.state.forwardAxis??DefaultKinematicState.forwardAxis,isInfiniteRotation:params.state.isInfiniteRotation??DefaultKinematicState.isInfiniteRotation},target:{positionThreshold:params.target?.positionThreshold??DefaultKinematicTarget.positionThreshold,position:params.target?.position?.clone()??DefaultKinematicTarget.position,rotationThreshold:params.target?.rotationThreshold??DefaultKinematicTarget.rotationThreshold,rotation:params.target?.rotation?.clone()??DefaultKinematicTarget.rotation}},setData({state:state,target:target}){const{linearSpeed:linearSpeed,linearDirection:linearDirection2,angularSpeed:angularSpeed,angularDirection:angularDirection,forwardAxis:forwardAxis,isInfiniteRotation:isInfiniteRotation}=state,{positionThreshold:positionThreshold,position:position,rotationThreshold:rotationThreshold,rotation:rotation}=target??{};agent.data.state.linearSpeed=linearSpeed,agent.data.state.linearDirection.copy(linearDirection2),agent.data.state.angularSpeed=angularSpeed,agent.data.state.angularDirection.copy(angularDirection),agent.data.state.forwardAxis=forwardAxis,agent.data.state.isInfiniteRotation=isInfiniteRotation,isNotDefined(target)||(isDefined(positionThreshold)&&(agent.data.target.positionThreshold=positionThreshold),agent.data.target.position=position,isDefined(rotationThreshold)&&(agent.data.target.rotationThreshold=rotationThreshold),agent.data.target.rotation=rotation)},getData:()=>agent.data,getRadius:()=>agent.data.state.radius,setRadius(radius){agent.data.state.radius=radius},getForwardAxis:()=>agent.data.state.forwardAxis,setForwardAxis(axis){agent.data.state.forwardAxis=axis},moveTo(targetPosition,speed){if(isInstant(speed))return moveInstantly(agent,targetPosition);if(speed<0)throw new Error("[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.");return 0===speed?agent.setLinearSpeed(0):(agent.data.target.position=targetPosition.clone(),targetPosition.equals(abstractTransformAgent.position$.value)?agent.setLinearSpeed(0):(agent.setLinearDirection(targetPosition.clone().sub(abstractTransformAgent.position$.value).normalize()),void agent.setLinearSpeed(speed)))},lookAt(targetPosition,speed){tempObject.position.copy(abstractTransformAgent.position$.value),tempObject.up.set(0,1,0),tempObject.lookAt(targetPosition);const targetRotation=tempObject.quaternion.clone().normalize();return agent.rotateTo(targetRotation,speed)},rotateTo(targetRotation,speed,infinite=!1){if(isInstant(speed))return rotateInstantly(agent,targetRotation);if(speed<0)throw new Error("[KinematicTransformAgent]: Speed must be greater than 0 to calculate angular speed.");if(0===speed)return agent.setAngularSpeed(0);if(0===agent.data.state.radius)throw new Error("[KinematicTransformAgent]: Radius must be greater than 0 to calculate angular speed.");const angularSpeed=speed/agent.data.state.radius;agent.data.target.rotation=targetRotation.clone().normalize(),agent.data.state.isInfiniteRotation=infinite,agent.setAngularSpeed(angularSpeed)},getLinearSpeed:()=>agent.data.state.linearSpeed,setLinearSpeed(speed){agent.data.state.linearSpeed=speed},getLinearDirection:()=>agent.data.state.linearDirection,setLinearDirection(direction){agent.data.state.linearDirection.copy(direction)},getLinearAzimuth:()=>getAzimuthElevationFromVector(agent.data.state.linearDirection,agent.data.state.forwardAxis).azimuth,setLinearAzimuth(azimuthRad){isDefined(agent.data.target?.position)&&(agent.data.target.position=void 0);const{forwardAxis:forwardAxis}=agent.data.state,currentDir=agent.data.state.linearDirection.clone(),{elevation:elevation}=getAzimuthElevationFromVector(currentDir,forwardAxis),totalLength=currentDir.length()||1;let newX,newZ;const horizontalScale=Math.cos(elevation)*totalLength;if(forwardAxis===ForwardAxis.Z)newX=Math.sin(azimuthRad)*horizontalScale,newZ=Math.cos(azimuthRad)*horizontalScale;else{if(forwardAxis!==ForwardAxis.X)throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);newX=Math.cos(azimuthRad)*horizontalScale,newZ=Math.sin(azimuthRad)*horizontalScale}const newY=Math.sin(elevation)*totalLength;agent.data.state.linearDirection.set(newX,newY,newZ).normalize()},getLinearElevation:()=>getElevationFromDirection(agent.data.state.linearDirection),setLinearElevation(elevationRad){isDefined(agent.data.target?.position)&&(agent.data.target.position=void 0);const{forwardAxis:forwardAxis}=agent.data.state,currentDir=agent.data.state.linearDirection.clone(),{azimuth:azimuth}=getAzimuthElevationFromVector(currentDir,forwardAxis),totalLength=currentDir.length()||1,horizontalScale=Math.cos(elevationRad)*totalLength;let newX,newZ;if(forwardAxis===ForwardAxis.Z)newX=Math.sin(azimuth)*horizontalScale,newZ=Math.cos(azimuth)*horizontalScale;else{if(!ForwardAxis.X)throw new Error(`[KinematicTransformAgent]: Unknown forward axis: must be either ${ForwardAxis.Z} or ${ForwardAxis.X}`);newX=Math.cos(azimuth)*horizontalScale,newZ=Math.sin(azimuth)*horizontalScale}const newY=Math.sin(elevationRad)*totalLength;agent.data.state.linearDirection.set(newX,newY,newZ).normalize()},resetLinear(resetSpeed,resetDirection){resetSpeed&&agent.setLinearSpeed(0),resetDirection&&agent.setLinearDirection(new Vector3)},getAngularSpeed:()=>agent.data.state.angularSpeed,getAngularSpeedMps(){if(agent.data.state.radius<=0)throw new Error("Radius must be set and be greater than 0 to calculate angular speed.");return metersPerSecond(agent.data.state.angularSpeed*agent.data.state.radius)},setAngularSpeed(speed){agent.data.state.angularSpeed=speed},setAngularSpeedMps(speed){if(agent.data.state.radius<=0)throw new Error("Radius must be set and be greater than 0 to calculate angular speed.");agent.setAngularSpeed(speed/agent.data.state.radius)},getAngularDirection:()=>agent.data.state.angularDirection.clone(),setAngularDirection(direction){agent.data.state.angularDirection.copy(direction)},resetAngular(resetSpeed,resetDirection){resetSpeed&&agent.setAngularSpeed(0),resetDirection&&agent.setAngularDirection(new Quaternion)},serialize:()=>kinematicToConfig(agent),autoUpdate$:autoUpdate$});return kinematicSub$=combineLatest([agent.enabled$,agent.autoUpdate$]).pipe(switchMap(([isEnabled,isAutoUpdate])=>isEnabled&&isAutoUpdate?kinematicLoop.tick$:EMPTY)).subscribe(delta=>{!function(delta){if(agent.data.state.angularSpeed<=0)return;const rotationStep=agent.data.state.angularSpeed*(delta>0?delta:1);if(!agent.data.state.isInfiniteRotation&&isRotationReached(agent.data.target,agent.rotation$.value,agent.data.state))return;const stepRotation=getStepRotation(agent,rotationStep,agent.data.state.isInfiniteRotation);isNotDefined(stepRotation)||(agent.data.state.angularDirection.multiply(stepRotation).normalize(),agent.rotation$.next(agent.data.state.angularDirection))}(delta),function(delta){if(agent.data.state.linearSpeed<=0)return;if(isPointReached(agent.data.target,abstractTransformAgent.position$.value,agent.data.state))return;const safeDelta=delta>0?delta:1;linearDirection.copy(agent.data.state.linearDirection).normalize(),displacement.copy(linearDirection).multiplyScalar(agent.data.state.linearSpeed*safeDelta),abstractTransformAgent.position$.next(abstractTransformAgent.position$.value.clone().add(displacement))}(delta)}),agent}export{KinematicTransformAgent};
|
|
2
2
|
//# sourceMappingURL=KinematicTransformAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KinematicTransformAgent.js","sources":["../../../../src/TransformDrive/Entities/Agents/KinematicTransformAgent.ts"],"sourcesContent":["import { metersPerSecond } from '@Anarchy/Engine/Distance';\nimport { DefaultIsAutoUpdate, DefaultKinematicState, DefaultKinematicTarget, kinematicToConfig } 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 '@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 kinematicToConfig(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","kinematicToConfig","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, kinematicToConfig } 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 '@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 kinematicToConfig(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","kinematicToConfig","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{isNotDefined,isDefined}from"../../../
|
|
1
|
+
import{isNotDefined,isDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3,Quaternion}from"three";import{AbstractTransformAgent}from"./AbstractTransformAgent.js";import{meters,radians}from"../../../Measurements/Utils/MeasurementsUtils.js";import{takeWhile}from"../../../node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js";import{BehaviorSubject}from"../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{applyLatestTransform,getPhysicsBodyTransform}from"../../Utils/PhysicsTransformAgentUtils.js";import{withLatestFrom}from"../../../node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js";import{distinctUntilChanged}from"../../../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js";import{switchMap}from"../../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js";import{filter}from"../../../node_modules/rxjs/dist/esm5/internal/operators/filter.js";import{map}from"../../../node_modules/rxjs/dist/esm5/internal/operators/map.js";import{EMPTY}from"../../../node_modules/rxjs/dist/esm5/internal/observable/empty.js";import{TransformAgent}from"../../Constants/TransformAgent.js";import{RigidBodyTypesNames}from"../../../Physics/Constants/RigidBodyTypeNames.js";function PhysicsTransformAgent(params,{physicsLoop:physicsLoop}){const positionNoiseThreshold=params.performance?.positionNoiseThreshold??meters(1e-7),rotationNoiseThreshold=params.performance?.rotationNoiseThreshold??radians(1e-7),abstractTransformAgent=AbstractTransformAgent(params,TransformAgent.Physics),onDeactivated$Sub=abstractTransformAgent.onDeactivated$.pipe(takeWhile(()=>isNotDefined(params.onDeactivated))).subscribe(()=>{isNotDefined(params.onDeactivated)&&console.warn("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.")}),onActivated$Sub=abstractTransformAgent.onActivated$.subscribe(({position:position,rotation:rotation})=>{isNotDefined(physicsBody$.value)&&physicsBody$.next(params.physicsBody),applyLatestTransform(physicsBody$.value?.getRigidBody(),position,rotation)});let physicsSub$;const physicsBody$=new BehaviorSubject(void 0),agent=Object.assign(abstractTransformAgent,{physicsBody$:physicsBody$,serialize:()=>{const body=physicsBody$.value;if(isNotDefined(body))throw new Error(`[Serialization] [PhysicsTransformAgent]: physics body with name "${params.physicsBody.name}" is not defined for physics agent(id: "${agent.id}")`);return body.serialize()}});let previousPhysicsBodyType=physicsBody$.value?.getPhysicsBodyType()??RigidBodyTypesNames.Fixed;const prevBodyTypeSub=physicsBody$.subscribe(physicsBody=>{isNotDefined(physicsBody)||(previousPhysicsBodyType=physicsBody.getPhysicsBodyType())}),enabledSub$=agent.enabled$.pipe(withLatestFrom(physicsBody$),distinctUntilChanged(([prevEnabled,prevPhysicsBody],[enabled,physicsBody])=>prevEnabled===enabled&&prevPhysicsBody===physicsBody)).subscribe(([isEnabled,physicsBody])=>{isNotDefined(physicsBody?.getRigidBody())||physicsBody?.setPhysicsBodyType(isEnabled?previousPhysicsBodyType:RigidBodyTypesNames.KinematicPositionBased,!1)}),destroySub$=abstractTransformAgent.destroy$.subscribe(()=>{destroySub$.unsubscribe(),physicsSub$?.unsubscribe(),enabledSub$.unsubscribe(),prevBodyTypeSub.unsubscribe(),onDeactivated$Sub?.unsubscribe(),onActivated$Sub?.unsubscribe(),abstractTransformAgent.destroy$.next(),physicsBody$.complete()}),tmpPosition=new Float32Array(3),prevPosition=new Float32Array(3),tmpRotation=new Float32Array(4),prevRotation=new Float32Array(4);return physicsSub$=agent.enabled$.pipe(distinctUntilChanged(),switchMap(isEnabled=>isEnabled?physicsLoop.tick$:EMPTY),filter(()=>{const body=physicsBody$.value;return isDefined(body)&&body.getPhysicsBodyType()!==RigidBodyTypesNames.Fixed}),map(()=>getPhysicsBodyTransform(physicsBody$.value?.getRigidBody(),prevPosition,prevRotation,tmpPosition,tmpRotation,positionNoiseThreshold,rotationNoiseThreshold)),filter(isDefined)).subscribe(({position:position,rotation:rotation})=>{position&&agent.position$.next(new Vector3(position[0],position[1],position[2])),rotation&&agent.rotation$.next(new Quaternion(rotation[0],rotation[1],rotation[2],rotation[3]))}),agent}export{PhysicsTransformAgent};
|
|
2
2
|
//# sourceMappingURL=PhysicsTransformAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
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 '@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":"
|
|
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 '@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,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined}from"../../../
|
|
1
|
+
import{isNotDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Euler}from"three";function DriveToTargetConnector(drive,target,offsets){const{positionOffset:positionOffset,rotationOffset:rotationOffset,scaleOffset:scaleOffset}=offsets??{},positionSub$=drive.position$.subscribe(position=>isNotDefined(positionOffset)?target.position.copy(position):target.position.copy(position).add(positionOffset)),rotationSub$=drive.rotation$.subscribe(rotation=>{const rotationEuler=(new Euler).setFromQuaternion(rotation.clone());return isNotDefined(rotationOffset)?target.rotation.copy(rotationEuler):target.rotation.copy((new Euler).setFromQuaternion(rotation.clone().multiply(rotationOffset.clone())))}),scaleSub$=drive.scale$.subscribe(scale=>isNotDefined(scaleOffset)?target.scale.copy(scale):target.scale.copy(scale).add(scaleOffset)),destroySub$=drive.destroy$.subscribe(()=>{destroySub$.unsubscribe(),positionSub$.unsubscribe(),rotationSub$.unsubscribe(),scaleSub$.unsubscribe()});return{destroy$:drive.destroy$}}export{DriveToTargetConnector};
|
|
2
2
|
//# sourceMappingURL=DriveToTargetConnector.js.map
|
|
@@ -1 +1 @@
|
|
|
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 '@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":"
|
|
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 '@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,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined}from"../../../
|
|
1
|
+
import{isNotDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{nanoid}from"../../../packages/anarchy-engine/node_modules/nanoid/index.browser.js";import{merge}from"../../../node_modules/rxjs/dist/esm5/internal/observable/merge.js";import{map}from"../../../node_modules/rxjs/dist/esm5/internal/operators/map.js";import{BehaviorSubject}from"../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{distinctUntilChanged}from"../../../node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js";import{ReplaySubject}from"../../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js";import{filter}from"../../../node_modules/rxjs/dist/esm5/internal/operators/filter.js";import{updateFromActiveAgent,getDynamicAgents}from"../../Utils/TransformDriveUtils.js";import{transformDriveToConfig}from"../../Adapters/EntityToConfig.js";import{TransformAgent}from"../../Constants/TransformAgent.js";import{destroyableMixin}from"../../../Mixins/Generics/DestroyableMixin.js";import{radians,meters}from"../../../Measurements/Utils/MeasurementsUtils.js";function TransformDrive(params,agents){const id="transform_drive_"+nanoid(),relatedDriveIdSub$=merge(...Object.values(agents).map(agent=>(agent.relatedDriveId$.next(id),agent.relatedDriveId$.pipe(map(value=>({value:value,agent:agent})))))).subscribe(({value:value,agent:agent})=>{if(value!==id)throw new Error(`TransformDrive: Agent "${agent.type}" (${agent.id}) initialized in TransformDrive (${id}), but attempted to use in another TransformDrive (${value})`)}),agent$=new BehaviorSubject(params.activeAgent??TransformAgent.Default);let activeAgent=agents[agent$.value];if(isNotDefined(activeAgent))throw new Error(`TransformDrive: Can't set an active agent. Agent "${agent$.value}" is not defined`);const activeAgent$=new BehaviorSubject(activeAgent);if(isNotDefined(activeAgent$.value))throw new Error(`TransformDrive: Active agent ("${activeAgent$.value}") is not defined`);const agentSub$=agent$.subscribe(agent=>{const newAgent=agents[agent];if(isNotDefined(newAgent))throw new Error(`TransformDrive: Can't change an active agent for "${agent}": not defined`);activeAgent$.next(newAgent)}),position$=new BehaviorSubject(activeAgent$.value.position$.value),rotation$=new BehaviorSubject(activeAgent$.value.rotation$.value),scale$=new BehaviorSubject(activeAgent$.value.scale$.value);let prevAgent;const activeAgentSub$=activeAgent$.pipe(distinctUntilChanged((prev,curr)=>prev.type===curr.type)).subscribe(newAgent=>{const position=position$.value,rotation=rotation$.value,scale=scale$.value;prevAgent?.onDeactivated$.next({position:position,rotation:rotation,scale:scale}),Object.values(agents).forEach(agent=>{agent.enabled$.next(agent.type===newAgent.type),agent.position$.next(position),agent.rotation$.next(rotation),agent.scale$.next(scale)}),newAgent.onActivated$.next({position:position,rotation:rotation,scale:scale}),prevAgent=newAgent}),activeAgentRep$=new ReplaySubject(1);activeAgent$.subscribe(agent=>activeAgentRep$.next(agent)),position$.pipe(filter(value=>value!==activeAgent$.value.position$.value)).subscribe(value=>activeAgent$.value.position$.next(value)),rotation$.pipe(filter(value=>value!==activeAgent$.value.rotation$.value)).subscribe(value=>activeAgent$.value.rotation$.next(value)),scale$.pipe(filter(value=>value!==activeAgent$.value.scale$.value)).subscribe(value=>activeAgent$.value.scale$.next(value));const destroyable=destroyableMixin(),performance={positionNoiseThreshold:params.performance?.positionNoiseThreshold??meters(1e-7),rotationNoiseThreshold:params.performance?.rotationNoiseThreshold??radians(1e-7),scaleNoiseThreshold:params.performance?.scaleNoiseThreshold??1e-7},positionSub$=updateFromActiveAgent(activeAgent$,"position$",{threshold:performance.positionNoiseThreshold}).subscribe(v=>position$.next(v)),rotationSub$=updateFromActiveAgent(activeAgent$,"rotation$",{threshold:performance.rotationNoiseThreshold}).subscribe(r=>rotation$.next(r)),scaleSub$=updateFromActiveAgent(activeAgent$,"scale$",{threshold:performance.scaleNoiseThreshold}).subscribe(s=>scale$.next(s)),result={...destroyable,id:id,agent$:agent$,activeAgent$:activeAgentRep$,getActiveAgent:()=>activeAgent$.value,position$:position$,rotation$:rotation$,scale$:scale$,relatedEntityId:params.relatedEntityId,serialize:()=>transformDriveToConfig(result),...getDynamicAgents(agents)},destroySub$=destroyable.destroy$.subscribe(()=>{positionSub$.unsubscribe(),rotationSub$.unsubscribe(),scaleSub$.unsubscribe(),agentSub$.unsubscribe(),activeAgentSub$.unsubscribe(),relatedDriveIdSub$.unsubscribe(),agent$.complete(),activeAgent$.complete(),activeAgentRep$.complete(),position$.complete(),rotation$.complete(),scale$.complete(),activeAgent=null,prevAgent=null,Object.values(agents).forEach(agent=>agent.destroy$.next()),destroySub$.unsubscribe()});return result}export{TransformDrive};
|
|
2
2
|
//# sourceMappingURL=TransformDrive.js.map
|
|
@@ -1 +1 @@
|
|
|
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 '@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 '@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{isDefined}from"../../
|
|
1
|
+
import{isDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3,Quaternion}from"three";import{getKinematicTransformAgent}from"../Utils/AgentUtils.js";import{PhysicsTransformAgent}from"../Entities/Agents/PhysicsTransformAgent.js";import{ConnectedTransformAgent}from"../Entities/Agents/ConnectedTransformAgent.js";import{DefaultTransformAgent}from"../Entities/Agents/DefaultTransformAgent.js";import{AbstractService}from"../../Abstract/Services/AbstractService.js";import{mergeAll}from"../../Utils/ObjectUtils.js";import{withSerializableEntities}from"../../Mixins/Services/WithSerializableEntities.js";import{toQuaternion}from"../../Math/Utils/AnglesUtils.js";import{TransformAgent}from"../Constants/TransformAgent.js";import{withRegistryService}from"../../Mixins/Services/WithRegistryService.js";import{withFactoryService}from"../../Mixins/Services/WithFactoryService.js";function TransformDriveService(factory,registry,{loopService:loopService}){const factorySub$=factory.entityCreated$.subscribe(entity=>registry.add(entity)),abstractService=AbstractService([registry,factory,factorySub$]),create=(params,agents)=>factory.create({params:params,agents:agents},void 0),withFactory=withFactoryService(factory),withRegistry=withRegistryService(registry);return mergeAll(abstractService,withFactory,withRegistry,withSerializableEntities(registry),{create:create,createFromList:(paramsList,agentsList)=>{if(paramsList.length!==agentsList.length)throw new Error("TransformDriveService: paramsList and agentsList should have the same length");return paramsList.map((p,i)=>create(p,agentsList[i]))},getTransformAgents:function({position:position,rotation:rotation,scale:scale,kinematic:kinematic,physicsBody:physicsBody},{hasKinematic:hasKinematic,hasPhysics:hasPhysics,hasConnected:hasConnected}){const result={},agentParams={position:position,rotation:rotation?toQuaternion(rotation):new Quaternion,scale:scale??new Vector3(1,1,1),onDeactivated:void 0,onActivated:void 0};if(hasKinematic){const kinematicLoop=loopService.getKinematicLoop();result[TransformAgent.Kinematic]=getKinematicTransformAgent(agentParams,kinematic,{kinematicLoop:kinematicLoop})}if(hasPhysics&&isDefined(physicsBody)){const physicsLoop=loopService.getPhysicsLoop();result[TransformAgent.Physics]=PhysicsTransformAgent({...agentParams,physicsBody:physicsBody},{physicsLoop:physicsLoop})}return hasConnected&&(result[TransformAgent.Connected]=ConnectedTransformAgent(agentParams)),result[TransformAgent.Default]=DefaultTransformAgent(agentParams),result}})}export{TransformDriveService};
|
|
2
2
|
//# sourceMappingURL=TransformDriveService.js.map
|