@hellpig/anarchy-engine 22.0.2 → 22.0.4

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.
Files changed (397) hide show
  1. package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
  2. package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
  3. package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
  4. package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
  5. package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
  6. package/dist/Abstract/Models/THtmlElementStyleDeclaration.d.ts +4 -4
  7. package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
  8. package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
  9. package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
  10. package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
  11. package/dist/Abstract/Registries/AbstractWatcherRegistry.js.map +1 -1
  12. package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
  13. package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
  14. package/dist/Abstract/Services/AbstractService.js.map +1 -1
  15. package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
  16. package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
  17. package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
  18. package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
  19. package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
  20. package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
  21. package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
  22. package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
  23. package/dist/Actor/Factories/ActorFactory.js.map +1 -1
  24. package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
  25. package/dist/Actor/Registries/ActorRegistry.js.map +1 -1
  26. package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
  27. package/dist/Actor/Services/ActorService.js.map +1 -1
  28. package/dist/Actor/TransformDrive/ActorTransformDrive.js.map +1 -1
  29. package/dist/Actor/Utils/ActorUtils.js.map +1 -1
  30. package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
  31. package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
  32. package/dist/Animations/Registries/AnimationsMetaInfoRegistry.js.map +1 -1
  33. package/dist/Animations/Registries/AnimationsResourceAsyncRegistry.js.map +1 -1
  34. package/dist/Animations/Services/AnimationsService.js.map +1 -1
  35. package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
  36. package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -1
  37. package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
  38. package/dist/Audio/Factories/AudioFactory.js.map +1 -1
  39. package/dist/Audio/Loader/AudioLoader.js.map +1 -1
  40. package/dist/Audio/Registries/AudioListenersRegistry.js.map +1 -1
  41. package/dist/Audio/Registries/AudioMetaInfoRegistry.js.map +1 -1
  42. package/dist/Audio/Registries/AudioRegistry.js.map +1 -1
  43. package/dist/Audio/Registries/AudioResourceAsyncRegistry.js.map +1 -1
  44. package/dist/Audio/Services/AudioService.js.map +1 -1
  45. package/dist/Audio/TransformDrive/Audio3dTransformDrive.js.map +1 -1
  46. package/dist/Audio/Utils/AudioUtils.js.map +1 -1
  47. package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
  48. package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
  49. package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
  50. package/dist/Audio/Wrappers/AudioWrapper.js.map +1 -1
  51. package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
  52. package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
  53. package/dist/Camera/Factories/CameraFactory.js.map +1 -1
  54. package/dist/Camera/Registries/AbstractCameraRegistry.js.map +1 -1
  55. package/dist/Camera/Services/CameraService.js.map +1 -1
  56. package/dist/Camera/TransformDrive/CameraTransformDrive.js.map +1 -1
  57. package/dist/Camera/Utils/CameraUtils.js.map +1 -1
  58. package/dist/Camera/Wrappers/Accessors.js.map +1 -1
  59. package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
  60. package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
  61. package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
  62. package/dist/Collisions/Services/BvhService.js.map +1 -1
  63. package/dist/Collisions/Services/CollisionsService.js.map +1 -1
  64. package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
  65. package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
  66. package/dist/Context/AmbientContext/AmbientContext.js.map +1 -1
  67. package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
  68. package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
  69. package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
  70. package/dist/Controls/Loop/ControlsLoopEffect.js.map +1 -1
  71. package/dist/Controls/Models/TFpsControlsWrapper.d.ts +1 -1
  72. package/dist/Controls/Models/TOrbitControlsWrapper.d.ts +1 -1
  73. package/dist/Controls/Registries/ControlsRegistry.js.map +1 -1
  74. package/dist/Controls/Services/ControlsService.js.map +1 -1
  75. package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
  76. package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.d.ts +1 -1
  77. package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.js.map +1 -1
  78. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
  79. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
  80. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.d.ts +1 -1
  81. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.js.map +1 -1
  82. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
  83. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
  84. package/dist/Distance/Utils/DistanceUtils.js.map +1 -1
  85. package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
  86. package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
  87. package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
  88. package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
  89. package/dist/EnvMap/Registries/EnvMapMetaInfoRegistry.js.map +1 -1
  90. package/dist/EnvMap/Registries/EnvMapRegistry.js.map +1 -1
  91. package/dist/EnvMap/Registries/EnvMapTextureAsyncRegistry.js.map +1 -1
  92. package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
  93. package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
  94. package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
  95. package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
  96. package/dist/Fog/Factories/FogFactory.js.map +1 -1
  97. package/dist/Fog/Registries/FogRegistry.js.map +1 -1
  98. package/dist/Fog/Services/FogService.js.map +1 -1
  99. package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
  100. package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
  101. package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
  102. package/dist/Fsm/Entities/FsmSource.js.map +1 -1
  103. package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
  104. package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
  105. package/dist/Fsm/Registries/FsmInstanceRegistry.js.map +1 -1
  106. package/dist/Fsm/Registries/FsmSourceRegistry.js.map +1 -1
  107. package/dist/Fsm/Services/FsmInstanceService.js.map +1 -1
  108. package/dist/Fsm/Services/FsmService.js.map +1 -1
  109. package/dist/Fsm/Services/FsmSourceService.js.map +1 -1
  110. package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
  111. package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
  112. package/dist/Global/Utils/ContainerUtils.js.map +1 -1
  113. package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
  114. package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
  115. package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
  116. package/dist/Intersections/Models/TIntersectionsDirectionWatcher.d.ts +1 -1
  117. package/dist/Intersections/Registries/IntersectionsWatcherRegistry.js.map +1 -1
  118. package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
  119. package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
  120. package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
  121. package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
  122. package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
  123. package/dist/Keyboard/Factories/KeyWatcherFactory.js.map +1 -1
  124. package/dist/Keyboard/Registries/KeyWatcherRegistry.js.map +1 -1
  125. package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
  126. package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
  127. package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
  128. package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
  129. package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
  130. package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
  131. package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
  132. package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
  133. package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
  134. package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
  135. package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
  136. package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
  137. package/dist/Light/Factories/LightFactory.js.map +1 -1
  138. package/dist/Light/Registries/LightRegistry.js.map +1 -1
  139. package/dist/Light/Services/LightService.js.map +1 -1
  140. package/dist/Light/TransformDrive/LightTransformDrive.js.map +1 -1
  141. package/dist/Light/Utils/Utils.js.map +1 -1
  142. package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
  143. package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
  144. package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
  145. package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
  146. package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
  147. package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
  148. package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
  149. package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
  150. package/dist/LoadingManager/Factories/LoadingManagerFactory.js.map +1 -1
  151. package/dist/LoadingManager/Registries/LoadingManagerRegistry.js.map +1 -1
  152. package/dist/LoadingManager/Services/LoadingManagerService.js.map +1 -1
  153. package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
  154. package/dist/Loop/Constants/LoopsDefaultSettings.js.map +1 -1
  155. package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
  156. package/dist/Loop/Entities/Loop.js.map +1 -1
  157. package/dist/Loop/Factories/LoopFactory.js.map +1 -1
  158. package/dist/Loop/Registries/LoopRegistry.js.map +1 -1
  159. package/dist/Loop/Services/LoopService.js.map +1 -1
  160. package/dist/Loop/Utils/LoopDebugUtils.js.map +1 -1
  161. package/dist/Loop/Utils/LoopUtils.js.map +1 -1
  162. package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
  163. package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
  164. package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
  165. package/dist/Material/Factories/MaterialFactory.js.map +1 -1
  166. package/dist/Material/Mixins/WithMaterial.d.ts +1 -1
  167. package/dist/Material/Mixins/WithMaterial.js.map +1 -1
  168. package/dist/Material/Models/TMaterialParamsOptions.d.ts +1 -4
  169. package/dist/Material/Registries/MaterialRegistry.js.map +1 -1
  170. package/dist/Material/Services/MaterialService.js.map +1 -1
  171. package/dist/Material/Utils/MaterialUtils.js.map +1 -1
  172. package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
  173. package/dist/Math/Utils/AnglesUtils.js +1 -1
  174. package/dist/Math/Utils/AnglesUtils.js.map +1 -1
  175. package/dist/Math/Utils/DistanceUtils.js.map +1 -1
  176. package/dist/Measurements/Constants/Distance.js.map +1 -1
  177. package/dist/Measurements/Constants/Time.js.map +1 -1
  178. package/dist/Measurements/Utils/MeasurementsUtils.d.ts +1 -1
  179. package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
  180. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.js.map +1 -1
  181. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.js.map +1 -1
  182. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.js.map +1 -1
  183. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.js.map +1 -1
  184. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.js.map +1 -1
  185. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.js.map +1 -1
  186. package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.js.map +1 -1
  187. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
  188. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.js.map +1 -1
  189. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
  190. package/dist/Mixins/GameObjects/Mixins/Position/WithPositionMixin.js.map +1 -1
  191. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.js.map +1 -1
  192. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.js.map +1 -1
  193. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.js.map +1 -1
  194. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.js.map +1 -1
  195. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.js.map +1 -1
  196. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
  197. package/dist/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.js.map +1 -1
  198. package/dist/Mixins/GameObjects/Mixins/WithObject3D.js.map +1 -1
  199. package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
  200. package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
  201. package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
  202. package/dist/Mixins/Generics/WithActiveMixin.js.map +1 -1
  203. package/dist/Mixins/Generics/WithNameAndNameAccessorsMixin.js.map +1 -1
  204. package/dist/Mixins/Services/WithCreateFromConfigService.js.map +1 -1
  205. package/dist/Mixins/Services/WithCreateService.js.map +1 -1
  206. package/dist/Mixins/Services/WithFactoryService.js.map +1 -1
  207. package/dist/Mixins/Services/WithRegistryService.js.map +1 -1
  208. package/dist/Mixins/Services/WithSceneGetterService.js.map +1 -1
  209. package/dist/Mixins/Services/WithSerializableEntities.js.map +1 -1
  210. package/dist/Mixins/Services/WithSerializeAllResources.js.map +1 -1
  211. package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
  212. package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
  213. package/dist/Models3d/Entities/Model3d.js.map +1 -1
  214. package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
  215. package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
  216. package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
  217. package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
  218. package/dist/Models3d/Models/TModel3dParams.d.ts +1 -1
  219. package/dist/Models3d/Models/TModels3dLoader.d.ts +1 -1
  220. package/dist/Models3d/Models/TModels3dResourceAsyncRegistry.d.ts +1 -1
  221. package/dist/Models3d/Models/TModels3dService.d.ts +1 -1
  222. package/dist/Models3d/Registries/Model3dRawToModel3dConnectionRegistry.js.map +1 -1
  223. package/dist/Models3d/Registries/Models3dMetaInfoRegistry.js.map +1 -1
  224. package/dist/Models3d/Registries/Models3dRegistry.js.map +1 -1
  225. package/dist/Models3d/Registries/Models3dResourceAsyncRegistry.js.map +1 -1
  226. package/dist/Models3d/Services/Models3dService.js.map +1 -1
  227. package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
  228. package/dist/Models3d/Utils/UtilsModel3d.d.ts +1 -1
  229. package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
  230. package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
  231. package/dist/Models3d/Utils/UtilsPrimitiveModels3d.d.ts +1 -1
  232. package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
  233. package/dist/Mouse/Factories/MouseClickWatcherFactory.js.map +1 -1
  234. package/dist/Mouse/Factories/MousePositionWatcherFactory.js.map +1 -1
  235. package/dist/Mouse/Registries/MouseClickWatcherRegistry.js.map +1 -1
  236. package/dist/Mouse/Registries/MousePositionWatcherRegistry.js.map +1 -1
  237. package/dist/Mouse/Services/MouseService.js.map +1 -1
  238. package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
  239. package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
  240. package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
  241. package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
  242. package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
  243. package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
  244. package/dist/Particles/Registries/ParticlesRegistry.js.map +1 -1
  245. package/dist/Particles/Services/ParticlesService.js.map +1 -1
  246. package/dist/Particles/TransformDrive/ParticlesTransformDrive.js.map +1 -1
  247. package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
  248. package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
  249. package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
  250. package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js +1 -1
  251. package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
  252. package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
  253. package/dist/Physics/Constants/RigidBodyTypesMap.d.ts +1 -1
  254. package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
  255. package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
  256. package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
  257. package/dist/Physics/Entities/PhysicsBodyUtils.d.ts +1 -1
  258. package/dist/Physics/Entities/PhysicsBodyUtils.js +1 -1
  259. package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
  260. package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
  261. package/dist/Physics/Mixins/WithPhysicsBodyEntities.js.map +1 -1
  262. package/dist/Physics/Models/TPhysicsWorldService.d.ts +1 -1
  263. package/dist/Physics/Registries/PhysicsBodyRegistry.js.map +1 -1
  264. package/dist/Physics/Renderers/PhysicsDebugRenderer.d.ts +1 -1
  265. package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
  266. package/dist/Physics/Services/PhysicsBodyService.js.map +1 -1
  267. package/dist/Physics/Services/PhysicsWorldService.js +1 -1
  268. package/dist/Physics/Services/PhysicsWorldService.js.map +1 -1
  269. package/dist/Physics/Utils/ParamsUtils.js.map +1 -1
  270. package/dist/Physics/Utils/PhysicsMovementUtils.d.ts +2 -2
  271. package/dist/Physics/Utils/PhysicsMovementUtils.js +1 -1
  272. package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
  273. package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
  274. package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
  275. package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
  276. package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
  277. package/dist/Renderer/Mixins/WithThreeJsRendererParamsAccessors.js.map +1 -1
  278. package/dist/Renderer/Mixins/WithThreeJsRendererPropsAccessors.js.map +1 -1
  279. package/dist/Renderer/Registries/RendererRegistry.js.map +1 -1
  280. package/dist/Renderer/Services/RendererService.js.map +1 -1
  281. package/dist/Renderer/Wrappers/Accessors.js.map +1 -1
  282. package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
  283. package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
  284. package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
  285. package/dist/Scene/Factories/SceneFactory.js.map +1 -1
  286. package/dist/Scene/Registries/SceneRegistry.js.map +1 -1
  287. package/dist/Scene/Services/ScenesService.js.map +1 -1
  288. package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
  289. package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
  290. package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
  291. package/dist/Space/Entities/Space.js.map +1 -1
  292. package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
  293. package/dist/Space/Factories/SpaceFactory.js.map +1 -1
  294. package/dist/Space/Registries/SpaceRegistry.js.map +1 -1
  295. package/dist/Space/Services/SpaceService.js.map +1 -1
  296. package/dist/Space/Utils/CanvasUtils.js.map +1 -1
  297. package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
  298. package/dist/Space/Utils/CreateLoopsUtils.js.map +1 -1
  299. package/dist/Space/Utils/LoadResourcesUtils.js.map +1 -1
  300. package/dist/Space/Utils/PrepareServicesUtils.js.map +1 -1
  301. package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
  302. package/dist/Space/Validators/SchemasValidator.js.map +1 -1
  303. package/dist/Space/Validators/ValidateConfig.js.map +1 -1
  304. package/dist/Space/Validators/ValidateSpace.js.map +1 -1
  305. package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
  306. package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
  307. package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
  308. package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
  309. package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
  310. package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
  311. package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
  312. package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
  313. package/dist/Spatial/Registries/SpatialGridRegistry.js.map +1 -1
  314. package/dist/Spatial/Services/SpatialGridService.js.map +1 -1
  315. package/dist/Spatial/Services/SpatialHelper.d.ts +1 -1
  316. package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
  317. package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
  318. package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
  319. package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
  320. package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
  321. package/dist/Text/Factories/TextFactory.js.map +1 -1
  322. package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
  323. package/dist/Text/Models/TText2dRenderer.d.ts +1 -1
  324. package/dist/Text/Models/TText2dWrapper.d.ts +1 -1
  325. package/dist/Text/Models/TText3dRenderer.d.ts +1 -1
  326. package/dist/Text/Models/TText3dWrapper.d.ts +1 -1
  327. package/dist/Text/Models/TTextRenderer.d.ts +2 -2
  328. package/dist/Text/Models/TTextWrapper.d.ts +2 -2
  329. package/dist/Text/Registries/Text2dRegistry.js.map +1 -1
  330. package/dist/Text/Registries/Text2dRendererRegistry.js.map +1 -1
  331. package/dist/Text/Registries/Text3dRegistry.js.map +1 -1
  332. package/dist/Text/Registries/Text3dRendererRegistry.js.map +1 -1
  333. package/dist/Text/Registries/Text3dTextureRegistry.js.map +1 -1
  334. package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
  335. package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
  336. package/dist/Text/Renderers/TextRendererBuilder.d.ts +2 -2
  337. package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
  338. package/dist/Text/Services/TextService.js.map +1 -1
  339. package/dist/Text/TransformDrive/TextTransformDrive.js.map +1 -1
  340. package/dist/Text/Utils/TextUtils.js.map +1 -1
  341. package/dist/Text/Wrappers/Accessors.js.map +1 -1
  342. package/dist/Text/Wrappers/Text2dWrapper.js.map +1 -1
  343. package/dist/Text/Wrappers/Text3dTextureWrapper.js.map +1 -1
  344. package/dist/Text/Wrappers/Text3dWrapper.js.map +1 -1
  345. package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
  346. package/dist/Text/Wrappers/TextWrapper.d.ts +2 -2
  347. package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
  348. package/dist/Text/Wrappers/TextWrapperBuilder.js.map +1 -1
  349. package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
  350. package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
  351. package/dist/Texture/Registries/TextureMetaInfoRegistry.js.map +1 -1
  352. package/dist/Texture/Registries/TextureResourceAsyncRegistry.js.map +1 -1
  353. package/dist/Texture/Services/TextureService.js.map +1 -1
  354. package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
  355. package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
  356. package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
  357. package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
  358. package/dist/TransformDrive/Entities/Agents/ConnectedTransformAgent.js.map +1 -1
  359. package/dist/TransformDrive/Entities/Agents/DefaultTransformAgent.js.map +1 -1
  360. package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
  361. package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
  362. package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
  363. package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
  364. package/dist/TransformDrive/Factories/TransformDriveFactory.js.map +1 -1
  365. package/dist/TransformDrive/Mixins/WithMutablePositionConnector.js.map +1 -1
  366. package/dist/TransformDrive/Mixins/WithMutableRotationConnector.js.map +1 -1
  367. package/dist/TransformDrive/Mixins/WithMutableScaleConnector.js.map +1 -1
  368. package/dist/TransformDrive/Mixins/WithProxyTransform.js.map +1 -1
  369. package/dist/TransformDrive/Registries/TransformDriveRegistry.js.map +1 -1
  370. package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
  371. package/dist/TransformDrive/Utils/ActorDriveUtils.js.map +1 -1
  372. package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
  373. package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
  374. package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.d.ts +1 -1
  375. package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
  376. package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
  377. package/dist/Utils/CheckUtils.js.map +1 -1
  378. package/dist/Utils/CoordsUtils.js.map +1 -1
  379. package/dist/Utils/DateTimeUtils.d.ts +1 -1
  380. package/dist/Utils/DestroyUtils.js.map +1 -1
  381. package/dist/Utils/DomUtils.js.map +1 -1
  382. package/dist/Utils/EntityUtils.js.map +1 -1
  383. package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
  384. package/dist/Utils/RegistryUtils.js.map +1 -1
  385. package/dist/Utils/RxJsUtils.js.map +1 -1
  386. package/dist/Utils/ScreenUtils.js.map +1 -1
  387. package/dist/Utils/TagsUtils.js.map +1 -1
  388. package/dist/Utils/TransformUtils.js.map +1 -1
  389. package/dist/Utils/WrapperHelpers.d.ts +1 -1
  390. package/dist/Utils/WrapperHelpers.js.map +1 -1
  391. package/dist/assets/Loop.worker-D1bMWlsN.js.map +1 -1
  392. package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -1
  393. package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -1
  394. package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -1
  395. package/legal/NOTICE.md +1 -1
  396. package/legal/THIRD_PARTY_LICENSES.md +1 -1
  397. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialUtils.js","sources":["../../../src/Material/Utils/MaterialUtils.ts"],"sourcesContent":["import { MaterialMap, MaterialType } from '@Anarchy/Engine/Material/Constants';\nimport type { TMaterialParams, TMaterialParamsOptions, TMaterials, TTypeOfMaterials } from '@Anarchy/Engine/Material/Models';\nimport type { TEulerLike, TEulerString } from '@Anarchy/Engine/ThreeLib';\nimport { eulerToXyz, vector2ToXy, vector3ToXyz } from '@Anarchy/Engine/Utils';\nimport type { TWithoutNull } from '@Anarchy/Shared/Utils';\nimport { isNotDefined } from '@Anarchy/Shared/Utils';\nimport type {\n LineDashedMaterial,\n Material,\n MeshBasicMaterial,\n MeshDepthMaterial,\n MeshLambertMaterial,\n MeshMatcapMaterial,\n MeshPhongMaterial,\n MeshPhysicalMaterial,\n MeshStandardMaterial,\n PointsMaterial,\n SpriteMaterial,\n Vector2Like,\n Vector3Like\n} from 'three';\n\nexport function isPointsMaterial<T extends Material | ReadonlyArray<Material>>(material: PointsMaterial | T): material is PointsMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Points;\n}\n\nexport function isPhysicalMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshPhysicalMaterial | T): material is MeshPhysicalMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Physical;\n}\n\nexport function isLineDashedMaterial<T extends Material | ReadonlyArray<Material>>(material: LineDashedMaterial | T): material is LineDashedMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.LineDashed;\n}\n\nexport function isBasicMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshBasicMaterial | T): material is MeshBasicMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Basic;\n}\n\nexport function isStandardMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshStandardMaterial | T): material is MeshStandardMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Standard;\n}\n\nexport function isLambertMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshLambertMaterial | T): material is MeshLambertMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Lambert;\n}\n\nexport function isDepthMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshDepthMaterial | T): material is MeshDepthMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Depth;\n}\nexport function isMatcapMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshMatcapMaterial | T): material is MeshMatcapMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Matcap;\n}\n\nexport function isNodeMaterial<T extends Material | ReadonlyArray<Material>>(material: SpriteMaterial | T): material is SpriteMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Sprite;\n}\n\nexport function isPhongMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshPhongMaterial | T): material is MeshPhongMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Phong;\n}\n\nexport function buildMaterial(params: TMaterialParams): TMaterials {\n const { type, options, textures } = params;\n\n const MaterialConstructor: TTypeOfMaterials = MaterialMap[type];\n if (isNotDefined(MaterialConstructor)) throw new Error(`Unsupported material type: ${type}`);\n return new MaterialConstructor({ ...(options as TWithoutNull<TMaterialParamsOptions>), ...textures });\n}\n\nexport function getOptionName<T extends string, V>(option: V, optionsMap: Readonly<Record<T, V>>, name: string): T | never {\n const optionName: T | undefined = Object.entries(optionsMap).find(([, value]: [string, unknown]): boolean => value === option)?.[0] as T | undefined;\n if (!optionName) throw new Error(`Cannot get option name of material's option \"${name}\": Unsupported option \"${option}\". Possible options: ${Object.values(optionsMap).join(', ')}`);\n return optionName;\n}\n\nexport function getOptionNameIfPossible<T extends string, V>(option: V | undefined, optionsMap: Readonly<Record<T, V>>, name: string): T | undefined {\n if (option === undefined) return undefined;\n return getOptionName(option, optionsMap, name);\n}\n\nexport function vector2ToXyIfPossible(vector: Vector2Like | undefined): Readonly<{ x: number; y: number }> {\n if (isNotDefined(vector)) return { x: 0, y: 0 };\n return vector2ToXy(vector);\n}\n\nexport function vector3ToXyzIfPossible(vector: Vector3Like | undefined): Readonly<{ x: number; y: number; z: number }> {\n if (isNotDefined(vector)) return { x: 0, y: 0, z: 0 };\n return vector3ToXyz(vector);\n}\n\nexport function eulerToXyzIfPossible(euler: TEulerLike | TEulerString | undefined): Readonly<{\n x: number;\n y: number;\n z: number;\n order?: 'XYZ' | 'XZY' | 'YXZ' | 'YZX' | 'ZXY' | 'ZYX';\n}> {\n if (isNotDefined(euler)) return { x: 0, y: 0, z: 0 };\n return eulerToXyz(euler);\n}\n"],"names":["isPointsMaterial","material","Array","isArray","type","MaterialType","Points","isPhysicalMaterial","Physical","isLineDashedMaterial","LineDashed","isBasicMaterial","Basic","isStandardMaterial","Standard","isLambertMaterial","Lambert","isDepthMaterial","Depth","isMatcapMaterial","Matcap","isNodeMaterial","Sprite","isPhongMaterial","Phong","buildMaterial","params","options","textures","MaterialConstructor","MaterialMap","isNotDefined","Error","getOptionName","option","optionsMap","name","optionName","Object","entries","find","value","values","join","getOptionNameIfPossible","vector2ToXyIfPossible","vector","x","y","vector2ToXy","vector3ToXyzIfPossible","z","vector3ToXyz","eulerToXyzIfPossible","euler","eulerToXyz"],"mappings":"6RAsBO,SAASA,iBAA+DC,UAC7E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaC,MAClF,CAEO,SAASC,mBAAiEN,UAC/E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaG,QAClF,CAEO,SAASC,qBAAmER,UACjF,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaK,UAClF,CAEO,SAASC,gBAA8DV,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaO,KAClF,CAEO,SAASC,mBAAiEZ,UAC/E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaS,QAClF,CAEO,SAASC,kBAAgEd,UAC9E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaW,OAClF,CAEO,SAASC,gBAA8DhB,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaa,KAClF,CACO,SAASC,iBAA+DlB,UAC7E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAae,MAClF,CAEO,SAASC,eAA6DpB,UAC3E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaiB,MAClF,CAEO,SAASC,gBAA8DtB,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAamB,KAClF,CAEO,SAASC,cAAcC,QAC5B,MAAMtB,KAAEA,KAAAuB,QAAMA,QAAAC,SAASA,UAAaF,OAE9BG,oBAAwCC,YAAY1B,MAC1D,GAAI2B,aAAaF,qBAAsB,MAAM,IAAIG,MAAM,8BAA8B5B,QACrF,OAAO,IAAIyB,oBAAoB,IAAMF,WAAqDC,UAC5F,CAEO,SAASK,cAAmCC,OAAWC,WAAoCC,MAChG,MAAMC,WAA4BC,OAAOC,QAAQJ,YAAYK,KAAK,EAAC,CAAGC,SAAuCA,QAAUP,UAAU,GACjI,IAAKG,WAAY,MAAM,IAAIL,MAAM,gDAAgDI,8BAA8BF,8BAA8BI,OAAOI,OAAOP,YAAYQ,KAAK,SAC5K,OAAON,UACT,CAEO,SAASO,wBAA6CV,OAAuBC,WAAoCC,MACtH,QAAe,IAAXF,OACJ,OAAOD,cAAcC,OAAQC,WAAYC,KAC3C,CAEO,SAASS,sBAAsBC,QACpC,OAAIf,aAAae,QAAgB,CAAEC,EAAG,EAAGC,EAAG,GACrCC,YAAYH,OACrB,CAEO,SAASI,uBAAuBJ,QACrC,OAAIf,aAAae,QAAgB,CAAEC,EAAG,EAAGC,EAAG,EAAGG,EAAG,GAC3CC,aAAaN,OACtB,CAEO,SAASO,qBAAqBC,OAMnC,OAAIvB,aAAauB,OAAe,CAAEP,EAAG,EAAGC,EAAG,EAAGG,EAAG,GAC1CI,WAAWD,MACpB"}
1
+ {"version":3,"file":"MaterialUtils.js","sources":["../../../src/Material/Utils/MaterialUtils.ts"],"sourcesContent":["import { MaterialMap, MaterialType } from '@hellpig/anarchy-engine/Material/Constants';\nimport type { TMaterialParams, TMaterialParamsOptions, TMaterials, TTypeOfMaterials } from '@hellpig/anarchy-engine/Material/Models';\nimport type { TEulerLike, TEulerString } from '@hellpig/anarchy-engine/ThreeLib';\nimport { eulerToXyz, vector2ToXy, vector3ToXyz } from '@hellpig/anarchy-engine/Utils';\nimport type { TWithoutNull } from '@hellpig/anarchy-shared/Utils';\nimport { isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type {\n LineDashedMaterial,\n Material,\n MeshBasicMaterial,\n MeshDepthMaterial,\n MeshLambertMaterial,\n MeshMatcapMaterial,\n MeshPhongMaterial,\n MeshPhysicalMaterial,\n MeshStandardMaterial,\n PointsMaterial,\n SpriteMaterial,\n Vector2Like,\n Vector3Like\n} from 'three';\n\nexport function isPointsMaterial<T extends Material | ReadonlyArray<Material>>(material: PointsMaterial | T): material is PointsMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Points;\n}\n\nexport function isPhysicalMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshPhysicalMaterial | T): material is MeshPhysicalMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Physical;\n}\n\nexport function isLineDashedMaterial<T extends Material | ReadonlyArray<Material>>(material: LineDashedMaterial | T): material is LineDashedMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.LineDashed;\n}\n\nexport function isBasicMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshBasicMaterial | T): material is MeshBasicMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Basic;\n}\n\nexport function isStandardMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshStandardMaterial | T): material is MeshStandardMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Standard;\n}\n\nexport function isLambertMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshLambertMaterial | T): material is MeshLambertMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Lambert;\n}\n\nexport function isDepthMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshDepthMaterial | T): material is MeshDepthMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Depth;\n}\nexport function isMatcapMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshMatcapMaterial | T): material is MeshMatcapMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Matcap;\n}\n\nexport function isNodeMaterial<T extends Material | ReadonlyArray<Material>>(material: SpriteMaterial | T): material is SpriteMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Sprite;\n}\n\nexport function isPhongMaterial<T extends Material | ReadonlyArray<Material>>(material: MeshPhongMaterial | T): material is MeshPhongMaterial {\n return !Array.isArray(material) && (material as Material).type === MaterialType.Phong;\n}\n\nexport function buildMaterial(params: TMaterialParams): TMaterials {\n const { type, options, textures } = params;\n\n const MaterialConstructor: TTypeOfMaterials = MaterialMap[type];\n if (isNotDefined(MaterialConstructor)) throw new Error(`Unsupported material type: ${type}`);\n return new MaterialConstructor({ ...(options as TWithoutNull<TMaterialParamsOptions>), ...textures });\n}\n\nexport function getOptionName<T extends string, V>(option: V, optionsMap: Readonly<Record<T, V>>, name: string): T | never {\n const optionName: T | undefined = Object.entries(optionsMap).find(([, value]: [string, unknown]): boolean => value === option)?.[0] as T | undefined;\n if (!optionName) throw new Error(`Cannot get option name of material's option \"${name}\": Unsupported option \"${option}\". Possible options: ${Object.values(optionsMap).join(', ')}`);\n return optionName;\n}\n\nexport function getOptionNameIfPossible<T extends string, V>(option: V | undefined, optionsMap: Readonly<Record<T, V>>, name: string): T | undefined {\n if (option === undefined) return undefined;\n return getOptionName(option, optionsMap, name);\n}\n\nexport function vector2ToXyIfPossible(vector: Vector2Like | undefined): Readonly<{ x: number; y: number }> {\n if (isNotDefined(vector)) return { x: 0, y: 0 };\n return vector2ToXy(vector);\n}\n\nexport function vector3ToXyzIfPossible(vector: Vector3Like | undefined): Readonly<{ x: number; y: number; z: number }> {\n if (isNotDefined(vector)) return { x: 0, y: 0, z: 0 };\n return vector3ToXyz(vector);\n}\n\nexport function eulerToXyzIfPossible(euler: TEulerLike | TEulerString | undefined): Readonly<{\n x: number;\n y: number;\n z: number;\n order?: 'XYZ' | 'XZY' | 'YXZ' | 'YZX' | 'ZXY' | 'ZYX';\n}> {\n if (isNotDefined(euler)) return { x: 0, y: 0, z: 0 };\n return eulerToXyz(euler);\n}\n"],"names":["isPointsMaterial","material","Array","isArray","type","MaterialType","Points","isPhysicalMaterial","Physical","isLineDashedMaterial","LineDashed","isBasicMaterial","Basic","isStandardMaterial","Standard","isLambertMaterial","Lambert","isDepthMaterial","Depth","isMatcapMaterial","Matcap","isNodeMaterial","Sprite","isPhongMaterial","Phong","buildMaterial","params","options","textures","MaterialConstructor","MaterialMap","isNotDefined","Error","getOptionName","option","optionsMap","name","optionName","Object","entries","find","value","values","join","getOptionNameIfPossible","vector2ToXyIfPossible","vector","x","y","vector2ToXy","vector3ToXyzIfPossible","z","vector3ToXyz","eulerToXyzIfPossible","euler","eulerToXyz"],"mappings":"6RAsBO,SAASA,iBAA+DC,UAC7E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaC,MAClF,CAEO,SAASC,mBAAiEN,UAC/E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaG,QAClF,CAEO,SAASC,qBAAmER,UACjF,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaK,UAClF,CAEO,SAASC,gBAA8DV,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaO,KAClF,CAEO,SAASC,mBAAiEZ,UAC/E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaS,QAClF,CAEO,SAASC,kBAAgEd,UAC9E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaW,OAClF,CAEO,SAASC,gBAA8DhB,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaa,KAClF,CACO,SAASC,iBAA+DlB,UAC7E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAae,MAClF,CAEO,SAASC,eAA6DpB,UAC3E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAaiB,MAClF,CAEO,SAASC,gBAA8DtB,UAC5E,OAAQC,MAAMC,QAAQF,WAAcA,SAAsBG,OAASC,aAAamB,KAClF,CAEO,SAASC,cAAcC,QAC5B,MAAMtB,KAAEA,KAAAuB,QAAMA,QAAAC,SAASA,UAAaF,OAE9BG,oBAAwCC,YAAY1B,MAC1D,GAAI2B,aAAaF,qBAAsB,MAAM,IAAIG,MAAM,8BAA8B5B,QACrF,OAAO,IAAIyB,oBAAoB,IAAMF,WAAqDC,UAC5F,CAEO,SAASK,cAAmCC,OAAWC,WAAoCC,MAChG,MAAMC,WAA4BC,OAAOC,QAAQJ,YAAYK,KAAK,EAAC,CAAGC,SAAuCA,QAAUP,UAAU,GACjI,IAAKG,WAAY,MAAM,IAAIL,MAAM,gDAAgDI,8BAA8BF,8BAA8BI,OAAOI,OAAOP,YAAYQ,KAAK,SAC5K,OAAON,UACT,CAEO,SAASO,wBAA6CV,OAAuBC,WAAoCC,MACtH,QAAe,IAAXF,OACJ,OAAOD,cAAcC,OAAQC,WAAYC,KAC3C,CAEO,SAASS,sBAAsBC,QACpC,OAAIf,aAAae,QAAgB,CAAEC,EAAG,EAAGC,EAAG,GACrCC,YAAYH,OACrB,CAEO,SAASI,uBAAuBJ,QACrC,OAAIf,aAAae,QAAgB,CAAEC,EAAG,EAAGC,EAAG,EAAGG,EAAG,GAC3CC,aAAaN,OACtB,CAEO,SAASO,qBAAqBC,OAMnC,OAAIvB,aAAauB,OAAe,CAAEP,EAAG,EAAGC,EAAG,EAAGG,EAAG,GAC1CI,WAAWD,MACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialWrapper.js","sources":["../../../src/Material/Wrappers/MaterialWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport { materialEntityToConfig } from '@Anarchy/Engine/Material/Adapters';\nimport type { TAnyMaterialWrapper, TMaterialConfig, TMaterialEntityToConfigDependencies, TMaterialParams, TMaterials } from '@Anarchy/Engine/Material/Models';\nimport { buildMaterial } from '@Anarchy/Engine/Material/Utils';\n\nexport function MaterialWrapper(params: TMaterialParams): TAnyMaterialWrapper {\n const entity: TMaterials = buildMaterial(params);\n\n const result: TAnyMaterialWrapper = Object.assign(AbstractWrapper(entity, WrapperType.Material, params), {\n entity,\n serialize: (dependencies: TMaterialEntityToConfigDependencies): TMaterialConfig => materialEntityToConfig(result, dependencies)\n }) as TAnyMaterialWrapper;\n\n return result;\n}\n"],"names":["MaterialWrapper","params","entity","buildMaterial","result","Object","assign","AbstractWrapper","WrapperType","Material","serialize","dependencies","materialEntityToConfig"],"mappings":"gQAKO,SAASA,gBAAgBC,QAC9B,MAAMC,OAAqBC,cAAcF,QAEnCG,OAA8BC,OAAOC,OAAOC,gBAAgBL,OAAQM,YAAYC,SAAUR,QAAS,CACvGC,cACAQ,UAAYC,cAAuEC,uBAAuBR,OAAQO,gBAGpH,OAAOP,MACT"}
1
+ {"version":3,"file":"MaterialWrapper.js","sources":["../../../src/Material/Wrappers/MaterialWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@hellpig/anarchy-engine/Abstract';\nimport { materialEntityToConfig } from '@hellpig/anarchy-engine/Material/Adapters';\nimport type { TAnyMaterialWrapper, TMaterialConfig, TMaterialEntityToConfigDependencies, TMaterialParams, TMaterials } from '@hellpig/anarchy-engine/Material/Models';\nimport { buildMaterial } from '@hellpig/anarchy-engine/Material/Utils';\n\nexport function MaterialWrapper(params: TMaterialParams): TAnyMaterialWrapper {\n const entity: TMaterials = buildMaterial(params);\n\n const result: TAnyMaterialWrapper = Object.assign(AbstractWrapper(entity, WrapperType.Material, params), {\n entity,\n serialize: (dependencies: TMaterialEntityToConfigDependencies): TMaterialConfig => materialEntityToConfig(result, dependencies)\n }) as TAnyMaterialWrapper;\n\n return result;\n}\n"],"names":["MaterialWrapper","params","entity","buildMaterial","result","Object","assign","AbstractWrapper","WrapperType","Material","serialize","dependencies","materialEntityToConfig"],"mappings":"gQAKO,SAASA,gBAAgBC,QAC9B,MAAMC,OAAqBC,cAAcF,QAEnCG,OAA8BC,OAAOC,OAAOC,gBAAgBL,OAAQM,YAAYC,SAAUR,QAAS,CACvGC,cACAQ,UAAYC,cAAuEC,uBAAuBR,OAAQO,gBAGpH,OAAOP,MACT"}
@@ -1,2 +1,2 @@
1
- import{isQuaternionLike,isEulerLike}from"../../Utils/CheckUtils.js";import{Vector3,Euler,Quaternion}from"three";import{euclideanModulo,degToRad,radToDeg}from"three/src/math/MathUtils";import{ForwardAxis}from"../../Kinematic/Constants/ForwardAxis.js";import{radiansPerSecond,metersPerSecond}from"../../Distance/Utils/DistanceUtils.js";function getHorizontalAzimuth(x,z,point,forwardAxis){let azimuthRad=Math.atan2(point.z-z,point.x-x);return forwardAxis.toLocaleLowerCase()==="Z".toLocaleLowerCase()&&(azimuthRad=-azimuthRad+Math.PI/2),azimuthRad=euclideanModulo(azimuthRad,2*Math.PI),azimuthRad}function getElevation(x,y,z,point){const dy=point.y-y,horizontalDistance=Math.sqrt((point.x-x)**2+(point.z-z)**2);return Math.atan2(dy,horizontalDistance)}function getAzimuthElevationFromQuaternion(q){const{x:x,y:y,z:z,w:w}=q;return{azimuth:Math.atan2(2*(w*z+x*y),1-2*(y*y+z*z)),elevation:Math.asin(2*(w*y-z*x))}}function getAzimuthElevationFromVector(v,forwardAxis){let azimuth;azimuth=forwardAxis===ForwardAxis.Z?Math.atan2(v.x,v.z):Math.atan2(v.z,v.x);const elevation=Math.atan2(v.y,Math.sqrt(v.x*v.x+v.z*v.z));return{azimuth:euclideanModulo(azimuth,2*Math.PI),elevation:elevation}}const getAzimuthFromDirection=direction=>{let azimuth=Math.atan2(direction.z,direction.x);return azimuth<0&&(azimuth+=2*Math.PI),azimuth},getAzimuthFromQuaternionDirection=quaternion=>{const{x:x,y:y,z:z,w:w}=quaternion;let azimuth=Math.atan2(2*(w*y+z*x),1-2*(x*x+y*y));return azimuth<0&&(azimuth+=2*Math.PI),azimuth},getElevationFromDirection=direction=>Math.atan2(direction.y,Math.sqrt(direction.x**2+direction.z**2)),getElevationFromQuaternionDirection=quaternion=>{const{x:x,y:y,z:z,w:w}=quaternion;return Math.asin(2*(w*x-y*z))},getDirectionFromLinearVelocity=linearVelocity=>linearVelocity.clone().normalize(),getSpeedFromLinearVelocity=linearVelocity=>metersPerSecond(linearVelocity.length()),getLinearVelocityByDeg=(speed,azimuth,elevation)=>{const azimuthRad=degToRad(azimuth),elevationRad=degToRad(elevation);return new Vector3(speed*Math.cos(elevationRad)*Math.cos(azimuthRad),speed*Math.sin(elevationRad),speed*Math.cos(elevationRad)*Math.sin(azimuthRad))},getLinearVelocity=(speed,azimuth,elevation)=>new Vector3(speed*Math.cos(elevation)*Math.cos(azimuth),speed*Math.sin(elevation),speed*Math.cos(elevation)*Math.sin(azimuth)),getSpeedFromAngularVelocity=angularVelocity=>radiansPerSecond(angularVelocity.length()),getDirectionFromAngularVelocity=angularVelocity=>angularVelocity.clone().normalize();function get3DAzimuth(center,point){const dx=point.x-center.x,dy=point.y-center.y,dz=point.z-center.z;let azimuth=Math.atan2(dz,dx);azimuth<0&&(azimuth+=2*Math.PI);const horizontalDistance=Math.sqrt(dx*dx+dz*dz);return{azimuth:azimuth,elevation:Math.atan2(dy,horizontalDistance)}}function degreesToEuler(degrees){const radians={x:degToRad(degrees.x),y:degToRad(degrees.y),z:degToRad(degrees.z)};return new Vector3(radians.x,radians.y,radians.z)}function degreesToQuaternion(degrees){const radians={x:degToRad(degrees.x),y:degToRad(degrees.y),z:degToRad(degrees.z)},euler=new Euler(radians.x,radians.y,radians.z);return(new Quaternion).setFromEuler(euler)}function quaternionToDegrees(quaternion){const q=new Quaternion(quaternion.x,quaternion.y,quaternion.z,quaternion.w),euler=(new Euler).setFromQuaternion(q,"XYZ");return new Vector3(radToDeg(euler.x),radToDeg(euler.y),radToDeg(euler.z))}function applyRotationOffsetWithReorder(target,source,offset,order="XYZ"){source.reorder(order),target.set(source.x+offset.x,source.y+offset.y,source.z+offset.z,order),target.set(euclideanModulo(target.x+Math.PI,2*Math.PI)-Math.PI,euclideanModulo(target.y+Math.PI,2*Math.PI)-Math.PI,euclideanModulo(target.z+Math.PI,2*Math.PI)-Math.PI)}function toQuaternion(quaternionOrEuler){if(isQuaternionLike(quaternionOrEuler))return new Quaternion(quaternionOrEuler.x,quaternionOrEuler.y,quaternionOrEuler.z,quaternionOrEuler.w);if(isEulerLike(quaternionOrEuler))return(new Quaternion).setFromEuler(new Euler(quaternionOrEuler.x,quaternionOrEuler.y,quaternionOrEuler.z));throw new Error("Entity must be Quaternion or Euler, but it is something else")}export{applyRotationOffsetWithReorder,degreesToEuler,degreesToQuaternion,get3DAzimuth,getAzimuthElevationFromQuaternion,getAzimuthElevationFromVector,getAzimuthFromDirection,getAzimuthFromQuaternionDirection,getDirectionFromAngularVelocity,getDirectionFromLinearVelocity,getElevation,getElevationFromDirection,getElevationFromQuaternionDirection,getHorizontalAzimuth,getLinearVelocity,getLinearVelocityByDeg,getSpeedFromAngularVelocity,getSpeedFromLinearVelocity,quaternionToDegrees,toQuaternion};
1
+ import{isQuaternionLike,isEulerLike}from"../../Utils/CheckUtils.js";import{Vector3,Euler,Quaternion,MathUtils}from"three";import{ForwardAxis}from"../../Kinematic/Constants/ForwardAxis.js";import{radiansPerSecond,metersPerSecond}from"../../Distance/Utils/DistanceUtils.js";const{degToRad:degToRad,euclideanModulo:euclideanModulo,radToDeg:radToDeg}=MathUtils;function getHorizontalAzimuth(x,z,point,forwardAxis){let azimuthRad=Math.atan2(point.z-z,point.x-x);return forwardAxis.toLocaleLowerCase()==="Z".toLocaleLowerCase()&&(azimuthRad=-azimuthRad+Math.PI/2),azimuthRad=euclideanModulo(azimuthRad,2*Math.PI),azimuthRad}function getElevation(x,y,z,point){const dy=point.y-y,horizontalDistance=Math.sqrt((point.x-x)**2+(point.z-z)**2);return Math.atan2(dy,horizontalDistance)}function getAzimuthElevationFromQuaternion(q){const{x:x,y:y,z:z,w:w}=q;return{azimuth:Math.atan2(2*(w*z+x*y),1-2*(y*y+z*z)),elevation:Math.asin(2*(w*y-z*x))}}function getAzimuthElevationFromVector(v,forwardAxis){let azimuth;azimuth=forwardAxis===ForwardAxis.Z?Math.atan2(v.x,v.z):Math.atan2(v.z,v.x);const elevation=Math.atan2(v.y,Math.sqrt(v.x*v.x+v.z*v.z));return{azimuth:euclideanModulo(azimuth,2*Math.PI),elevation:elevation}}const getAzimuthFromDirection=direction=>{let azimuth=Math.atan2(direction.z,direction.x);return azimuth<0&&(azimuth+=2*Math.PI),azimuth},getAzimuthFromQuaternionDirection=quaternion=>{const{x:x,y:y,z:z,w:w}=quaternion;let azimuth=Math.atan2(2*(w*y+z*x),1-2*(x*x+y*y));return azimuth<0&&(azimuth+=2*Math.PI),azimuth},getElevationFromDirection=direction=>Math.atan2(direction.y,Math.sqrt(direction.x**2+direction.z**2)),getElevationFromQuaternionDirection=quaternion=>{const{x:x,y:y,z:z,w:w}=quaternion;return Math.asin(2*(w*x-y*z))},getDirectionFromLinearVelocity=linearVelocity=>linearVelocity.clone().normalize(),getSpeedFromLinearVelocity=linearVelocity=>metersPerSecond(linearVelocity.length()),getLinearVelocityByDeg=(speed,azimuth,elevation)=>{const azimuthRad=degToRad(azimuth),elevationRad=degToRad(elevation);return new Vector3(speed*Math.cos(elevationRad)*Math.cos(azimuthRad),speed*Math.sin(elevationRad),speed*Math.cos(elevationRad)*Math.sin(azimuthRad))},getLinearVelocity=(speed,azimuth,elevation)=>new Vector3(speed*Math.cos(elevation)*Math.cos(azimuth),speed*Math.sin(elevation),speed*Math.cos(elevation)*Math.sin(azimuth)),getSpeedFromAngularVelocity=angularVelocity=>radiansPerSecond(angularVelocity.length()),getDirectionFromAngularVelocity=angularVelocity=>angularVelocity.clone().normalize();function get3DAzimuth(center,point){const dx=point.x-center.x,dy=point.y-center.y,dz=point.z-center.z;let azimuth=Math.atan2(dz,dx);azimuth<0&&(azimuth+=2*Math.PI);const horizontalDistance=Math.sqrt(dx*dx+dz*dz);return{azimuth:azimuth,elevation:Math.atan2(dy,horizontalDistance)}}function degreesToEuler(degrees){const radians={x:degToRad(degrees.x),y:degToRad(degrees.y),z:degToRad(degrees.z)};return new Vector3(radians.x,radians.y,radians.z)}function degreesToQuaternion(degrees){const radians={x:degToRad(degrees.x),y:degToRad(degrees.y),z:degToRad(degrees.z)},euler=new Euler(radians.x,radians.y,radians.z);return(new Quaternion).setFromEuler(euler)}function quaternionToDegrees(quaternion){const q=new Quaternion(quaternion.x,quaternion.y,quaternion.z,quaternion.w),euler=(new Euler).setFromQuaternion(q,"XYZ");return new Vector3(radToDeg(euler.x),radToDeg(euler.y),radToDeg(euler.z))}function applyRotationOffsetWithReorder(target,source,offset,order="XYZ"){source.reorder(order),target.set(source.x+offset.x,source.y+offset.y,source.z+offset.z,order),target.set(euclideanModulo(target.x+Math.PI,2*Math.PI)-Math.PI,euclideanModulo(target.y+Math.PI,2*Math.PI)-Math.PI,euclideanModulo(target.z+Math.PI,2*Math.PI)-Math.PI)}function toQuaternion(quaternionOrEuler){if(isQuaternionLike(quaternionOrEuler))return new Quaternion(quaternionOrEuler.x,quaternionOrEuler.y,quaternionOrEuler.z,quaternionOrEuler.w);if(isEulerLike(quaternionOrEuler))return(new Quaternion).setFromEuler(new Euler(quaternionOrEuler.x,quaternionOrEuler.y,quaternionOrEuler.z));throw new Error("Entity must be Quaternion or Euler, but it is something else")}export{applyRotationOffsetWithReorder,degreesToEuler,degreesToQuaternion,get3DAzimuth,getAzimuthElevationFromQuaternion,getAzimuthElevationFromVector,getAzimuthFromDirection,getAzimuthFromQuaternionDirection,getDirectionFromAngularVelocity,getDirectionFromLinearVelocity,getElevation,getElevationFromDirection,getElevationFromQuaternionDirection,getHorizontalAzimuth,getLinearVelocity,getLinearVelocityByDeg,getSpeedFromAngularVelocity,getSpeedFromLinearVelocity,quaternionToDegrees,toQuaternion};
2
2
  //# sourceMappingURL=AnglesUtils.js.map
@@ -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, MathUtils, Quaternion, Vector3 } from 'three';\n\nconst { degToRad, euclideanModulo, radToDeg } = 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":["degToRad","euclideanModulo","radToDeg","MathUtils","getHorizontalAzimuth","x","z","point","forwardAxis","azimuthRad","Math","atan2","toLocaleLowerCase","PI","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","elevationRad","Vector3","cos","sin","getLinearVelocity","getSpeedFromAngularVelocity","angularVelocity","radiansPerSecond","getDirectionFromAngularVelocity","get3DAzimuth","center","dx","dz","degreesToEuler","degrees","radians","degreesToQuaternion","euler","Euler","Quaternion","setFromEuler","quaternionToDegrees","setFromQuaternion","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 '@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
+ {"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 '@Anarchy/Engine/Math/Types';\n\nexport const METER: TMeters = 1 as TMeters;\n"],"names":["METER"],"mappings":"AAEO,MAAMA,MAAiB"}
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 '@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
+ {"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 '@Anarchy/Engine/Math/Types';\nimport { HOUR, METER, MINUTE, SECOND } from '@Anarchy/Engine/Measurements/Constants';\nimport type { Vector } from '@dimforge/rapier3d/math';\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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@Anarchy/Engine/Mixins/GameObjects/Mixins/Position/WithPositionMixin';\nimport type { TMovableY, TWithPositionProperty } from '@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
+ {"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 '@Anarchy/Engine/Mixins/GameObjects/Mixins/Position';\nimport type { TMovableZ, TWithPosition3dProperty, TWithPosition4dProperty } from '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@Anarchy/Engine/Mixins/GameObjects/Models';\nimport { isVector4Like } from '@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
+ {"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 '@Anarchy/Engine/Mixins/GameObjects/Models';\nimport { isEntityWith2dPosition, isEntityWith3dPosition, isEntityWith4dPosition } from '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@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
+ {"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 '@Anarchy/Engine/Mixins/GameObjects/Models';\nimport type { TObject3D } from '@Anarchy/Engine/ThreeLib';\nimport type { TWriteable } from '@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
+ {"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 '@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
+ {"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 '@Anarchy/Engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@Anarchy/Shared/Utils';\nimport { isDefined } from '@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
+ {"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 '@Anarchy/Engine/Abstract/Models';\nimport type { TRegistrable, TWithActiveMixin, TWithActiveMixinResult } from '@Anarchy/Engine/Mixins/Generics/Models';\nimport { setActiveWrappedEntity } from '@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
+ {"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 '@Anarchy/Engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@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
+ {"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 '@Anarchy/Engine/Mixins/Generics/Models';\nimport type { TWriteable } from '@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
+ {"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 '@Anarchy/Engine/Abstract';\nimport type { TAnyCreateFn, TWithCreateFromConfigService } from '@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
+ {"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 '@Anarchy/Engine/Mixins/Services/Models';\nimport type { TExtractDeps, TExtractEntity, TExtractParams } from '@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
+ {"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 '@Anarchy/Engine/Mixins/Services/Models';\nimport type { TExtractDeps, TExtractEntity, TExtractParams } from '@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
+ {"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 '@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
+ {"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 '@Anarchy/Engine/Mixins/Services/Models';\nimport type { TSceneWrapper } from '@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
+ {"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 '@Anarchy/Engine/Abstract';\nimport type { TSerializable } from '@Anarchy/Engine/Mixins/Generics/Models';\nimport type { TWithSerializableEntities } from '@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
+ {"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 '@Anarchy/Engine/Abstract';\nimport type { TWithSerializeAllResources } from '@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
+ {"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 '@Anarchy/Engine/Animations';\nimport type { PrimitiveModel3dType } from '@Anarchy/Engine/Models3d/Constants';\nimport type { TModel3dConfig, TModel3dConfigToParamsDependencies, TModel3dParams, TModels3dResourceAsyncRegistry } from '@Anarchy/Engine/Models3d/Models';\nimport { isPrimitiveModel3dData } from '@Anarchy/Engine/Models3d/Utils';\nimport { object3dConfigToParams } from '@Anarchy/Engine/ThreeLib';\nimport { isDefined, isNotDefined } from '@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
+ {"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"}