@hellpig/anarchy-engine 22.0.2 → 22.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
- package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
- package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
- package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
- package/dist/Abstract/Models/THtmlElementStyleDeclaration.d.ts +4 -4
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractWatcherRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
- package/dist/Abstract/Services/AbstractService.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
- package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
- package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
- package/dist/Actor/Factories/ActorFactory.js.map +1 -1
- package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
- package/dist/Actor/Registries/ActorRegistry.js.map +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
- package/dist/Actor/Services/ActorService.js.map +1 -1
- package/dist/Actor/TransformDrive/ActorTransformDrive.js.map +1 -1
- package/dist/Actor/Utils/ActorUtils.js.map +1 -1
- package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
- package/dist/Animations/Registries/AnimationsMetaInfoRegistry.js.map +1 -1
- package/dist/Animations/Registries/AnimationsResourceAsyncRegistry.js.map +1 -1
- package/dist/Animations/Services/AnimationsService.js.map +1 -1
- package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
- package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Audio/Factories/AudioFactory.js.map +1 -1
- package/dist/Audio/Loader/AudioLoader.js.map +1 -1
- package/dist/Audio/Registries/AudioListenersRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioMetaInfoRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioResourceAsyncRegistry.js.map +1 -1
- package/dist/Audio/Services/AudioService.js.map +1 -1
- package/dist/Audio/TransformDrive/Audio3dTransformDrive.js.map +1 -1
- package/dist/Audio/Utils/AudioUtils.js.map +1 -1
- package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/AudioWrapper.js.map +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Camera/Factories/CameraFactory.js.map +1 -1
- package/dist/Camera/Registries/AbstractCameraRegistry.js.map +1 -1
- package/dist/Camera/Services/CameraService.js.map +1 -1
- package/dist/Camera/TransformDrive/CameraTransformDrive.js.map +1 -1
- package/dist/Camera/Utils/CameraUtils.js.map +1 -1
- package/dist/Camera/Wrappers/Accessors.js.map +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
- package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
- package/dist/Collisions/Services/BvhService.js.map +1 -1
- package/dist/Collisions/Services/CollisionsService.js.map +1 -1
- package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
- package/dist/Context/AmbientContext/AmbientContext.js.map +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
- package/dist/Controls/Loop/ControlsLoopEffect.js.map +1 -1
- package/dist/Controls/Registries/ControlsRegistry.js.map +1 -1
- package/dist/Controls/Services/ControlsService.js.map +1 -1
- package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
- package/dist/Distance/Utils/DistanceUtils.js.map +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
- package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapMetaInfoRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapTextureAsyncRegistry.js.map +1 -1
- package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fog/Factories/FogFactory.js.map +1 -1
- package/dist/Fog/Registries/FogRegistry.js.map +1 -1
- package/dist/Fog/Services/FogService.js.map +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fsm/Entities/FsmSource.js.map +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
- package/dist/Fsm/Registries/FsmInstanceRegistry.js.map +1 -1
- package/dist/Fsm/Registries/FsmSourceRegistry.js.map +1 -1
- package/dist/Fsm/Services/FsmInstanceService.js.map +1 -1
- package/dist/Fsm/Services/FsmService.js.map +1 -1
- package/dist/Fsm/Services/FsmSourceService.js.map +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
- package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
- package/dist/Global/Utils/ContainerUtils.js.map +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
- package/dist/Intersections/Registries/IntersectionsWatcherRegistry.js.map +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
- package/dist/Keyboard/Factories/KeyWatcherFactory.js.map +1 -1
- package/dist/Keyboard/Registries/KeyWatcherRegistry.js.map +1 -1
- package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
- package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
- package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
- package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Light/Factories/LightFactory.js.map +1 -1
- package/dist/Light/Registries/LightRegistry.js.map +1 -1
- package/dist/Light/Services/LightService.js.map +1 -1
- package/dist/Light/TransformDrive/LightTransformDrive.js.map +1 -1
- package/dist/Light/Utils/Utils.js.map +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
- package/dist/LoadingManager/Factories/LoadingManagerFactory.js.map +1 -1
- package/dist/LoadingManager/Registries/LoadingManagerRegistry.js.map +1 -1
- package/dist/LoadingManager/Services/LoadingManagerService.js.map +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
- package/dist/Loop/Constants/LoopsDefaultSettings.js.map +1 -1
- package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
- package/dist/Loop/Entities/Loop.js.map +1 -1
- package/dist/Loop/Factories/LoopFactory.js.map +1 -1
- package/dist/Loop/Registries/LoopRegistry.js.map +1 -1
- package/dist/Loop/Services/LoopService.js.map +1 -1
- package/dist/Loop/Utils/LoopDebugUtils.js.map +1 -1
- package/dist/Loop/Utils/LoopUtils.js.map +1 -1
- package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
- package/dist/Material/Factories/MaterialFactory.js.map +1 -1
- package/dist/Material/Mixins/WithMaterial.js.map +1 -1
- package/dist/Material/Registries/MaterialRegistry.js.map +1 -1
- package/dist/Material/Services/MaterialService.js.map +1 -1
- package/dist/Material/Utils/MaterialUtils.js.map +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
- package/dist/Math/Utils/AnglesUtils.js.map +1 -1
- package/dist/Math/Utils/DistanceUtils.js.map +1 -1
- package/dist/Measurements/Constants/Distance.js.map +1 -1
- package/dist/Measurements/Constants/Time.js.map +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.d.ts +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPositionMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/WithObject3D.js.map +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithNameAndNameAccessorsMixin.js.map +1 -1
- package/dist/Mixins/Services/WithCreateFromConfigService.js.map +1 -1
- package/dist/Mixins/Services/WithCreateService.js.map +1 -1
- package/dist/Mixins/Services/WithFactoryService.js.map +1 -1
- package/dist/Mixins/Services/WithRegistryService.js.map +1 -1
- package/dist/Mixins/Services/WithSceneGetterService.js.map +1 -1
- package/dist/Mixins/Services/WithSerializableEntities.js.map +1 -1
- package/dist/Mixins/Services/WithSerializeAllResources.js.map +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Models3d/Entities/Model3d.js.map +1 -1
- package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
- package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
- package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
- package/dist/Models3d/Registries/Model3dRawToModel3dConnectionRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dMetaInfoRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dResourceAsyncRegistry.js.map +1 -1
- package/dist/Models3d/Services/Models3dService.js.map +1 -1
- package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
- package/dist/Mouse/Factories/MouseClickWatcherFactory.js.map +1 -1
- package/dist/Mouse/Factories/MousePositionWatcherFactory.js.map +1 -1
- package/dist/Mouse/Registries/MouseClickWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Registries/MousePositionWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Services/MouseService.js.map +1 -1
- package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
- package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
- package/dist/Particles/Registries/ParticlesRegistry.js.map +1 -1
- package/dist/Particles/Services/ParticlesService.js.map +1 -1
- package/dist/Particles/TransformDrive/ParticlesTransformDrive.js.map +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
- package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.d.ts +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.d.ts +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
- package/dist/Physics/Mixins/WithPhysicsBodyEntities.js.map +1 -1
- package/dist/Physics/Models/TPhysicsWorldService.d.ts +1 -1
- package/dist/Physics/Registries/PhysicsBodyRegistry.js.map +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.d.ts +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
- package/dist/Physics/Services/PhysicsBodyService.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.map +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.d.ts +2 -2
- package/dist/Physics/Utils/PhysicsMovementUtils.js +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
- package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererParamsAccessors.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererPropsAccessors.js.map +1 -1
- package/dist/Renderer/Registries/RendererRegistry.js.map +1 -1
- package/dist/Renderer/Services/RendererService.js.map +1 -1
- package/dist/Renderer/Wrappers/Accessors.js.map +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
- package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Scene/Factories/SceneFactory.js.map +1 -1
- package/dist/Scene/Registries/SceneRegistry.js.map +1 -1
- package/dist/Scene/Services/ScenesService.js.map +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
- package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Space/Entities/Space.js.map +1 -1
- package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
- package/dist/Space/Factories/SpaceFactory.js.map +1 -1
- package/dist/Space/Registries/SpaceRegistry.js.map +1 -1
- package/dist/Space/Services/SpaceService.js.map +1 -1
- package/dist/Space/Utils/CanvasUtils.js.map +1 -1
- package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
- package/dist/Space/Utils/CreateLoopsUtils.js.map +1 -1
- package/dist/Space/Utils/LoadResourcesUtils.js.map +1 -1
- package/dist/Space/Utils/PrepareServicesUtils.js.map +1 -1
- package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
- package/dist/Space/Validators/SchemasValidator.js.map +1 -1
- package/dist/Space/Validators/ValidateConfig.js.map +1 -1
- package/dist/Space/Validators/ValidateSpace.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
- package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
- package/dist/Spatial/Registries/SpatialGridRegistry.js.map +1 -1
- package/dist/Spatial/Services/SpatialGridService.js.map +1 -1
- package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
- package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Text/Factories/TextFactory.js.map +1 -1
- package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
- package/dist/Text/Registries/Text2dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text2dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dTextureRegistry.js.map +1 -1
- package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
- package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
- package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
- package/dist/Text/Services/TextService.js.map +1 -1
- package/dist/Text/TransformDrive/TextTransformDrive.js.map +1 -1
- package/dist/Text/Utils/TextUtils.js.map +1 -1
- package/dist/Text/Wrappers/Accessors.js.map +1 -1
- package/dist/Text/Wrappers/Text2dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperBuilder.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
- package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
- package/dist/Texture/Registries/TextureMetaInfoRegistry.js.map +1 -1
- package/dist/Texture/Registries/TextureResourceAsyncRegistry.js.map +1 -1
- package/dist/Texture/Services/TextureService.js.map +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/ConnectedTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/DefaultTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
- package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
- package/dist/TransformDrive/Factories/TransformDriveFactory.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutablePositionConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableRotationConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableScaleConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithProxyTransform.js.map +1 -1
- package/dist/TransformDrive/Registries/TransformDriveRegistry.js.map +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
- package/dist/TransformDrive/Utils/ActorDriveUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.d.ts +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
- package/dist/Utils/CheckUtils.js.map +1 -1
- package/dist/Utils/CoordsUtils.js.map +1 -1
- package/dist/Utils/DestroyUtils.js.map +1 -1
- package/dist/Utils/DomUtils.js.map +1 -1
- package/dist/Utils/EntityUtils.js.map +1 -1
- package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
- package/dist/Utils/RegistryUtils.js.map +1 -1
- package/dist/Utils/RxJsUtils.js.map +1 -1
- package/dist/Utils/ScreenUtils.js.map +1 -1
- package/dist/Utils/TagsUtils.js.map +1 -1
- package/dist/Utils/TransformUtils.js.map +1 -1
- package/dist/Utils/WrapperHelpers.js.map +1 -1
- package/dist/assets/Loop.worker-D1bMWlsN.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -1
- package/legal/NOTICE.md +1 -1
- package/legal/THIRD_PARTY_LICENSES.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnglesUtils.js","sources":["../../../src/Math/Utils/AnglesUtils.ts"],"sourcesContent":["import { metersPerSecond, radiansPerSecond } from '@Anarchy/Engine/Distance';\nimport { ForwardAxis } from '@Anarchy/Engine/Kinematic/Constants';\nimport type { TDegrees, TMetersPerSecond, TRadians, TRadiansPerSecond } from '@Anarchy/Engine/Math/Types';\nimport type { TEulerLike } from '@Anarchy/Engine/ThreeLib';\nimport { isEulerLike, isQuaternionLike } from '@Anarchy/Engine/Utils/CheckUtils';\nimport type { EulerOrder, QuaternionLike, Vector3Like } from 'three';\nimport { Euler, Quaternion, Vector3 } from 'three';\nimport { degToRad, euclideanModulo, radToDeg } from 'three/src/math/MathUtils';\n\nexport function getHorizontalAzimuth(x: number, z: number, point: Vector3Like, forwardAxis: ForwardAxis): TRadians {\n const dx: number = point.x - x;\n const dz: number = point.z - z;\n\n let azimuthRad: number = Math.atan2(dz, dx);\n if (forwardAxis.toLocaleLowerCase() === 'Z'.toLocaleLowerCase()) azimuthRad = -azimuthRad + Math.PI / 2;\n azimuthRad = euclideanModulo(azimuthRad, Math.PI * 2);\n\n return azimuthRad as TRadians;\n}\n\n// TODO add unit tests\nexport function getElevation(x: number, y: number, z: number, point: Vector3Like): TRadians {\n const dx: number = point.x - x;\n const dy: number = point.y - y;\n const dz: number = point.z - z;\n\n const horizontalDistance: number = Math.sqrt(dx ** 2 + dz ** 2);\n\n return Math.atan2(dy, horizontalDistance) as TRadians;\n}\n\n// TODO add unit tests\nexport function getAzimuthElevationFromQuaternion(q: Quaternion): { azimuth: TRadians; elevation: TRadians } {\n const { x, y, z, w } = q;\n\n const azimuth: TRadians = Math.atan2(2 * (w * z + x * y), 1 - 2 * (y * y + z * z)) as TRadians;\n const elevation: TRadians = Math.asin(2 * (w * y - z * x)) as TRadians;\n\n return { azimuth, elevation };\n}\n\nexport function getAzimuthElevationFromVector(v: Vector3Like, forwardAxis: ForwardAxis): { azimuth: TRadians; elevation: TRadians } {\n let azimuth: TRadians;\n\n if (forwardAxis === ForwardAxis.Z) {\n azimuth = Math.atan2(v.x, v.z) as TRadians;\n } else {\n azimuth = Math.atan2(v.z, v.x) as TRadians;\n }\n\n const elevation: TRadians = Math.atan2(v.y, Math.sqrt(v.x * v.x + v.z * v.z)) as TRadians;\n\n return { azimuth: euclideanModulo(azimuth, Math.PI * 2) as TRadians, elevation };\n}\n\n// TODO add unit tests\nexport const getAzimuthFromDirection = (direction: Vector3Like): TRadians => {\n let azimuth: TRadians = Math.atan2(direction.z, direction.x) as TRadians;\n if (azimuth < 0) (azimuth as number) += 2 * Math.PI;\n return azimuth;\n};\n\n// TODO add unit tests\nexport const getAzimuthFromQuaternionDirection = (quaternion: QuaternionLike): TRadians => {\n const { x, y, z, w } = quaternion;\n\n // Calculate azimuth using the quaternion components\n const sinY: number = 2 * (w * y + z * x);\n const cosY: number = 1 - 2 * (x * x + y * y);\n\n let azimuth: TRadians = Math.atan2(sinY, cosY) as TRadians;\n\n // Normalize azimuth to range [0, 2π]\n if (azimuth < 0) (azimuth as number) += 2 * Math.PI;\n\n return azimuth;\n};\n\n// TODO add unit tests\nexport const getElevationFromDirection = (direction: Vector3Like): TRadians => Math.atan2(direction.y, Math.sqrt(direction.x ** 2 + direction.z ** 2)) as TRadians;\n// TODO add unit tests\nexport const getElevationFromQuaternionDirection = (quaternion: QuaternionLike): TRadians => {\n const { x, y, z, w } = quaternion;\n return Math.asin(2 * (w * x - y * z)) as TRadians;\n};\n\n// TODO add unit tests\nexport const getDirectionFromLinearVelocity = (linearVelocity: Vector3): Vector3 => linearVelocity.clone().normalize();\n// TODO add unit tests\nexport const getSpeedFromLinearVelocity = (linearVelocity: Vector3): TMetersPerSecond => metersPerSecond(linearVelocity.length());\n// TODO add unit tests\nexport const getLinearVelocityByDeg = (speed: TMetersPerSecond, azimuth: TDegrees, elevation: TDegrees): Vector3 => {\n const azimuthRad: TRadians = degToRad(azimuth) as TRadians;\n const elevationRad: TRadians = degToRad(elevation) as TRadians;\n return new Vector3(speed * Math.cos(elevationRad) * Math.cos(azimuthRad), speed * Math.sin(elevationRad), speed * Math.cos(elevationRad) * Math.sin(azimuthRad));\n};\n\n// TODO add unit tests\nexport const getLinearVelocity = (speed: TMetersPerSecond, azimuth: TRadians, elevation: TRadians): Vector3 =>\n new Vector3(speed * Math.cos(elevation) * Math.cos(azimuth), speed * Math.sin(elevation), speed * Math.cos(elevation) * Math.sin(azimuth));\n\n// TODO add unit tests\nexport const getSpeedFromAngularVelocity = (angularVelocity: Quaternion): TRadiansPerSecond => radiansPerSecond(angularVelocity.length());\n\n// TODO add unit tests\nexport const getDirectionFromAngularVelocity = (angularVelocity: Quaternion): Quaternion => angularVelocity.clone().normalize();\n\n// TODO add unit tests\nexport function get3DAzimuth(center: Vector3Like, point: Vector3Like): { azimuth: TRadians; elevation: TRadians } {\n const dx: number = point.x - center.x;\n const dy: number = point.y - center.y;\n const dz: number = point.z - center.z;\n\n let azimuth: number = Math.atan2(dz, dx);\n\n // Ensure azimuth is in range [0, 2π]\n if (azimuth < 0) azimuth += 2 * Math.PI;\n\n const horizontalDistance: number = Math.sqrt(dx * dx + dz * dz);\n const elevation: number = Math.atan2(dy, horizontalDistance);\n\n return {\n azimuth: azimuth as TRadians,\n elevation: elevation as TRadians\n };\n}\n\n// TODO add unit tests\nexport function degreesToEuler(degrees: Vector3Like): Vector3 {\n const radians = {\n x: degToRad(degrees.x),\n y: degToRad(degrees.y),\n z: degToRad(degrees.z)\n };\n\n return new Vector3(radians.x, radians.y, radians.z);\n}\n\n// TODO add unit tests\nexport function degreesToQuaternion(degrees: Vector3Like): Quaternion {\n const radians = {\n x: degToRad(degrees.x),\n y: degToRad(degrees.y),\n z: degToRad(degrees.z)\n };\n\n const euler: Euler = new Euler(radians.x, radians.y, radians.z);\n return new Quaternion().setFromEuler(euler);\n}\n\n// TODO add unit tests\nexport function quaternionToDegrees(quaternion: QuaternionLike): Vector3 {\n const q: Quaternion = new Quaternion(quaternion.x, quaternion.y, quaternion.z, quaternion.w);\n const euler: Euler = new Euler().setFromQuaternion(q, 'XYZ');\n\n return new Vector3(radToDeg(euler.x), radToDeg(euler.y), radToDeg(euler.z));\n}\n\nexport function applyRotationOffsetWithReorder(target: Euler, source: Euler, offset: Euler, order: EulerOrder = 'XYZ'): void {\n source.reorder(order);\n\n target.set(source.x + offset.x, source.y + offset.y, source.z + offset.z, order);\n\n target.set(euclideanModulo(target.x + Math.PI, Math.PI * 2) - Math.PI, euclideanModulo(target.y + Math.PI, Math.PI * 2) - Math.PI, euclideanModulo(target.z + Math.PI, Math.PI * 2) - Math.PI);\n}\n\nexport function toQuaternion(quaternionOrEuler: QuaternionLike | TEulerLike): Quaternion | never {\n if (isQuaternionLike(quaternionOrEuler)) return new Quaternion(quaternionOrEuler.x, quaternionOrEuler.y, quaternionOrEuler.z, quaternionOrEuler.w);\n if (isEulerLike(quaternionOrEuler)) return new Quaternion().setFromEuler(new Euler(quaternionOrEuler.x, quaternionOrEuler.y, quaternionOrEuler.z));\n throw new Error('Entity must be Quaternion or Euler, but it is something else');\n}\n"],"names":["getHorizontalAzimuth","x","z","point","forwardAxis","azimuthRad","Math","atan2","toLocaleLowerCase","PI","euclideanModulo","getElevation","y","dy","horizontalDistance","sqrt","getAzimuthElevationFromQuaternion","q","w","azimuth","elevation","asin","getAzimuthElevationFromVector","v","ForwardAxis","Z","getAzimuthFromDirection","direction","getAzimuthFromQuaternionDirection","quaternion","getElevationFromDirection","getElevationFromQuaternionDirection","getDirectionFromLinearVelocity","linearVelocity","clone","normalize","getSpeedFromLinearVelocity","metersPerSecond","length","getLinearVelocityByDeg","speed","degToRad","elevationRad","Vector3","cos","sin","getLinearVelocity","getSpeedFromAngularVelocity","angularVelocity","radiansPerSecond","getDirectionFromAngularVelocity","get3DAzimuth","center","dx","dz","degreesToEuler","degrees","radians","degreesToQuaternion","euler","Euler","Quaternion","setFromEuler","quaternionToDegrees","setFromQuaternion","radToDeg","applyRotationOffsetWithReorder","target","source","offset","order","reorder","set","toQuaternion","quaternionOrEuler","isQuaternionLike","isEulerLike","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnglesUtils.js","sources":["../../../src/Math/Utils/AnglesUtils.ts"],"sourcesContent":["import { metersPerSecond, radiansPerSecond } from '@hellpig/anarchy-engine/Distance';\nimport { ForwardAxis } from '@hellpig/anarchy-engine/Kinematic/Constants';\nimport type { TDegrees, TMetersPerSecond, TRadians, TRadiansPerSecond } from '@hellpig/anarchy-engine/Math/Types';\nimport type { TEulerLike } from '@hellpig/anarchy-engine/ThreeLib';\nimport { isEulerLike, isQuaternionLike } from '@hellpig/anarchy-engine/Utils/CheckUtils';\nimport type { EulerOrder, QuaternionLike, Vector3Like } from 'three';\nimport { Euler, Quaternion, Vector3 } from 'three';\nimport { degToRad, euclideanModulo, radToDeg } from 'three/src/math/MathUtils';\n\nexport function getHorizontalAzimuth(x: number, z: number, point: Vector3Like, forwardAxis: ForwardAxis): TRadians {\n const dx: number = point.x - x;\n const dz: number = point.z - z;\n\n let azimuthRad: number = Math.atan2(dz, dx);\n if (forwardAxis.toLocaleLowerCase() === 'Z'.toLocaleLowerCase()) azimuthRad = -azimuthRad + Math.PI / 2;\n azimuthRad = euclideanModulo(azimuthRad, Math.PI * 2);\n\n return azimuthRad as TRadians;\n}\n\n// TODO add unit tests\nexport function getElevation(x: number, y: number, z: number, point: Vector3Like): TRadians {\n const dx: number = point.x - x;\n const dy: number = point.y - y;\n const dz: number = point.z - z;\n\n const horizontalDistance: number = Math.sqrt(dx ** 2 + dz ** 2);\n\n return Math.atan2(dy, horizontalDistance) as TRadians;\n}\n\n// TODO add unit tests\nexport function getAzimuthElevationFromQuaternion(q: Quaternion): { azimuth: TRadians; elevation: TRadians } {\n const { x, y, z, w } = q;\n\n const azimuth: TRadians = Math.atan2(2 * (w * z + x * y), 1 - 2 * (y * y + z * z)) as TRadians;\n const elevation: TRadians = Math.asin(2 * (w * y - z * x)) as TRadians;\n\n return { azimuth, elevation };\n}\n\nexport function getAzimuthElevationFromVector(v: Vector3Like, forwardAxis: ForwardAxis): { azimuth: TRadians; elevation: TRadians } {\n let azimuth: TRadians;\n\n if (forwardAxis === ForwardAxis.Z) {\n azimuth = Math.atan2(v.x, v.z) as TRadians;\n } else {\n azimuth = Math.atan2(v.z, v.x) as TRadians;\n }\n\n const elevation: TRadians = Math.atan2(v.y, Math.sqrt(v.x * v.x + v.z * v.z)) as TRadians;\n\n return { azimuth: euclideanModulo(azimuth, Math.PI * 2) as TRadians, elevation };\n}\n\n// TODO add unit tests\nexport const getAzimuthFromDirection = (direction: Vector3Like): TRadians => {\n let azimuth: TRadians = Math.atan2(direction.z, direction.x) as TRadians;\n if (azimuth < 0) (azimuth as number) += 2 * Math.PI;\n return azimuth;\n};\n\n// TODO add unit tests\nexport const getAzimuthFromQuaternionDirection = (quaternion: QuaternionLike): TRadians => {\n const { x, y, z, w } = quaternion;\n\n // Calculate azimuth using the quaternion components\n const sinY: number = 2 * (w * y + z * x);\n const cosY: number = 1 - 2 * (x * x + y * y);\n\n let azimuth: TRadians = Math.atan2(sinY, cosY) as TRadians;\n\n // Normalize azimuth to range [0, 2π]\n if (azimuth < 0) (azimuth as number) += 2 * Math.PI;\n\n return azimuth;\n};\n\n// TODO add unit tests\nexport const getElevationFromDirection = (direction: Vector3Like): TRadians => Math.atan2(direction.y, Math.sqrt(direction.x ** 2 + direction.z ** 2)) as TRadians;\n// TODO add unit tests\nexport const getElevationFromQuaternionDirection = (quaternion: QuaternionLike): TRadians => {\n const { x, y, z, w } = quaternion;\n return Math.asin(2 * (w * x - y * z)) as TRadians;\n};\n\n// TODO add unit tests\nexport const getDirectionFromLinearVelocity = (linearVelocity: Vector3): Vector3 => linearVelocity.clone().normalize();\n// TODO add unit tests\nexport const getSpeedFromLinearVelocity = (linearVelocity: Vector3): TMetersPerSecond => metersPerSecond(linearVelocity.length());\n// TODO add unit tests\nexport const getLinearVelocityByDeg = (speed: TMetersPerSecond, azimuth: TDegrees, elevation: TDegrees): Vector3 => {\n const azimuthRad: TRadians = degToRad(azimuth) as TRadians;\n const elevationRad: TRadians = degToRad(elevation) as TRadians;\n return new Vector3(speed * Math.cos(elevationRad) * Math.cos(azimuthRad), speed * Math.sin(elevationRad), speed * Math.cos(elevationRad) * Math.sin(azimuthRad));\n};\n\n// TODO add unit tests\nexport const getLinearVelocity = (speed: TMetersPerSecond, azimuth: TRadians, elevation: TRadians): Vector3 =>\n new Vector3(speed * Math.cos(elevation) * Math.cos(azimuth), speed * Math.sin(elevation), speed * Math.cos(elevation) * Math.sin(azimuth));\n\n// TODO add unit tests\nexport const getSpeedFromAngularVelocity = (angularVelocity: Quaternion): TRadiansPerSecond => radiansPerSecond(angularVelocity.length());\n\n// TODO add unit tests\nexport const getDirectionFromAngularVelocity = (angularVelocity: Quaternion): Quaternion => angularVelocity.clone().normalize();\n\n// TODO add unit tests\nexport function get3DAzimuth(center: Vector3Like, point: Vector3Like): { azimuth: TRadians; elevation: TRadians } {\n const dx: number = point.x - center.x;\n const dy: number = point.y - center.y;\n const dz: number = point.z - center.z;\n\n let azimuth: number = Math.atan2(dz, dx);\n\n // Ensure azimuth is in range [0, 2π]\n if (azimuth < 0) azimuth += 2 * Math.PI;\n\n const horizontalDistance: number = Math.sqrt(dx * dx + dz * dz);\n const elevation: number = Math.atan2(dy, horizontalDistance);\n\n return {\n azimuth: azimuth as TRadians,\n elevation: elevation as TRadians\n };\n}\n\n// TODO add unit tests\nexport function degreesToEuler(degrees: Vector3Like): Vector3 {\n const radians = {\n x: degToRad(degrees.x),\n y: degToRad(degrees.y),\n z: degToRad(degrees.z)\n };\n\n return new Vector3(radians.x, radians.y, radians.z);\n}\n\n// TODO add unit tests\nexport function degreesToQuaternion(degrees: Vector3Like): Quaternion {\n const radians = {\n x: degToRad(degrees.x),\n y: degToRad(degrees.y),\n z: degToRad(degrees.z)\n };\n\n const euler: Euler = new Euler(radians.x, radians.y, radians.z);\n return new Quaternion().setFromEuler(euler);\n}\n\n// TODO add unit tests\nexport function quaternionToDegrees(quaternion: QuaternionLike): Vector3 {\n const q: Quaternion = new Quaternion(quaternion.x, quaternion.y, quaternion.z, quaternion.w);\n const euler: Euler = new Euler().setFromQuaternion(q, 'XYZ');\n\n return new Vector3(radToDeg(euler.x), radToDeg(euler.y), radToDeg(euler.z));\n}\n\nexport function applyRotationOffsetWithReorder(target: Euler, source: Euler, offset: Euler, order: EulerOrder = 'XYZ'): void {\n source.reorder(order);\n\n target.set(source.x + offset.x, source.y + offset.y, source.z + offset.z, order);\n\n target.set(euclideanModulo(target.x + Math.PI, Math.PI * 2) - Math.PI, euclideanModulo(target.y + Math.PI, Math.PI * 2) - Math.PI, euclideanModulo(target.z + Math.PI, Math.PI * 2) - Math.PI);\n}\n\nexport function toQuaternion(quaternionOrEuler: QuaternionLike | TEulerLike): Quaternion | never {\n if (isQuaternionLike(quaternionOrEuler)) return new Quaternion(quaternionOrEuler.x, quaternionOrEuler.y, quaternionOrEuler.z, quaternionOrEuler.w);\n if (isEulerLike(quaternionOrEuler)) return new Quaternion().setFromEuler(new Euler(quaternionOrEuler.x, quaternionOrEuler.y, quaternionOrEuler.z));\n throw new Error('Entity must be Quaternion or Euler, but it is something else');\n}\n"],"names":["getHorizontalAzimuth","x","z","point","forwardAxis","azimuthRad","Math","atan2","toLocaleLowerCase","PI","euclideanModulo","getElevation","y","dy","horizontalDistance","sqrt","getAzimuthElevationFromQuaternion","q","w","azimuth","elevation","asin","getAzimuthElevationFromVector","v","ForwardAxis","Z","getAzimuthFromDirection","direction","getAzimuthFromQuaternionDirection","quaternion","getElevationFromDirection","getElevationFromQuaternionDirection","getDirectionFromLinearVelocity","linearVelocity","clone","normalize","getSpeedFromLinearVelocity","metersPerSecond","length","getLinearVelocityByDeg","speed","degToRad","elevationRad","Vector3","cos","sin","getLinearVelocity","getSpeedFromAngularVelocity","angularVelocity","radiansPerSecond","getDirectionFromAngularVelocity","get3DAzimuth","center","dx","dz","degreesToEuler","degrees","radians","degreesToQuaternion","euler","Euler","Quaternion","setFromEuler","quaternionToDegrees","setFromQuaternion","radToDeg","applyRotationOffsetWithReorder","target","source","offset","order","reorder","set","toQuaternion","quaternionOrEuler","isQuaternionLike","isEulerLike","Error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DistanceUtils.js","sources":["../../../src/Math/Utils/DistanceUtils.ts"],"sourcesContent":["import type { TReadonlyVector3 } from '@
|
|
1
|
+
{"version":3,"file":"DistanceUtils.js","sources":["../../../src/Math/Utils/DistanceUtils.ts"],"sourcesContent":["import type { TReadonlyVector3 } from '@hellpig/anarchy-engine/ThreeLib';\n\nexport function getDistance(pointA: TReadonlyVector3, pointB: TReadonlyVector3): number {\n const dx: number = pointB.x - pointA.x;\n const dy: number = pointB.y - pointA.y;\n const dz: number = pointB.z - pointA.z;\n\n return Math.sqrt(dx * dx + dy * dy + dz * dz);\n}\n"],"names":["getDistance","pointA","pointB","dx","x","dy","y","dz","z","Math","sqrt"],"mappings":"AAEO,SAASA,YAAYC,OAA0BC,QACpD,MAAMC,GAAaD,OAAOE,EAAIH,OAAOG,EAC/BC,GAAaH,OAAOI,EAAIL,OAAOK,EAC/BC,GAAaL,OAAOM,EAAIP,OAAOO,EAErC,OAAOC,KAAKC,KAAKP,GAAKA,GAAKE,GAAKA,GAAKE,GAAKA,GAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Distance.js","sources":["../../../src/Measurements/Constants/Distance.ts"],"sourcesContent":["import type { TMeters } from '@
|
|
1
|
+
{"version":3,"file":"Distance.js","sources":["../../../src/Measurements/Constants/Distance.ts"],"sourcesContent":["import type { TMeters } from '@hellpig/anarchy-engine/Math/Types';\n\nexport const METER: TMeters = 1 as TMeters;\n"],"names":["METER"],"mappings":"AAEO,MAAMA,MAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sources":["../../../src/Measurements/Constants/Time.ts"],"sourcesContent":["import type { TMilliseconds } from '@
|
|
1
|
+
{"version":3,"file":"Time.js","sources":["../../../src/Measurements/Constants/Time.ts"],"sourcesContent":["import type { TMilliseconds } from '@hellpig/anarchy-engine/Math/Types';\n\nexport const MILLISECOND: TMilliseconds = 1 as TMilliseconds;\nexport const SECOND: TMilliseconds = 1000 as TMilliseconds;\nexport const MINUTE: TMilliseconds = 60000 as TMilliseconds;\nexport const HOUR: TMilliseconds = 3600000 as TMilliseconds;\n"],"names":["MILLISECOND","SECOND","MINUTE","HOUR"],"mappings":"AAEO,MAAMA,YAA6B,EAC7BC,OAAwB,IACxBC,OAAwB,IACxBC,KAAsB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TDegrees, TMeters, TMilliseconds, TRadians, TSeconds } from '../../Math/Types';
|
|
2
1
|
import { Vector } from '@dimforge/rapier3d/math';
|
|
2
|
+
import { TDegrees, TMeters, TMilliseconds, TRadians, TSeconds } from '../../Math/Types';
|
|
3
3
|
import { Vector3 } from 'three';
|
|
4
4
|
export declare const meters: (meters: number) => TMeters;
|
|
5
5
|
export declare const centimetersToMeters: (cm: number) => TMeters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasurementsUtils.js","sources":["../../../src/Measurements/Utils/MeasurementsUtils.ts"],"sourcesContent":["import type { TDegrees, TMeters, TMilliseconds, TRadians, TSeconds } from '@
|
|
1
|
+
{"version":3,"file":"MeasurementsUtils.js","sources":["../../../src/Measurements/Utils/MeasurementsUtils.ts"],"sourcesContent":["import type { Vector } from '@dimforge/rapier3d/math';\nimport type { TDegrees, TMeters, TMilliseconds, TRadians, TSeconds } from '@hellpig/anarchy-engine/Math/Types';\nimport { HOUR, METER, MINUTE, SECOND } from '@hellpig/anarchy-engine/Measurements/Constants';\nimport { Vector3 } from 'three';\n\n// TODO CONFIG: values of meters/hours, etc should be configurable\nexport const meters = (meters: number): TMeters => (meters * METER) as TMeters;\nexport const centimetersToMeters = (cm: number): TMeters => ((cm / 100) * METER) as TMeters;\nexport const kilometersToMeters = (km: number): TMeters => (km * 1000 * METER) as TMeters;\n\nexport const secondsToMS = (seconds: number | TSeconds): TMilliseconds => (seconds * SECOND) as TMilliseconds;\nexport const minutesToMS = (minutes: number): TMilliseconds => (minutes * MINUTE) as TMilliseconds;\nexport const hoursToMS = (hours: number): TMilliseconds => (hours * HOUR) as TMilliseconds;\nexport const milliseconds = (ms: number): TMilliseconds => ms as TMilliseconds;\n\nexport const coordsXYZToMeters = ({ x, y, z }: Vector3 | Vector): Vector3 => new Vector3(meters(x), meters(y), meters(z));\n\nexport const radians = (value: number): TRadians => value as TRadians;\nexport const degrees = (value: number): TDegrees => value as TDegrees;\n"],"names":["meters","METER","centimetersToMeters","cm","kilometersToMeters","km","secondsToMS","seconds","SECOND","minutesToMS","minutes","MINUTE","hoursToMS","hours","HOUR","milliseconds","ms","coordsXYZToMeters","x","y","z","Vector3","radians","value","degrees"],"mappings":"4HAMO,MAAMA,OAAUA,SAA6BA,QAASC,MAChDC,oBAAuBC,IAA0BA,GAAK,IAAOF,MAC7DG,mBAAsBC,IAA8B,IAALA,GAAYJ,MAE3DK,YAAeC,SAA+CA,QAAUC,OACxEC,YAAeC,SAAoCA,QAAUC,OAC7DC,UAAaC,OAAkCA,MAAQC,KACvDC,aAAgBC,IAA8BA,GAE9CC,kBAAoB,EAAGC,IAAGC,IAAGC,OAAmC,IAAIC,QAAQrB,OAAOkB,GAAIlB,OAAOmB,GAAInB,OAAOoB,IAEzGE,QAAWC,OAA4BA,MACvCC,QAAWD,OAA4BA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveBy2dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.ts"],"sourcesContent":["import type { TMovableXY, TWithPosition2dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveBy2dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.ts"],"sourcesContent":["import type { TMovableXY, TWithPosition2dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nimport { withMoveByXMixin } from './WithMoveByXMixin';\nimport { withMoveByYMixin } from './WithMoveByYMixin';\n\nexport function withMoveBy2dMixin(entity: TWithPosition2dProperty): TMovableXY {\n return {\n ...withMoveByXMixin(entity),\n ...withMoveByYMixin(entity)\n };\n}\n"],"names":["withMoveBy2dMixin","entity","withMoveByXMixin","withMoveByYMixin"],"mappings":"wGAKO,SAASA,kBAAkBC,QAChC,MAAO,IACFC,iBAAiBD,WACjBE,iBAAiBF,QAExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveBy3dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.ts"],"sourcesContent":["import type { TMovableXYZ, TWithPosition3dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveBy3dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.ts"],"sourcesContent":["import type { TMovableXYZ, TWithPosition3dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nimport { withMoveByXMixin } from './WithMoveByXMixin';\nimport { withMoveByYMixin } from './WithMoveByYMixin';\nimport { withMoveByZMixin } from './WithMoveByZMixin';\n\nexport function withMoveBy3dMixin(entity: TWithPosition3dProperty): TMovableXYZ {\n return {\n ...withMoveByXMixin(entity),\n ...withMoveByYMixin(entity),\n ...withMoveByZMixin(entity)\n };\n}\n"],"names":["withMoveBy3dMixin","entity","withMoveByXMixin","withMoveByYMixin","withMoveByZMixin"],"mappings":"4JAMO,SAASA,kBAAkBC,QAChC,MAAO,IACFC,iBAAiBD,WACjBE,iBAAiBF,WACjBG,iBAAiBH,QAExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveBy4dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.ts"],"sourcesContent":["import type { TMovableXYZW, TWithPosition4dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveBy4dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.ts"],"sourcesContent":["import type { TMovableXYZW, TWithPosition4dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nimport { withMoveByWMixin } from './WithMoveByWMixin';\nimport { withMoveByXMixin } from './WithMoveByXMixin';\nimport { withMoveByYMixin } from './WithMoveByYMixin';\nimport { withMoveByZMixin } from './WithMoveByZMixin';\n\nexport function withMoveBy4dMixin(entity: TWithPosition4dProperty): TMovableXYZW {\n return {\n ...withMoveByXMixin(entity),\n ...withMoveByYMixin(entity),\n ...withMoveByZMixin(entity),\n ...withMoveByWMixin(entity)\n };\n}\n"],"names":["withMoveBy4dMixin","entity","withMoveByXMixin","withMoveByYMixin","withMoveByZMixin","withMoveByWMixin"],"mappings":"gNAOO,SAASA,kBAAkBC,QAChC,MAAO,IACFC,iBAAiBD,WACjBE,iBAAiBF,WACjBG,iBAAiBH,WACjBI,iBAAiBJ,QAExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveByWMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.ts"],"sourcesContent":["import type { TMovableW, TWithPosition4dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveByWMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.ts"],"sourcesContent":["import type { TMovableW, TWithPosition4dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withMoveByWMixin(entity: TWithPosition4dProperty): TMovableW {\n // eslint-disable-next-line functional/immutable-data\n const setW = (w: number): number => (entity.position.w = w);\n const getW = (): number => entity.position.w;\n // eslint-disable-next-line functional/immutable-data\n const addW = (w: number): number => (entity.position.w += w);\n\n return { addW, setW, getW };\n}\n"],"names":["withMoveByWMixin","entity","addW","w","position","setW","getW"],"mappings":"AAEO,SAASA,iBAAiBC,QAO/B,MAAO,CAAEC,KAFKC,GAAuBF,OAAOG,SAASD,GAAKA,EAE3CE,KALDF,GAAuBF,OAAOG,SAASD,EAAIA,EAKpCG,KAJR,IAAcL,OAAOG,SAASD,EAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveByXMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.ts"],"sourcesContent":["import type { TMovableX, TWithPositionProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveByXMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.ts"],"sourcesContent":["import type { TMovableX, TWithPositionProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withMoveByXMixin(entity: TWithPositionProperty): TMovableX {\n // eslint-disable-next-line functional/immutable-data\n const setX = (x: number): number => (entity.position.x = x);\n const getX = (): number => entity.position.x;\n // eslint-disable-next-line functional/immutable-data\n const addX = (x: number): number => (entity.position.x += x);\n\n return { addX, setX, getX };\n}\n"],"names":["withMoveByXMixin","entity","addX","x","position","setX","getX"],"mappings":"AAEO,SAASA,iBAAiBC,QAO/B,MAAO,CAAEC,KAFKC,GAAuBF,OAAOG,SAASD,GAAKA,EAE3CE,KALDF,GAAuBF,OAAOG,SAASD,EAAIA,EAKpCG,KAJR,IAAcL,OAAOG,SAASD,EAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveByYMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.ts"],"sourcesContent":["import { withPositionMixin } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveByYMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.ts"],"sourcesContent":["import { withPositionMixin } from '@hellpig/anarchy-engine/Mixins/GameObjects/Mixins/Position/WithPositionMixin';\nimport type { TMovableY, TWithPositionProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withMoveByYMixin(entity: TWithPositionProperty): TMovableY {\n // eslint-disable-next-line functional/immutable-data\n const setY = (y: number): number => (entity.position.y = y);\n const getY = (): number => entity.position.y;\n // eslint-disable-next-line functional/immutable-data\n const addY = (y: number): number => (entity.position.y += y);\n\n return { ...withPositionMixin(entity), addY, setY, getY };\n}\n"],"names":["withMoveByYMixin","entity","withPositionMixin","addY","y","position","setY","getY"],"mappings":"gEAGO,SAASA,iBAAiBC,QAO/B,MAAO,IAAKC,kBAAkBD,QAASE,KAFzBC,GAAuBH,OAAOI,SAASD,GAAKA,EAEbE,KAL/BF,GAAuBH,OAAOI,SAASD,EAAIA,EAKNG,KAJtC,IAAcN,OAAOI,SAASD,EAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithMoveByZMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.ts"],"sourcesContent":["import { withPositionMixin } from '@
|
|
1
|
+
{"version":3,"file":"WithMoveByZMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.ts"],"sourcesContent":["import { withPositionMixin } from '@hellpig/anarchy-engine/Mixins/GameObjects/Mixins/Position';\nimport type { TMovableZ, TWithPosition3dProperty, TWithPosition4dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withMoveByZMixin(entity: TWithPosition3dProperty | TWithPosition4dProperty): TMovableZ {\n // eslint-disable-next-line functional/immutable-data\n const setZ = (z: number): number => (entity.position.z = z);\n const getZ = (): number => entity.position.z;\n // eslint-disable-next-line functional/immutable-data\n const addZ = (z: number): number => (entity.position.z += z);\n\n return { ...withPositionMixin(entity), addZ, setZ, getZ };\n}\n"],"names":["withMoveByZMixin","entity","withPositionMixin","addZ","z","position","setZ","getZ"],"mappings":"gEAGO,SAASA,iBAAiBC,QAO/B,MAAO,IAAKC,kBAAkBD,QAASE,KAFzBC,GAAuBH,OAAOI,SAASD,GAAKA,EAEbE,KAL/BF,GAAuBH,OAAOI,SAASD,EAAIA,EAKNG,KAJtC,IAAcN,OAAOI,SAASD,EAK7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPosition2dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.ts"],"sourcesContent":["import type { TWithPosition2d, TWithPosition2dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithPosition2dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.ts"],"sourcesContent":["import type { TWithPosition2d, TWithPosition2dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport { Vector2 } from 'three';\n\nexport function withPosition2dMixin(entity: TWithPosition2dProperty): TWithPosition2d {\n const setPosition = (position: Vector2): Vector2 => entity.position.set(position.x, position.y);\n const addPosition = (position: Vector2): Vector2 => setPosition(new Vector2(entity.position.x + position.x, entity.position.y + position.y));\n const getPosition = (): Vector2 => new Vector2(entity.position.x, entity.position.y);\n return { setPosition, addPosition, getPosition };\n}\n"],"names":["withPosition2dMixin","entity","setPosition","position","set","x","y","addPosition","Vector2","getPosition"],"mappings":"2BAGO,SAASA,oBAAoBC,QAClC,MAAMC,YAAeC,UAA+BF,OAAOE,SAASC,IAAID,SAASE,EAAGF,SAASG,GAG7F,MAAO,CAAEJ,wBAAaK,YAFDJ,UAA+BD,YAAY,IAAIM,QAAQP,OAAOE,SAASE,EAAIF,SAASE,EAAGJ,OAAOE,SAASG,EAAIH,SAASG,IAEtGG,YADf,IAAe,IAAID,QAAQP,OAAOE,SAASE,EAAGJ,OAAOE,SAASG,GAEpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPosition3dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.ts"],"sourcesContent":["import type { TWithPosition3d, TWithPosition3dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithPosition3dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.ts"],"sourcesContent":["import type { TWithPosition3d, TWithPosition3dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport type { Vector3 } from 'three';\n\nexport function withPosition3dMixin(entity: TWithPosition3dProperty): TWithPosition3d {\n const setPosition = ({ x, y, z }: Vector3): Vector3 => entity.position.set(x, y, z);\n const addPosition = ({ x, y, z }: Vector3): Vector3 => entity.position.add({ x, y, z });\n const getPosition = (): Vector3 => entity.position;\n return { setPosition, addPosition, getPosition };\n}\n"],"names":["withPosition3dMixin","entity","setPosition","x","y","z","position","set","addPosition","add","getPosition"],"mappings":"AAGO,SAASA,oBAAoBC,QAIlC,MAAO,CAAEC,YAHW,EAAGC,IAAGC,IAAGC,OAA0BJ,OAAOK,SAASC,IAAIJ,EAAGC,EAAGC,GAG3DG,YAFF,EAAGL,IAAGC,IAAGC,OAA0BJ,OAAOK,SAASG,IAAI,CAAEN,IAAGC,IAAGC,MAEhDK,YADf,IAAeT,OAAOK,SAE5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPosition4dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.ts"],"sourcesContent":["import type { TWithPosition4d, TWithPosition4dProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithPosition4dMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.ts"],"sourcesContent":["import type { TWithPosition4d, TWithPosition4dProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport { isVector4Like } from '@hellpig/anarchy-engine/Utils';\nimport type { Vector4Like } from 'three';\nimport { Vector4 } from 'three';\n\nexport function withPosition4dMixin(entity: TWithPosition4dProperty): TWithPosition4d {\n const setPosition = (position: Vector4Like): Vector4 => {\n if (!isVector4Like(position)) throw new Error('Trying to set up Vector4 with Vector3 or Vector2');\n return entity.position.set(position.x, position.y, position.z, position.w);\n };\n\n const addPosition = (position: Vector4Like): Vector4 => {\n if (!isVector4Like(position)) throw new Error('Trying to set up Vector4 with Vector3 or Vector2');\n return setPosition(new Vector4(entity.position.x + position.x, entity.position.y + position.y, entity.position.z + position.z, entity.position.w + position.w));\n };\n\n const getPosition = (): Vector4 => new Vector4(entity.position.x, entity.position.y, entity.position.z, entity.position.w);\n return { setPosition, addPosition, getPosition };\n}\n"],"names":["withPosition4dMixin","entity","setPosition","position","isVector4Like","Error","set","x","y","z","w","addPosition","Vector4","getPosition"],"mappings":"sFAKO,SAASA,oBAAoBC,QAClC,MAAMC,YAAeC,WACnB,IAAKC,cAAcD,UAAW,MAAM,IAAIE,MAAM,oDAC9C,OAAOJ,OAAOE,SAASG,IAAIH,SAASI,EAAGJ,SAASK,EAAGL,SAASM,EAAGN,SAASO,IAS1E,MAAO,CAAER,wBAAaS,YANDR,WACnB,IAAKC,cAAcD,UAAW,MAAM,IAAIE,MAAM,oDAC9C,OAAOH,YAAY,IAAIU,QAAQX,OAAOE,SAASI,EAAIJ,SAASI,EAAGN,OAAOE,SAASK,EAAIL,SAASK,EAAGP,OAAOE,SAASM,EAAIN,SAASM,EAAGR,OAAOE,SAASO,EAAIP,SAASO,KAI3HG,YADf,IAAe,IAAID,QAAQX,OAAOE,SAASI,EAAGN,OAAOE,SAASK,EAAGP,OAAOE,SAASM,EAAGR,OAAOE,SAASO,GAE1H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPositionMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPositionMixin.ts"],"sourcesContent":["import type { TWithPosition, TWithPositionProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithPositionMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Position/WithPositionMixin.ts"],"sourcesContent":["import type { TWithPosition, TWithPositionProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport { isEntityWith2dPosition, isEntityWith3dPosition, isEntityWith4dPosition } from '@hellpig/anarchy-engine/Utils';\n\nimport { withPosition2dMixin } from './WithPosition2dMixin';\nimport { withPosition3dMixin } from './WithPosition3dMixin';\nimport { withPosition4dMixin } from './WithPosition4dMixin';\n\nexport function withPositionMixin(entity: TWithPositionProperty): TWithPosition | never {\n if (isEntityWith3dPosition(entity)) return withPosition3dMixin(entity);\n if (isEntityWith2dPosition(entity)) return withPosition2dMixin(entity);\n if (isEntityWith4dPosition(entity)) return withPosition4dMixin(entity);\n throw new Error('Unknown position type');\n}\n"],"names":["withPositionMixin","entity","isEntityWith3dPosition","withPosition3dMixin","isEntityWith2dPosition","withPosition2dMixin","isEntityWith4dPosition","withPosition4dMixin","Error"],"mappings":"gSAOO,SAASA,kBAAkBC,QAChC,GAAIC,uBAAuBD,QAAS,OAAOE,oBAAoBF,QAC/D,GAAIG,uBAAuBH,QAAS,OAAOI,oBAAoBJ,QAC/D,GAAIK,uBAAuBL,QAAS,OAAOM,oBAAoBN,QAC/D,MAAM,IAAIO,MAAM,wBAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationByWMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.ts"],"sourcesContent":["import type { TRotatableW, TWithQuaternionRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationByWMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.ts"],"sourcesContent":["import type { TRotatableW, TWithQuaternionRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withQuaternionRotationByWMixin(entity: TWithQuaternionRotationProperty): TRotatableW {\n const setRotationW = (w: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y, entity.rotation.z, w);\n const getRotationW = (): number => entity.rotation.w;\n const adjustRotationByW = (w: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y, entity.rotation.z, entity.rotation.w + w);\n\n return {\n setRotationW,\n getRotationW,\n adjustRotationByW\n };\n}\n"],"names":["withQuaternionRotationByWMixin","entity","setRotationW","w","rotation","set","x","y","z","getRotationW","adjustRotationByW"],"mappings":"AAEO,SAASA,+BAA+BC,QAK7C,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASE,EAAGL,OAAOG,SAASG,EAAGN,OAAOG,SAASI,EAAGL,IAM1HM,aALmB,IAAcR,OAAOG,SAASD,EAMjDO,kBALyBP,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASE,EAAGL,OAAOG,SAASG,EAAGN,OAAOG,SAASI,EAAGP,OAAOG,SAASD,EAAIA,IAOvJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationByXMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.ts"],"sourcesContent":["import type { TRotatableX, TWithQuaternionRotationProperty, TWithRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationByXMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.ts"],"sourcesContent":["import type { TRotatableX, TWithQuaternionRotationProperty, TWithRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withRotationByXMixin(entity: TWithRotationProperty): TRotatableX {\n const setRotationX = (x: number): void => void entity.rotation.set(x, entity.rotation.y, entity.rotation.z);\n const getRotationX = (): number => entity.rotation.x;\n const adjustRotationByX = (x: number): void => void entity.rotation.set(entity.rotation.x + x, entity.rotation.y, entity.rotation.z);\n\n return {\n setRotationX,\n getRotationX,\n adjustRotationByX\n };\n}\n\nexport function withQuaternionRotationByXMixin(entity: TWithQuaternionRotationProperty): TRotatableX {\n const setRotationX = (x: number): void => void entity.rotation.set(x, entity.rotation.y, entity.rotation.z, entity.rotation.w);\n const getRotationX = (): number => entity.rotation.x;\n const adjustRotationByX = (x: number): void => void entity.rotation.set(entity.rotation.x + x, entity.rotation.y, entity.rotation.z, entity.rotation.w);\n\n return {\n setRotationX,\n getRotationX,\n adjustRotationByX\n };\n}\n"],"names":["withRotationByXMixin","entity","setRotationX","x","rotation","set","y","z","getRotationX","adjustRotationByX","withQuaternionRotationByXMixin","w"],"mappings":"AAEO,SAASA,qBAAqBC,QAKnC,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASG,IAMvGC,aALmB,IAAcP,OAAOG,SAASD,EAMjDM,kBALyBN,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASD,EAAIA,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASG,IAOpI,CAEO,SAASG,+BAA+BT,QAK7C,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASG,EAAGN,OAAOG,SAASO,IAM1HH,aALmB,IAAcP,OAAOG,SAASD,EAMjDM,kBALyBN,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASD,EAAIA,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASG,EAAGN,OAAOG,SAASO,IAOvJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationByXyzMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.ts"],"sourcesContent":["import type { TQuaternionRotatable, TRotatable, TWithQuaternionRotationProperty, TWithRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationByXyzMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.ts"],"sourcesContent":["import type { TQuaternionRotatable, TRotatable, TWithQuaternionRotationProperty, TWithRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nimport { withQuaternionRotationByWMixin } from './WithRotationByWMixin';\nimport { withQuaternionRotationByXMixin, withRotationByXMixin } from './WithRotationByXMixin';\nimport { withQuaternionRotationByYMixin, withRotationByYMixin } from './WithRotationByYMixin';\nimport { withQuaternionRotationByZMixin, withRotationByZMixin } from './WithRotationByZMixin';\n\nexport function withRotationByXyzMixin(entity: TWithRotationProperty): TRotatable {\n return {\n ...withRotationByXMixin(entity),\n ...withRotationByYMixin(entity),\n ...withRotationByZMixin(entity)\n };\n}\n\nexport function withQuaternionRotationByXyzMixin(entity: TWithQuaternionRotationProperty): TQuaternionRotatable {\n return {\n ...withQuaternionRotationByXMixin(entity),\n ...withQuaternionRotationByYMixin(entity),\n ...withQuaternionRotationByZMixin(entity),\n ...withQuaternionRotationByWMixin(entity)\n };\n}\n"],"names":["withRotationByXyzMixin","entity","withRotationByXMixin","withRotationByYMixin","withRotationByZMixin","withQuaternionRotationByXyzMixin","withQuaternionRotationByXMixin","withQuaternionRotationByYMixin","withQuaternionRotationByZMixin","withQuaternionRotationByWMixin"],"mappings":"uVAOO,SAASA,uBAAuBC,QACrC,MAAO,IACFC,qBAAqBD,WACrBE,qBAAqBF,WACrBG,qBAAqBH,QAE5B,CAEO,SAASI,iCAAiCJ,QAC/C,MAAO,IACFK,+BAA+BL,WAC/BM,+BAA+BN,WAC/BO,+BAA+BP,WAC/BQ,+BAA+BR,QAEtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationByYMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.ts"],"sourcesContent":["import type { TRotatableY, TWithQuaternionRotationProperty, TWithRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationByYMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.ts"],"sourcesContent":["import type { TRotatableY, TWithQuaternionRotationProperty, TWithRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withRotationByYMixin(entity: TWithRotationProperty): TRotatableY {\n const setRotationY = (y: number): void => void entity.rotation.set(y, entity.rotation.y, entity.rotation.z);\n const getRotationY = (): number => entity.rotation.y;\n const adjustRotationByY = (y: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y + y, entity.rotation.z);\n\n return {\n setRotationY,\n getRotationY,\n adjustRotationByY\n };\n}\n\nexport function withQuaternionRotationByYMixin(entity: TWithQuaternionRotationProperty): TRotatableY {\n const setRotationY = (y: number): void => void entity.rotation.set(y, entity.rotation.y, entity.rotation.z, entity.rotation.w);\n const getRotationY = (): number => entity.rotation.y;\n const adjustRotationByY = (y: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y + y, entity.rotation.z, entity.rotation.w);\n\n return {\n setRotationY,\n getRotationY,\n adjustRotationByY\n };\n}\n"],"names":["withRotationByYMixin","entity","setRotationY","y","rotation","set","z","getRotationY","adjustRotationByY","x","withQuaternionRotationByYMixin","w"],"mappings":"AAEO,SAASA,qBAAqBC,QAKnC,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASD,EAAGF,OAAOG,SAASE,IAMvGC,aALmB,IAAcN,OAAOG,SAASD,EAMjDK,kBALyBL,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASK,EAAGR,OAAOG,SAASD,EAAIA,EAAGF,OAAOG,SAASE,IAOpI,CAEO,SAASI,+BAA+BT,QAK7C,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASD,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASO,IAM1HJ,aALmB,IAAcN,OAAOG,SAASD,EAMjDK,kBALyBL,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASK,EAAGR,OAAOG,SAASD,EAAIA,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASO,IAOvJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationByZMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.ts"],"sourcesContent":["import type { TRotatableZ, TWithQuaternionRotationProperty, TWithRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationByZMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.ts"],"sourcesContent":["import type { TRotatableZ, TWithQuaternionRotationProperty, TWithRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withRotationByZMixin(entity: TWithRotationProperty): TRotatableZ {\n const setRotationZ = (z: number): void => void entity.rotation.set(z, entity.rotation.y, entity.rotation.z);\n const getRotationZ = (): number => entity.rotation.z;\n const adjustRotationByZ = (z: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y, entity.rotation.z + z);\n\n return {\n setRotationZ,\n getRotationZ,\n adjustRotationByZ\n };\n}\n\nexport function withQuaternionRotationByZMixin(entity: TWithQuaternionRotationProperty): TRotatableZ {\n const setRotationZ = (z: number): void => void entity.rotation.set(z, entity.rotation.y, entity.rotation.z, entity.rotation.w);\n const getRotationZ = (): number => entity.rotation.z;\n const adjustRotationByZ = (z: number): void => void entity.rotation.set(entity.rotation.x, entity.rotation.y, entity.rotation.z + z, entity.rotation.w);\n\n return {\n setRotationZ,\n getRotationZ,\n adjustRotationByZ\n };\n}\n"],"names":["withRotationByZMixin","entity","setRotationZ","z","rotation","set","y","getRotationZ","adjustRotationByZ","x","withQuaternionRotationByZMixin","w"],"mappings":"AAEO,SAASA,qBAAqBC,QAKnC,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASD,IAMvGI,aALmB,IAAcN,OAAOG,SAASD,EAMjDK,kBALyBL,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASK,EAAGR,OAAOG,SAASE,EAAGL,OAAOG,SAASD,EAAIA,IAOpI,CAEO,SAASO,+BAA+BT,QAK7C,MAAO,CACLC,aALoBC,IAAyBF,OAAOG,SAASC,IAAIF,EAAGF,OAAOG,SAASE,EAAGL,OAAOG,SAASD,EAAGF,OAAOG,SAASO,IAM1HJ,aALmB,IAAcN,OAAOG,SAASD,EAMjDK,kBALyBL,IAAyBF,OAAOG,SAASC,IAAIJ,OAAOG,SAASK,EAAGR,OAAOG,SAASE,EAAGL,OAAOG,SAASD,EAAIA,EAAGF,OAAOG,SAASO,IAOvJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRotationMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.ts"],"sourcesContent":["import type { TWithRotation, TWithRotationProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithRotationMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.ts"],"sourcesContent":["import type { TWithRotation, TWithRotationProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport { Euler } from 'three';\n\nexport function withRotationMixin(entity: TWithRotationProperty): TWithRotation {\n const setRotation = (x: number, y: number, z: number): Euler => entity.rotation.set(x, y, z);\n const getRotation = (): Euler => new Euler(entity.rotation.x, entity.rotation.y, entity.rotation.z);\n\n return {\n setRotation,\n getRotation\n };\n}\n"],"names":["withRotationMixin","entity","setRotation","x","y","z","rotation","set","getRotation","Euler"],"mappings":"yBAGO,SAASA,kBAAkBC,QAIhC,MAAO,CACLC,YAJkB,CAACC,EAAWC,EAAWC,IAAqBJ,OAAOK,SAASC,IAAIJ,EAAGC,EAAGC,GAKxFG,YAJkB,IAAa,IAAIC,MAAMR,OAAOK,SAASH,EAAGF,OAAOK,SAASF,EAAGH,OAAOK,SAASD,GAMnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithScaleMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.ts"],"sourcesContent":["import type { TScaleMixin, TWithScaleProperty } from '@
|
|
1
|
+
{"version":3,"file":"WithScaleMixin.js","sources":["../../../../../src/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.ts"],"sourcesContent":["import type { TScaleMixin, TWithScaleProperty } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\n\nexport function withScaleMixin(entity: TWithScaleProperty): TScaleMixin {\n const setScaleX = (x: number): void => void entity.scale.set(x, entity.scale.y, entity.scale.z);\n const getScaleX = (): number => entity.scale.x;\n\n const setScaleY = (y: number): void => void entity.scale.set(entity.scale.x, y, entity.scale.z);\n const getScaleY = (): number => entity.scale.y;\n\n const setScaleZ = (z: number): void => void entity.scale.set(entity.scale.x, entity.scale.y, z);\n const getScaleZ = (): number => entity.scale.z;\n\n const adjustScaleByX = (x: number): void => void entity.scale.set(entity.scale.x + x, entity.scale.y, entity.scale.z);\n const adjustScaleByY = (y: number): void => void entity.scale.set(entity.scale.x, entity.scale.y + y, entity.scale.z);\n const adjustScaleByZ = (z: number): void => void entity.scale.set(entity.scale.x, entity.scale.y, entity.scale.z + z);\n\n return {\n setScaleX,\n getScaleX,\n setScaleY,\n getScaleY,\n setScaleZ,\n getScaleZ,\n adjustScaleByX,\n adjustScaleByY,\n adjustScaleByZ\n };\n}\n"],"names":["withScaleMixin","entity","setScaleX","x","scale","set","y","z","getScaleX","setScaleY","getScaleY","setScaleZ","getScaleZ","adjustScaleByX","adjustScaleByY","adjustScaleByZ"],"mappings":"AAEO,SAASA,eAAeC,QAc7B,MAAO,CACLC,UAdiBC,IAAyBF,OAAOG,MAAMC,IAAIF,EAAGF,OAAOG,MAAME,EAAGL,OAAOG,MAAMG,IAe3FC,UAdgB,IAAcP,OAAOG,MAAMD,EAe3CM,UAbiBH,IAAyBL,OAAOG,MAAMC,IAAIJ,OAAOG,MAAMD,EAAGG,EAAGL,OAAOG,MAAMG,IAc3FG,UAbgB,IAAcT,OAAOG,MAAME,EAc3CK,UAZiBJ,IAAyBN,OAAOG,MAAMC,IAAIJ,OAAOG,MAAMD,EAAGF,OAAOG,MAAME,EAAGC,IAa3FK,UAZgB,IAAcX,OAAOG,MAAMG,EAa3CM,eAXsBV,IAAyBF,OAAOG,MAAMC,IAAIJ,OAAOG,MAAMD,EAAIA,EAAGF,OAAOG,MAAME,EAAGL,OAAOG,MAAMG,IAYjHO,eAXsBR,IAAyBL,OAAOG,MAAMC,IAAIJ,OAAOG,MAAMD,EAAGF,OAAOG,MAAME,EAAIA,EAAGL,OAAOG,MAAMG,IAYjHQ,eAXsBR,IAAyBN,OAAOG,MAAMC,IAAIJ,OAAOG,MAAMD,EAAGF,OAAOG,MAAME,EAAGL,OAAOG,MAAMG,EAAIA,IAarH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithObject3D.js","sources":["../../../../src/Mixins/GameObjects/Mixins/WithObject3D.ts"],"sourcesContent":["import type { TWithObject3d } from '@
|
|
1
|
+
{"version":3,"file":"WithObject3D.js","sources":["../../../../src/Mixins/GameObjects/Mixins/WithObject3D.ts"],"sourcesContent":["import type { TWithObject3d } from '@hellpig/anarchy-engine/Mixins/GameObjects/Models';\nimport type { TObject3D } from '@hellpig/anarchy-engine/ThreeLib';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\n\nexport function withObject3d<T extends TObject3D>(entity: T): TWithObject3d {\n // eslint-disable-next-line functional/immutable-data\n const setVisible = (visible: boolean): void => void ((entity as TWriteable<T>).visible = visible);\n const getVisible = (): boolean => entity.visible;\n\n // eslint-disable-next-line functional/immutable-data\n const setCastShadow = (castShadow: boolean): void => void ((entity as TWriteable<T>).castShadow = castShadow);\n const getCastShadow = (): boolean => entity.castShadow;\n\n // eslint-disable-next-line functional/immutable-data\n const setReceiveShadow = (receiveShadow: boolean): void => void ((entity as TWriteable<T>).receiveShadow = receiveShadow);\n const getReceiveShadow = (): boolean => entity.receiveShadow;\n\n // eslint-disable-next-line functional/immutable-data\n const setFrustumCulled = (frustumCulled: boolean): void => void ((entity as TWriteable<T>).frustumCulled = frustumCulled);\n const getFrustumCulled = (): boolean => entity.frustumCulled;\n\n // eslint-disable-next-line functional/immutable-data\n const setRenderOrder = (renderOrder: number): void => void ((entity as TWriteable<T>).renderOrder = renderOrder);\n const getRenderOrder = (): number => entity.renderOrder;\n\n return {\n setVisible,\n getVisible,\n setCastShadow,\n getCastShadow,\n setReceiveShadow,\n getReceiveShadow,\n setFrustumCulled,\n getFrustumCulled,\n setRenderOrder,\n getRenderOrder,\n layers: entity.layers\n };\n}\n"],"names":["withObject3d","entity","setVisible","visible","getVisible","setCastShadow","castShadow","getCastShadow","setReceiveShadow","receiveShadow","getReceiveShadow","setFrustumCulled","frustumCulled","getFrustumCulled","setRenderOrder","renderOrder","getRenderOrder","layers"],"mappings":"AAIO,SAASA,aAAkCC,QAqBhD,MAAO,CACLC,WApBkBC,UAAkCF,OAAyBE,QAAUA,SAqBvFC,WApBiB,IAAeH,OAAOE,QAqBvCE,cAlBqBC,aAAqCL,OAAyBK,WAAaA,YAmBhGC,cAlBoB,IAAeN,OAAOK,WAmB1CE,iBAhBwBC,gBAAwCR,OAAyBQ,cAAgBA,eAiBzGC,iBAhBuB,IAAeT,OAAOQ,cAiB7CE,iBAdwBC,gBAAwCX,OAAyBW,cAAgBA,eAezGC,iBAduB,IAAeZ,OAAOW,cAe7CE,eAZsBC,cAAqCd,OAAyBc,YAAcA,aAalGC,eAZqB,IAAcf,OAAOc,YAa1CE,OAAQhB,OAAOgB,OAEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DestroyableMixin.js","sources":["../../../src/Mixins/Generics/DestroyableMixin.ts"],"sourcesContent":["import type { TDestroyable } from '@
|
|
1
|
+
{"version":3,"file":"DestroyableMixin.js","sources":["../../../src/Mixins/Generics/DestroyableMixin.ts"],"sourcesContent":["import type { TDestroyable } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport { Subject } from 'rxjs';\n\nexport function destroyableMixin(): TDestroyable {\n return {\n destroy$: new Subject<void>()\n };\n}\n"],"names":["destroyableMixin","destroy$","Subject"],"mappings":"2EAGO,SAASA,mBACd,MAAO,CACLC,SAAU,IAAIC,QAElB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtractSerializableRegistrableFields.js","sources":["../../../src/Mixins/Generics/ExtractSerializableRegistrableFields.ts"],"sourcesContent":["import type { TRegistrable } from '@
|
|
1
|
+
{"version":3,"file":"ExtractSerializableRegistrableFields.js","sources":["../../../src/Mixins/Generics/ExtractSerializableRegistrableFields.ts"],"sourcesContent":["import type { TRegistrable } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport { isDefined } from '@hellpig/anarchy-shared/Utils';\nimport { isEmpty } from 'lodash-es';\n\nexport const extractSerializableRegistrableFields = <T extends TRegistrable>({ name, tags }: T): Omit<TRegistrable, 'id'> => {\n const result: TWriteable<Omit<TRegistrable, 'id'>> = { name };\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(tags) && !isEmpty(tags)) result.tags = tags;\n return result;\n};\nexport const extractRegistrableFields = <T extends TRegistrable>({ name, id, tags }: T): TRegistrable => ({ name, tags, id });\n"],"names":["extractSerializableRegistrableFields","name","tags","result","isDefined","isEmpty","extractRegistrableFields","id"],"mappings":"0IAKO,MAAMA,qCAAuC,EAA2BC,UAAMC,cACnF,MAAMC,OAA+C,CAAEF,WAGvD,OADIG,UAAUF,QAAUG,QAAQH,eAAcA,KAAOA,MAC9CC,QAEIG,yBAA2B,EAA2BL,UAAMM,MAAIL,eAA+BD,UAAMC,UAAMK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithActiveEntityServiceMixin.js","sources":["../../../src/Mixins/Generics/WithActiveEntityServiceMixin.ts"],"sourcesContent":["import type { TAbstractEntityRegistry } from '@
|
|
1
|
+
{"version":3,"file":"WithActiveEntityServiceMixin.js","sources":["../../../src/Mixins/Generics/WithActiveEntityServiceMixin.ts"],"sourcesContent":["import type { TAbstractEntityRegistry } from '@hellpig/anarchy-engine/Abstract/Models';\nimport type { TRegistrable, TWithActiveMixin, TWithActiveMixinResult } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport { setActiveWrappedEntity } from '@hellpig/anarchy-engine/Utils';\nimport { BehaviorSubject } from 'rxjs';\n\nexport function withActiveEntityServiceMixin<W extends TWithActiveMixin & TRegistrable>(registry: TAbstractEntityRegistry<W>): TWithActiveMixinResult<W> {\n const active$: BehaviorSubject<W | undefined> = new BehaviorSubject<W | undefined>(undefined);\n\n function setActive(id: string): void {\n const active: W = setActiveWrappedEntity(registry, id);\n active$.next(active);\n }\n\n const findActive = (): W | undefined => active$.value;\n\n return {\n setActive,\n findActive,\n getActive: (): W | never => {\n const active: W | undefined = active$.value;\n if (active === undefined) throw new Error('[withActiveEntityServiceMixin]: No active entity found');\n return active;\n },\n active$\n };\n}\n"],"names":["withActiveEntityServiceMixin","registry","active$","BehaviorSubject","setActive","id","active","setActiveWrappedEntity","next","findActive","value","getActive","Error"],"mappings":"4JAKO,SAASA,6BAAwEC,UACtF,MAAMC,QAA0C,IAAIC,wBASpD,MAAO,CACLC,UARF,SAAmBC,IACjB,MAAMC,OAAYC,uBAAuBN,SAAUI,IACnDH,QAAQM,KAAKF,OACf,EAMEG,WAJiB,IAAqBP,QAAQQ,MAK9CC,UAAW,KACT,MAAML,OAAwBJ,QAAQQ,MACtC,QAAe,IAAXJ,OAAsB,MAAM,IAAIM,MAAM,0DAC1C,OAAON,QAETJ,gBAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithActiveMixin.js","sources":["../../../src/Mixins/Generics/WithActiveMixin.ts"],"sourcesContent":["import type { TWithActiveMixin } from '@
|
|
1
|
+
{"version":3,"file":"WithActiveMixin.js","sources":["../../../src/Mixins/Generics/WithActiveMixin.ts"],"sourcesContent":["import type { TWithActiveMixin } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\n\nexport function withActiveMixin(): TWithActiveMixin {\n return {\n _isActive: false,\n _setActive: function (isActive: boolean, isFromService: boolean = false): void {\n if (!isFromService) throw new Error('This method should be called only from the service');\n // eslint-disable-next-line functional/immutable-data\n (this as TWriteable<TWithActiveMixin>)._isActive = isActive;\n },\n isActive(): boolean {\n return this._isActive;\n }\n };\n}\n"],"names":["withActiveMixin","_isActive","_setActive","isActive","isFromService","Error","this"],"mappings":"AAGO,SAASA,kBACd,MAAO,CACLC,WAAW,EACXC,WAAY,SAAUC,SAAmBC,eAAyB,GAChE,IAAKA,cAAe,MAAM,IAAIC,MAAM,sDAEnCC,KAAsCL,UAAYE,QACrD,EACA,QAAAA,GACE,OAAOG,KAAKL,SACd,EAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithNameAndNameAccessorsMixin.js","sources":["../../../src/Mixins/Generics/WithNameAndNameAccessorsMixin.ts"],"sourcesContent":["import type { TWithName, TWithNameAndNameAccessorsMixin } from '@
|
|
1
|
+
{"version":3,"file":"WithNameAndNameAccessorsMixin.js","sources":["../../../src/Mixins/Generics/WithNameAndNameAccessorsMixin.ts"],"sourcesContent":["import type { TWithName, TWithNameAndNameAccessorsMixin } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\n\nexport function withNameAndNameAccessorsMixin<T extends TWriteable<TWithName>>(entity: T): TWithNameAndNameAccessorsMixin {\n return {\n name: entity.name,\n getName: function (): string | undefined {\n return entity.name;\n },\n setName: function (name: string): void {\n // eslint-disable-next-line functional/immutable-data\n entity.name = name;\n }\n };\n}\n"],"names":["withNameAndNameAccessorsMixin","entity","name","getName","setName"],"mappings":"AAGO,SAASA,8BAA+DC,QAC7E,MAAO,CACLC,KAAMD,OAAOC,KACbC,QAAS,WACP,OAAOF,OAAOC,IAChB,EACAE,QAAS,SAAUF,MAEjBD,OAAOC,KAAOA,IAChB,EAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCreateFromConfigService.js","sources":["../../../src/Mixins/Services/WithCreateFromConfigService.ts"],"sourcesContent":["import type { TConfigToParamsWithDependenciesFn } from '@
|
|
1
|
+
{"version":3,"file":"WithCreateFromConfigService.js","sources":["../../../src/Mixins/Services/WithCreateFromConfigService.ts"],"sourcesContent":["import type { TConfigToParamsWithDependenciesFn } from '@hellpig/anarchy-engine/Abstract';\nimport type { TAnyCreateFn, TWithCreateFromConfigService } from '@hellpig/anarchy-engine/Mixins/Services/Models';\n\nexport function withCreateFromConfigServiceMixin<T, C, P, D, O extends Record<string, any> | undefined = undefined>(\n create: TAnyCreateFn<T, P, O>,\n configToParams: TConfigToParamsWithDependenciesFn<C, P, D>,\n dependencies: D\n): TWithCreateFromConfigService<C, T, O> {\n return {\n createFromConfig(list: ReadonlyArray<C>, options?: O): ReadonlyArray<T> {\n return list.map((config: C): T => create(configToParams(config, dependencies), options as O));\n }\n };\n}\n"],"names":["withCreateFromConfigServiceMixin","create","configToParams","dependencies","createFromConfig","list","options","map","config"],"mappings":"AAGO,SAASA,iCACdC,OACAC,eACAC,cAEA,MAAO,CACLC,iBAAA,CAAiBC,KAAwBC,UAChCD,KAAKE,IAAKC,QAAiBP,OAAOC,eAAeM,OAAQL,cAAeG,UAGrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCreateService.js","sources":["../../../src/Mixins/Services/WithCreateService.ts"],"sourcesContent":["import type { TWithCreateService } from '@
|
|
1
|
+
{"version":3,"file":"WithCreateService.js","sources":["../../../src/Mixins/Services/WithCreateService.ts"],"sourcesContent":["import type { TWithCreateService } from '@hellpig/anarchy-engine/Mixins/Services/Models';\nimport type { TExtractDeps, TExtractEntity, TExtractParams } from '@hellpig/anarchy-engine/Mixins/Services/Utils';\n\nexport function withCreateServiceMixin<\n F extends {\n create: (...args: any[]) => any;\n },\n O extends Record<string, any> | undefined = undefined\n>(factory: F, dependencies: TExtractDeps<F>): TWithCreateService<TExtractEntity<F>, TExtractParams<F>, O> {\n const create = (params: TExtractParams<F>): TExtractEntity<F> => factory.create(params, dependencies);\n\n const createFromList = (list: ReadonlyArray<TExtractParams<F>>): ReadonlyArray<TExtractEntity<F>> => list.map(create);\n\n return {\n create,\n createFromList\n };\n}\n"],"names":["withCreateServiceMixin","factory","dependencies","create","params","createFromList","list","map"],"mappings":"AAGO,SAASA,uBAKdC,QAAYC,cACZ,MAAMC,OAAUC,QAAiDH,QAAQE,OAAOC,OAAQF,cAIxF,MAAO,CACLC,cACAE,eAJsBC,MAA6EA,KAAKC,IAAIJ,QAMhH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithFactoryService.js","sources":["../../../src/Mixins/Services/WithFactoryService.ts"],"sourcesContent":["import type { TWithFactoryService } from '@
|
|
1
|
+
{"version":3,"file":"WithFactoryService.js","sources":["../../../src/Mixins/Services/WithFactoryService.ts"],"sourcesContent":["import type { TWithFactoryService } from '@hellpig/anarchy-engine/Mixins/Services/Models';\nimport type { TExtractDeps, TExtractEntity, TExtractParams } from '@hellpig/anarchy-engine/Mixins/Services/Utils';\n\nexport function withFactoryService<F extends { create: (...args: any[]) => any }>(factory: F): TWithFactoryService<TExtractEntity<F>, TExtractParams<F>, TExtractDeps<F>, any> {\n return {\n getFactory: (): F => factory\n };\n}\n"],"names":["withFactoryService","factory","getFactory"],"mappings":"AAGO,SAASA,mBAAkEC,SAChF,MAAO,CACLC,WAAY,IAASD,QAEzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithRegistryService.js","sources":["../../../src/Mixins/Services/WithRegistryService.ts"],"sourcesContent":["import type { TWithRegistryService } from '@
|
|
1
|
+
{"version":3,"file":"WithRegistryService.js","sources":["../../../src/Mixins/Services/WithRegistryService.ts"],"sourcesContent":["import type { TWithRegistryService } from '@hellpig/anarchy-engine/Mixins/Services/Models';\n\nexport function withRegistryService<R>(registry: R): TWithRegistryService<R> {\n return {\n getRegistry: (): R => registry\n };\n}\n"],"names":["withRegistryService","registry","getRegistry"],"mappings":"AAEO,SAASA,oBAAuBC,UACrC,MAAO,CACLC,YAAa,IAASD,SAE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithSceneGetterService.js","sources":["../../../src/Mixins/Services/WithSceneGetterService.ts"],"sourcesContent":["import type { TWithSceneGetterService } from '@
|
|
1
|
+
{"version":3,"file":"WithSceneGetterService.js","sources":["../../../src/Mixins/Services/WithSceneGetterService.ts"],"sourcesContent":["import type { TWithSceneGetterService } from '@hellpig/anarchy-engine/Mixins/Services/Models';\nimport type { TSceneWrapper } from '@hellpig/anarchy-engine/Scene';\n\nexport function withSceneGetterService(scene: TSceneWrapper): TWithSceneGetterService {\n return {\n getScene: (): TSceneWrapper => scene\n };\n}\n"],"names":["withSceneGetterService","scene","getScene"],"mappings":"AAGO,SAASA,uBAAuBC,OACrC,MAAO,CACLC,SAAU,IAAqBD,MAEnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithSerializableEntities.js","sources":["../../../src/Mixins/Services/WithSerializableEntities.ts"],"sourcesContent":["import type { TAbstractEntityRegistry, TAbstractSimpleRegistry } from '@
|
|
1
|
+
{"version":3,"file":"WithSerializableEntities.js","sources":["../../../src/Mixins/Services/WithSerializableEntities.ts"],"sourcesContent":["import type { TAbstractEntityRegistry, TAbstractSimpleRegistry } from '@hellpig/anarchy-engine/Abstract';\nimport type { TSerializable } from '@hellpig/anarchy-engine/Mixins/Generics/Models';\nimport type { TWithSerializableEntities } from '@hellpig/anarchy-engine/Mixins/Services/Models';\n\nexport function withSerializableEntities<E extends TSerializable<any>, C extends Record<string, any>, D extends Record<string, any> | undefined = undefined>(\n registry: TAbstractSimpleRegistry<any> | TAbstractEntityRegistry<any>,\n dependencies?: D\n): TWithSerializableEntities<E, C> {\n return {\n serializeAllEntities: (): ReadonlyArray<C> => registry.serialize(dependencies) as ReadonlyArray<C>,\n serializeEntity: (entity: E): C => entity.serialize(dependencies as any)\n };\n}\n"],"names":["withSerializableEntities","registry","dependencies","serializeAllEntities","serialize","serializeEntity","entity"],"mappings":"AAIO,SAASA,yBACdC,SACAC,cAEA,MAAO,CACLC,qBAAsB,IAAwBF,SAASG,UAAUF,cACjEG,gBAAkBC,QAAiBA,OAAOF,UAAUF,cAExD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithSerializeAllResources.js","sources":["../../../src/Mixins/Services/WithSerializeAllResources.ts"],"sourcesContent":["import type { TAbstractResourceAsyncRegistry, TAbstractResourceConfig, TAbstractSerializeDependencies } from '@
|
|
1
|
+
{"version":3,"file":"WithSerializeAllResources.js","sources":["../../../src/Mixins/Services/WithSerializeAllResources.ts"],"sourcesContent":["import type { TAbstractResourceAsyncRegistry, TAbstractResourceConfig, TAbstractSerializeDependencies } from '@hellpig/anarchy-engine/Abstract';\nimport type { TWithSerializeAllResources } from '@hellpig/anarchy-engine/Mixins/Services/Models';\n\nexport function withSerializeAllResources<C extends TAbstractResourceConfig, D extends TAbstractSerializeDependencies<C>>(\n registry: TAbstractResourceAsyncRegistry<any>,\n dependencies: D\n): TWithSerializeAllResources<C> {\n return {\n serializeAllResources: (): ReadonlyArray<C> => registry.serialize(dependencies)\n };\n}\n"],"names":["withSerializeAllResources","registry","dependencies","serializeAllResources","serialize"],"mappings":"AAGO,SAASA,0BACdC,SACAC,cAEA,MAAO,CACLC,sBAAuB,IAAwBF,SAASG,UAAUF,cAEtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Models3d/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TAnimations, TAnimationsResourceAsyncRegistry } from '@
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Models3d/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TAnimations, TAnimationsResourceAsyncRegistry } from '@hellpig/anarchy-engine/Animations';\nimport type { PrimitiveModel3dType } from '@hellpig/anarchy-engine/Models3d/Constants';\nimport type { TModel3dConfig, TModel3dConfigToParamsDependencies, TModel3dParams, TModels3dResourceAsyncRegistry } from '@hellpig/anarchy-engine/Models3d/Models';\nimport { isPrimitiveModel3dData } from '@hellpig/anarchy-engine/Models3d/Utils';\nimport { object3dConfigToParams } from '@hellpig/anarchy-engine/ThreeLib';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { AnimationClip } from 'three';\nimport type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';\n\nexport function model3dConfigToParams(config: TModel3dConfig, { animationsResourceAsyncRegistry, materialRegistry, model3dResourceAsyncRegistry }: TModel3dConfigToParamsDependencies): TModel3dParams {\n const { position, rotation, material, scale, ...rest } = config;\n\n return {\n ...rest,\n ...object3dConfigToParams({ position, rotation, scale }),\n animationsSource: getAnimationsSource(config, animationsResourceAsyncRegistry),\n model3dSource: getModel3d(config, model3dResourceAsyncRegistry),\n material: isDefined(material) ? materialRegistry.getByName(material) : undefined\n };\n}\n\nfunction getModel3d(config: TModel3dConfig, model3dResourceAsyncRegistry: TModels3dResourceAsyncRegistry): GLTF | PrimitiveModel3dType | never {\n let model3d: GLTF | PrimitiveModel3dType | undefined;\n if (isPrimitiveModel3dData(config)) {\n model3d = config.model3dSource as PrimitiveModel3dType;\n } else {\n model3d = isDefined(config.model3dSource) ? model3dResourceAsyncRegistry.getByKey(config.model3dSource) : undefined;\n }\n\n if (isNotDefined(model3d)) throw new Error(`Model3dConfigAdapter: model3dSource not found: ${config.model3dSource}`);\n\n return model3d;\n}\n\nfunction getAnimationsSource(config: TModel3dConfig, animationsResourceAsyncRegistry: TAnimationsResourceAsyncRegistry): ReadonlyArray<AnimationClip> | never {\n let animations: ReadonlyArray<AnimationClip> = [];\n if (isDefined(config.animationsSource)) {\n config.animationsSource.forEach((source: string): void => {\n const loaded: TAnimations = animationsResourceAsyncRegistry.getByKey(source);\n animations = [...animations, ...loaded];\n });\n }\n\n return animations;\n}\n"],"names":["model3dConfigToParams","config","animationsResourceAsyncRegistry","materialRegistry","model3dResourceAsyncRegistry","position","rotation","material","scale","rest","object3dConfigToParams","animationsSource","getAnimationsSource","model3dSource","getModel3d","isDefined","getByName","model3d","isPrimitiveModel3dData","getByKey","isNotDefined","Error","animations","forEach","source","loaded"],"mappings":"2OASO,SAASA,sBAAsBC,QAAwBC,gCAAEA,gCAAAC,iBAAiCA,iBAAAC,6BAAkBA,+BACjH,MAAMC,SAAEA,SAAAC,SAAUA,SAAAC,SAAUA,eAAUC,SAAUC,MAASR,OAEzD,MAAO,IACFQ,QACAC,uBAAuB,CAAEL,kBAAUC,kBAAUE,cAChDG,iBAAkBC,oBAAoBX,OAAQC,iCAC9CW,cAAeC,WAAWb,OAAQG,8BAClCG,SAAUQ,UAAUR,UAAYJ,iBAAiBa,UAAUT,eAAY,EAE3E,CAEA,SAASO,WAAWb,OAAwBG,8BAC1C,IAAIa,QAOJ,GALEA,QADEC,uBAAuBjB,QACfA,OAAOY,cAEPE,UAAUd,OAAOY,eAAiBT,6BAA6Be,SAASlB,OAAOY,oBAAiB,EAGxGO,aAAaH,SAAU,MAAM,IAAII,MAAM,kDAAkDpB,OAAOY,iBAEpG,OAAOI,OACT,CAEA,SAASL,oBAAoBX,OAAwBC,iCACnD,IAAIoB,WAA2C,GAQ/C,OAPIP,UAAUd,OAAOU,mBACnBV,OAAOU,iBAAiBY,QAASC,SAC/B,MAAMC,OAAsBvB,gCAAgCiB,SAASK,QACrEF,WAAa,IAAIA,cAAeG,UAI7BH,UACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Models3d/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TAnimationStateConfig } from '@
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Models3d/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TAnimationStateConfig } from '@hellpig/anarchy-engine/Animations';\nimport { animationActionToConfig } from '@hellpig/anarchy-engine/Animations/Adapters';\nimport type { TAnimations, TAnimationsResourceAsyncRegistry } from '@hellpig/anarchy-engine/Animations/Models';\nimport { extractSerializableRegistrableFields } from '@hellpig/anarchy-engine/Mixins';\nimport type { PrimitiveModel3dType } from '@hellpig/anarchy-engine/Models3d/Constants';\nimport type { TModel3d, TModel3dConfig, TModel3dConfigToParamsDependencies, TModel3dParams, TModels3dResourceAsyncRegistry, TRawModel3d } from '@hellpig/anarchy-engine/Models3d/Models';\nimport { isPrimitiveModel3dSource } from '@hellpig/anarchy-engine/Models3d/Utils';\nimport { eulerToXyz, vector3ToXyz } from '@hellpig/anarchy-engine/Utils';\nimport { filterOutEmptyFields, isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { AnimationAction, AnimationClip } from 'three';\nimport type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';\n\nexport function model3dEntityToConfig(\n entity: TModel3d,\n { animationsResourceAsyncRegistry, model3dResourceAsyncRegistry }: Pick<TModel3dConfigToParamsDependencies, 'animationsResourceAsyncRegistry' | 'model3dResourceAsyncRegistry'>\n): TModel3dConfig {\n const rawModel3d: TRawModel3d = entity.getRawModel3d();\n\n const params: TModel3dParams = entity.getParams();\n const isPrimitive: boolean = isPrimitiveModel3dSource(params.model3dSource);\n\n const model3dSource: string | undefined = isPrimitive ? (params.model3dSource as PrimitiveModel3dType) : getComplexModel3dSource(entity, model3dResourceAsyncRegistry);\n if (isNotDefined(model3dSource)) throw new Error(`[Serialization] Model3d: model3dSource not found for entity with name: \"${entity.name}\", (id: \"${entity.id}\")`);\n const material: string | undefined = isDefined(params.material) ? params.material.name : undefined;\n\n return filterOutEmptyFields({\n model3dSource,\n material,\n animationsSource: getAllAnimationsSource(entity, animationsResourceAsyncRegistry),\n animationsState: serializeActiveAnimations(entity),\n options: params.options,\n forceClone: entity.forceClone,\n castShadow: rawModel3d.castShadow,\n receiveShadow: rawModel3d.receiveShadow,\n position: vector3ToXyz(rawModel3d.position),\n rotation: eulerToXyz(rawModel3d.rotation),\n scale: vector3ToXyz(rawModel3d.scale),\n ...extractSerializableRegistrableFields(entity)\n });\n}\n\nfunction getComplexModel3dSource(entity: TModel3d, model3dResourceAsyncRegistry: TModels3dResourceAsyncRegistry): string | undefined {\n // For cloned models we need to use the ID from the params\n const modelId: string = !entity.forceClone ? entity.getRawModel3d().uuid : (entity.getParams().model3dSource as GLTF).scene.uuid;\n return model3dResourceAsyncRegistry.findKey((val: GLTF): boolean => val.scene.uuid === modelId);\n}\n\nfunction getAllAnimationsSource(entity: TModel3d, animationsResourceAsyncRegistry: TAnimationsResourceAsyncRegistry): ReadonlyArray<string> | undefined {\n const allAnimations: ReadonlyArray<AnimationClip> = entity.getAnimations();\n\n const animationsSource: ReadonlyArray<string> = allAnimations\n .map((animation: AnimationClip): string | undefined => {\n return animationsResourceAsyncRegistry.findKey((val: TAnimations): boolean => {\n return val[0] === animation;\n });\n })\n .filter(isDefined);\n\n return animationsSource.length > 0 ? animationsSource : undefined;\n}\n\nfunction serializeActiveAnimations(entity: TModel3d): ReadonlyArray<TAnimationStateConfig> {\n const MIN_WEIGHT = 1e-3;\n return Object.values(entity.actions)\n .filter((action: AnimationAction): boolean => {\n return action.isRunning() || (action.enabled && action.weight > MIN_WEIGHT);\n })\n .map(animationActionToConfig);\n}\n"],"names":["model3dEntityToConfig","entity","animationsResourceAsyncRegistry","model3dResourceAsyncRegistry","rawModel3d","getRawModel3d","params","getParams","model3dSource","isPrimitiveModel3dSource","modelId","forceClone","scene","uuid","findKey","val","getComplexModel3dSource","isNotDefined","Error","name","id","material","isDefined","filterOutEmptyFields","animationsSource","getAllAnimationsSource","animationsState","serializeActiveAnimations","options","castShadow","receiveShadow","position","vector3ToXyz","rotation","eulerToXyz","scale","extractSerializableRegistrableFields","getAnimations","map","animation","filter","length","Object","values","actions","action","isRunning","enabled","weight","animationActionToConfig"],"mappings":"ggBAYO,SAASA,sBACdC,QACAC,gCAAEA,gCAAAC,6BAAiCA,+BAEnC,MAAMC,WAA0BH,OAAOI,gBAEjCC,OAAyBL,OAAOM,YAGhCC,cAFuBC,yBAAyBH,OAAOE,eAEJF,OAAOE,cAoBlE,SAAiCP,OAAkBE,8BAEjD,MAAMO,QAAmBT,OAAOU,WAA4CV,OAAOM,YAAYC,cAAuBI,MAAMC,KAA/EZ,OAAOI,gBAAgBQ,KACpE,OAAOV,6BAA6BW,QAASC,KAAuBA,IAAIH,MAAMC,OAASH,QACzF,CAxB2GM,CAAwBf,OAAQE,8BACzI,GAAIc,aAAaT,eAAgB,MAAM,IAAIU,MAAM,2EAA2EjB,OAAOkB,gBAAgBlB,OAAOmB,QAC1J,MAAMC,SAA+BC,UAAUhB,OAAOe,UAAYf,OAAOe,SAASF,UAAO,EAEzF,OAAOI,qBAAqB,CAC1Bf,4BACAa,kBACAG,iBAAkBC,uBAAuBxB,OAAQC,iCACjDwB,gBAAiBC,0BAA0B1B,QAC3C2B,QAAStB,OAAOsB,QAChBjB,WAAYV,OAAOU,WACnBkB,WAAYzB,WAAWyB,WACvBC,cAAe1B,WAAW0B,cAC1BC,SAAUC,aAAa5B,WAAW2B,UAClCE,SAAUC,WAAW9B,WAAW6B,UAChCE,MAAOH,aAAa5B,WAAW+B,UAC5BC,qCAAqCnC,SAE5C,CAQA,SAASwB,uBAAuBxB,OAAkBC,iCAChD,MAEMsB,iBAF8CvB,OAAOoC,gBAGxDC,IAAKC,WACGrC,gCAAgCY,QAASC,KACvCA,IAAI,KAAOwB,YAGrBC,OAAOlB,WAEV,OAAOE,iBAAiBiB,OAAS,EAAIjB,sBAAmB,CAC1D,CAEA,SAASG,0BAA0B1B,QAEjC,OAAOyC,OAAOC,OAAO1C,OAAO2C,SACzBJ,OAAQK,QACAA,OAAOC,aAAgBD,OAAOE,SAAWF,OAAOG,OAHxC,MAKhBV,IAAIW,wBACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model3d.js","sources":["../../../src/Models3d/Entities/Model3d.ts"],"sourcesContent":["import type { TAbstractEntity } from '@
|
|
1
|
+
{"version":3,"file":"Model3d.js","sources":["../../../src/Models3d/Entities/Model3d.ts"],"sourcesContent":["import type { TAbstractEntity } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractEntity, EntityType } from '@hellpig/anarchy-engine/Abstract';\nimport { withObject3d } from '@hellpig/anarchy-engine/Mixins';\nimport { model3dEntityToConfig } from '@hellpig/anarchy-engine/Models3d/Adapters';\nimport { withModel3dEntities } from '@hellpig/anarchy-engine/Models3d/Mixins';\nimport type {\n TModel3d,\n TModel3dConfig,\n TModel3dConfigToParamsDependencies,\n TModel3dDependencies,\n TModel3dEntities,\n TModel3dParams,\n TWithModel3dEntities\n} from '@hellpig/anarchy-engine/Models3d/Models';\nimport {\n applyAnimationsState,\n applyObject3dParamsToModel3d,\n applyPositionToModel3d,\n applyRotationToModel3d,\n applyScaleToModel3d,\n createModels3dEntities,\n isModel3dAlreadyInUse\n} from '@hellpig/anarchy-engine/Models3d/Utils';\nimport { applyObject3dParams, destroyModel3dAnimationEntities, disposeGltf, mergeAll } from '@hellpig/anarchy-engine/Utils';\nimport { isDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Subscription } from 'rxjs';\n\nexport function Model3d(params: TModel3dParams, { animationsService, model3dRawToModel3dConnectionRegistry }: TModel3dDependencies): TModel3d {\n const shouldForceClone: boolean = params.forceClone ?? isModel3dAlreadyInUse(params.model3dSource, model3dRawToModel3dConnectionRegistry);\n let entities: TModel3dEntities = createModels3dEntities({ ...params, forceClone: shouldForceClone }, animationsService);\n const abstract: TAbstractEntity<TWithModel3dEntities> = AbstractEntity(withModel3dEntities(entities), EntityType.Model3d, params);\n\n const getParams = (): TModel3dParams => ({ ...params });\n\n // Maybe we should apply all the params from object3d (can we do it in a more generic way?)\n //applying model's params\n if (isDefined(params.scale)) applyScaleToModel3d(abstract.getRawModel3d(), params.scale);\n if (isDefined(params.rotation)) applyRotationToModel3d(abstract.getRawModel3d(), params.rotation);\n if (isDefined(params.position)) applyPositionToModel3d(abstract.getRawModel3d(), params.position);\n applyObject3dParamsToModel3d(abstract.getRawModel3d(), params);\n\n model3dRawToModel3dConnectionRegistry.addModel3d(abstract.getRawModel3d(), abstract as TModel3d);\n\n const preResult = withObject3d(abstract.getRawModel3d());\n const result: TModel3d = mergeAll(preResult, abstract, {\n getParams,\n serialize: (dependencies: TModel3dConfigToParamsDependencies): TModel3dConfig => model3dEntityToConfig(result, dependencies)\n });\n\n const destroySub$: Subscription = abstract.destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n model3dRawToModel3dConnectionRegistry.removeByModel3d(result.getRawModel3d(), true);\n\n destroyModel3dAnimationEntities(abstract);\n\n // TODO MODELS: This is not tested yet. This dispose function could remove resources (e.g. textures) that could be used by other models.\n disposeGltf(abstract.getRawModel3d());\n entities = null as any;\n });\n\n applyObject3dParams(result, params);\n applyAnimationsState(result, params);\n\n return result;\n}\n"],"names":["Model3d","params","animationsService","model3dRawToModel3dConnectionRegistry","shouldForceClone","forceClone","isModel3dAlreadyInUse","model3dSource","entities","createModels3dEntities","abstract","AbstractEntity","withModel3dEntities","EntityType","isDefined","scale","getRawModel3d","rotation","position","applyObject3dParamsToModel3d","addModel3d","preResult","withObject3d","result","mergeAll","getParams","serialize","dependencies","model3dEntityToConfig","destroySub$","destroy$","subscribe","unsubscribe","removeByModel3d","destroyModel3dAnimationEntities","disposeGltf","applyObject3dParams","applyAnimationsState"],"mappings":"q4BA2BO,SAASA,QAAQC,QAAwBC,kBAAEA,kBAAAC,sCAAmBA,wCACnE,MAAMC,iBAA4BH,OAAOI,YAAcC,sBAAsBL,OAAOM,cAAeJ,uCACnG,IAAIK,SAA6BC,uBAAuB,IAAKR,OAAQI,WAAYD,kBAAoBF,mBACrG,MAAMQ,SAAkDC,eAAeC,oBAAoBJ,UAAWK,WAAWb,QAASC,QAMtHa,UAAUb,OAAOc,4BAA4BL,SAASM,gBAAiBf,OAAOc,OAC9ED,UAAUb,OAAOgB,kCAAkCP,SAASM,gBAAiBf,OAAOgB,UACpFH,UAAUb,OAAOiB,kCAAkCR,SAASM,gBAAiBf,OAAOiB,UACxFC,6BAA6BT,SAASM,gBAAiBf,QAEvDE,sCAAsCiB,WAAWV,SAASM,gBAAiBN,UAE3E,MAAMW,UAAYC,aAAaZ,SAASM,iBAClCO,OAAmBC,SAASH,UAAWX,SAAU,CACrDe,UAbgB,KAAA,IAA4BxB,SAc5CyB,UAAYC,cAAqEC,sBAAsBL,OAAQI,gBAG3GE,YAA4BnB,SAASoB,SAASC,UAAU,KAC5DF,YAAYG,cACZ7B,sCAAsC8B,gBAAgBV,OAAOP,iBAAiB,GAE9EkB,gCAAgCxB,UAGhCyB,YAAYzB,SAASM,iBACrBR,SAAW,OAMb,OAHA4B,oBAAoBb,OAAQtB,QAC5BoC,qBAAqBd,OAAQtB,QAEtBsB,MACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Models3dFactory.js","sources":["../../../src/Models3d/Factories/Models3dFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@
|
|
1
|
+
{"version":3,"file":"Models3dFactory.js","sources":["../../../src/Models3d/Factories/Models3dFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@hellpig/anarchy-engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@hellpig/anarchy-engine/Abstract';\nimport { model3dConfigToParams } from '@hellpig/anarchy-engine/Models3d/Adapters';\nimport { Model3d } from '@hellpig/anarchy-engine/Models3d/Entities';\nimport type { TModel3d, TModel3dParams, TModels3dFactory, TModels3dServiceDependencies } from '@hellpig/anarchy-engine/Models3d/Models';\n\nexport function Models3dFactory(): TModels3dFactory {\n const factory: TReactiveFactory<TModel3d, TModel3dParams, Pick<TModels3dServiceDependencies, 'animationsService' | 'model3dRawToModel3dConnectionRegistry'>> = ReactiveFactory(\n FactoryType.Models3d,\n Model3d\n );\n\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: model3dConfigToParams });\n}\n"],"names":["Models3dFactory","factory","ReactiveFactory","FactoryType","Models3d","Model3d","Object","assign","configToParams","model3dConfigToParams"],"mappings":"uPAMO,SAASA,kBACd,MAAMC,QAAyJC,gBAC7JC,YAAYC,SACZC,SAIF,OAAOC,OAAOC,OAAON,QAAS,CAAEO,eAAgBC,uBAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader3dCore.js","sources":["../../../src/Models3d/Loaders/Loader3dCore.ts"],"sourcesContent":["import type { LoaderType, TAbstractLoader, TAbstractMetaInfoRegistry, TAbstractResourceAsyncRegistry, TAbstractResourceConfig } from '@
|
|
1
|
+
{"version":3,"file":"Loader3dCore.js","sources":["../../../src/Models3d/Loaders/Loader3dCore.ts"],"sourcesContent":["import type { LoaderType, TAbstractLoader, TAbstractMetaInfoRegistry, TAbstractResourceAsyncRegistry, TAbstractResourceConfig } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractLoader } from '@hellpig/anarchy-engine/Abstract';\nimport type { TLoadingManagerWrapper } from '@hellpig/anarchy-engine/LoadingManager';\nimport type { TDracoLoaderSettings } from '@hellpig/anarchy-engine/ThreeLib';\nimport { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';\nimport { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';\n\nexport function Loader3dCore<T, RC extends TAbstractResourceConfig>(\n registry: TAbstractResourceAsyncRegistry<T>,\n metaInfoRegistry: TAbstractMetaInfoRegistry<RC>,\n type: LoaderType,\n loadingManagerWrapper: TLoadingManagerWrapper,\n settings: TDracoLoaderSettings\n): TAbstractLoader<T, RC, TAbstractResourceAsyncRegistry<T>, TAbstractMetaInfoRegistry<RC>> {\n const models3dLoader = new GLTFLoader(loadingManagerWrapper.entity);\n const dracoLoader = new DRACOLoader(loadingManagerWrapper.entity);\n const { dracoLoaderDecoderPath, dracoLoaderDecoderType } = settings;\n dracoLoader.setDecoderPath(dracoLoaderDecoderPath ?? 'three/examples/jsm/libs/draco/');\n dracoLoader.setDecoderConfig({ type: dracoLoaderDecoderType ?? 'wasm' });\n dracoLoader.preload();\n models3dLoader.setDRACOLoader(dracoLoader);\n\n return AbstractLoader(models3dLoader, registry, metaInfoRegistry, type);\n}\n"],"names":["Loader3dCore","registry","metaInfoRegistry","type","loadingManagerWrapper","settings","models3dLoader","GLTFLoader","entity","dracoLoader","DRACOLoader","dracoLoaderDecoderPath","dracoLoaderDecoderType","setDecoderPath","setDecoderConfig","preload","setDRACOLoader","AbstractLoader"],"mappings":"mMAOO,SAASA,aACdC,SACAC,iBACAC,KACAC,sBACAC,UAEA,MAAMC,eAAiB,IAAIC,WAAWH,sBAAsBI,QACtDC,YAAc,IAAIC,YAAYN,sBAAsBI,SACpDG,uBAAEA,uBAAAC,uBAAwBA,wBAA2BP,SAM3D,OALAI,YAAYI,eAAeF,wBAA0B,kCACrDF,YAAYK,iBAAiB,CAAEX,KAAMS,wBAA0B,SAC/DH,YAAYM,UACZT,eAAeU,eAAeP,aAEvBQ,eAAeX,eAAgBL,SAAUC,iBAAkBC,KACpE"}
|