@hellpig/anarchy-engine 21.4.1 → 22.0.1

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 (1558) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +9 -0
  3. package/dist/Abstract/Entities/AbstractEntity.js +1 -1
  4. package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
  5. package/dist/Abstract/Factories/AbstractFactory.js +1 -1
  6. package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
  7. package/dist/Abstract/Factories/ReactiveFactory.js +1 -1
  8. package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
  9. package/dist/Abstract/Loaders/AbstractLoader.js +1 -1
  10. package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
  11. package/dist/Abstract/Mixins/WithWrapperIdMixin.js +1 -1
  12. package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
  13. package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js +1 -1
  14. package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
  15. package/dist/Abstract/Registries/AbstractEntityRegistry.js +1 -1
  16. package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
  17. package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js +1 -1
  18. package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
  19. package/dist/Abstract/Registries/AbstractSimpleRegistry.js +1 -1
  20. package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
  21. package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js +1 -1
  22. package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
  23. package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js +1 -1
  24. package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
  25. package/dist/Abstract/Watchers/AbstractWatcher.js +1 -1
  26. package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
  27. package/dist/Abstract/Watchers/AbstractWatcherWithState.js +1 -1
  28. package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
  29. package/dist/Abstract/Wrappers/AbstractWrapper.js +1 -1
  30. package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
  31. package/dist/Actor/Adapters/ConfigToParams.d.ts +1 -1
  32. package/dist/Actor/Adapters/ConfigToParams.js +1 -1
  33. package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
  34. package/dist/Actor/Adapters/EntityToConfig.d.ts +1 -1
  35. package/dist/Actor/Adapters/EntityToConfig.js +1 -1
  36. package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
  37. package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js +1 -1
  38. package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
  39. package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js +1 -1
  40. package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
  41. package/dist/Actor/Entities/Actor/Actor.js +1 -1
  42. package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
  43. package/dist/Actor/Factories/ActorFactory.js +1 -1
  44. package/dist/Actor/Factories/ActorFactory.js.map +1 -1
  45. package/dist/Actor/Mixins/WithActorStates.js +1 -1
  46. package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
  47. package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js +1 -1
  48. package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
  49. package/dist/Actor/Utils/ActorUtils.js +1 -1
  50. package/dist/Actor/Utils/ActorUtils.js.map +1 -1
  51. package/dist/Actor/index.d.ts +1 -0
  52. package/dist/Animations/Adapters/EntityToConfig.js +1 -1
  53. package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
  54. package/dist/Animations/Loader/AnimationsLoader.js +1 -1
  55. package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
  56. package/dist/Animations/Services/AnimationsService.js +1 -1
  57. package/dist/Animations/Services/AnimationsService.js.map +1 -1
  58. package/dist/Animations/Utils/SerializationUtils.js +1 -1
  59. package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
  60. package/dist/Audio/Adapters/AudioConfigToParams.d.ts +2 -0
  61. package/dist/Audio/Adapters/AudioConfigToParams.js +2 -0
  62. package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -0
  63. package/dist/Audio/Adapters/EntityToConfig.d.ts +1 -1
  64. package/dist/Audio/Adapters/EntityToConfig.js +1 -1
  65. package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
  66. package/dist/Audio/Adapters/index.d.ts +1 -1
  67. package/dist/Audio/Factories/AudioFactory.js +1 -1
  68. package/dist/Audio/Factories/AudioFactory.js.map +1 -1
  69. package/dist/Audio/Loader/AudioLoader.js +1 -1
  70. package/dist/Audio/Loader/AudioLoader.js.map +1 -1
  71. package/dist/Audio/Services/AudioService.js +1 -1
  72. package/dist/Audio/Services/AudioService.js.map +1 -1
  73. package/dist/Audio/Utils/AudioUtils.js +1 -1
  74. package/dist/Audio/Utils/AudioUtils.js.map +1 -1
  75. package/dist/Audio/Utils/DebugAudioRenderer.js +1 -1
  76. package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
  77. package/dist/Audio/Wrappers/AbstractAudioWrapper.js +1 -1
  78. package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
  79. package/dist/Audio/Wrappers/Audio3dWrapper.js +1 -1
  80. package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
  81. package/dist/Camera/Adapters/ConfigToParams.d.ts +1 -1
  82. package/dist/Camera/Adapters/ConfigToParams.js +1 -1
  83. package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
  84. package/dist/Camera/Adapters/EntityToConfig.d.ts +1 -1
  85. package/dist/Camera/Adapters/EntityToConfig.js +1 -1
  86. package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
  87. package/dist/Camera/Adapters/index.d.ts +1 -1
  88. package/dist/Camera/Factories/CameraFactory.js +1 -1
  89. package/dist/Camera/Factories/CameraFactory.js.map +1 -1
  90. package/dist/Camera/Services/CameraService.js +1 -1
  91. package/dist/Camera/Services/CameraService.js.map +1 -1
  92. package/dist/Camera/Utils/CameraUtils.js +1 -1
  93. package/dist/Camera/Utils/CameraUtils.js.map +1 -1
  94. package/dist/Camera/Wrappers/OrthographicCameraWrapper.js +1 -1
  95. package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
  96. package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js +1 -1
  97. package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
  98. package/dist/Collisions/Mixins/WithCollisions.js +1 -1
  99. package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
  100. package/dist/Collisions/Services/BvhService.js +1 -1
  101. package/dist/Collisions/Services/BvhService.js.map +1 -1
  102. package/dist/Collisions/Services/CollisionsService.js +1 -1
  103. package/dist/Collisions/Services/CollisionsService.js.map +1 -1
  104. package/dist/Color/Adapters/EntityToConfig.d.ts +1 -1
  105. package/dist/Color/Adapters/EntityToConfig.js +1 -1
  106. package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
  107. package/dist/Color/Wrappers/ColorWrapper.js +1 -1
  108. package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
  109. package/dist/Controls/Adapters/ConfigToParams.d.ts +1 -1
  110. package/dist/Controls/Adapters/ConfigToParams.js +1 -1
  111. package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
  112. package/dist/Controls/Adapters/EntityToConfig.js +1 -1
  113. package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
  114. package/dist/Controls/Factories/ControlsFactory.js +1 -1
  115. package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
  116. package/dist/Controls/Utils/ControlsUtils.js +1 -1
  117. package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
  118. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js +1 -1
  119. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
  120. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js +1 -1
  121. package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
  122. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js +1 -1
  123. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
  124. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js +1 -1
  125. package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
  126. package/dist/Controls/index.d.ts +1 -0
  127. package/dist/EnvMap/Adapters/ConfigToParams.d.ts +1 -1
  128. package/dist/EnvMap/Adapters/ConfigToParams.js +1 -1
  129. package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
  130. package/dist/EnvMap/Adapters/EntityToConfig.d.ts +1 -1
  131. package/dist/EnvMap/Adapters/EntityToConfig.js +1 -1
  132. package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
  133. package/dist/EnvMap/Constants/EnvMapMappingTypesMap.js +1 -1
  134. package/dist/EnvMap/Constants/EnvMapMappingTypesMap.js.map +1 -1
  135. package/dist/EnvMap/Factories/EnvMapFactory.js +1 -1
  136. package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
  137. package/dist/EnvMap/Loader/EnvMapLoader.js +1 -1
  138. package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
  139. package/dist/EnvMap/Services/EnvMapService.js +1 -1
  140. package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
  141. package/dist/EnvMap/Wrappers/EnvMapWrapper.js +1 -1
  142. package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
  143. package/dist/EnvMap/index.d.ts +1 -1
  144. package/dist/Fog/Adapters/ConfigToParams.d.ts +1 -1
  145. package/dist/Fog/Adapters/ConfigToParams.js +1 -1
  146. package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
  147. package/dist/Fog/Adapters/EntityToConfig.d.ts +1 -1
  148. package/dist/Fog/Adapters/EntityToConfig.js +1 -1
  149. package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
  150. package/dist/Fog/Factories/FogFactory.js +1 -1
  151. package/dist/Fog/Factories/FogFactory.js.map +1 -1
  152. package/dist/Fog/Wrappers/FogWrapper.js +1 -1
  153. package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
  154. package/dist/Fog/index.d.ts +1 -0
  155. package/dist/Fsm/Adapters/ConfigToParams.d.ts +1 -1
  156. package/dist/Fsm/Adapters/ConfigToParams.js +1 -1
  157. package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
  158. package/dist/Fsm/Adapters/EntityToConfig.d.ts +1 -1
  159. package/dist/Fsm/Adapters/EntityToConfig.js +1 -1
  160. package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
  161. package/dist/Fsm/Entities/FsmSource.js +1 -1
  162. package/dist/Fsm/Entities/FsmSource.js.map +1 -1
  163. package/dist/Fsm/Factories/FsmInstanceFactory.js +1 -1
  164. package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
  165. package/dist/Fsm/Factories/FsmSourceFactory.js +1 -1
  166. package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
  167. package/dist/Fsm/Services/FsmService.js +1 -1
  168. package/dist/Fsm/Services/FsmService.js.map +1 -1
  169. package/dist/Fsm/Wrappers/FsmWrapper.js +1 -1
  170. package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
  171. package/dist/Global/Decorators/ContainerDecorator.js +1 -1
  172. package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
  173. package/dist/Global/Utils/ContainerUtils.js +1 -1
  174. package/dist/Global/Utils/ContainerUtils.js.map +1 -1
  175. package/dist/Intersections/Adapters/ConfigToParams.d.ts +1 -1
  176. package/dist/Intersections/Adapters/ConfigToParams.js +1 -1
  177. package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
  178. package/dist/Intersections/Adapters/EntityToConfig.d.ts +1 -1
  179. package/dist/Intersections/Adapters/EntityToConfig.js +1 -1
  180. package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
  181. package/dist/Intersections/Factories/IntersectionsWatcherFactory.js +1 -1
  182. package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
  183. package/dist/Intersections/Services/IntersectionsWatcherService.js +1 -1
  184. package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
  185. package/dist/Intersections/Utils/IntersectionsWatcherUtils.js +1 -1
  186. package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
  187. package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js +1 -1
  188. package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
  189. package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js +1 -1
  190. package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
  191. package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js +1 -1
  192. package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
  193. package/dist/Intersections/index.d.ts +1 -1
  194. package/dist/Keyboard/Services/KeyboardService.js +1 -1
  195. package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
  196. package/dist/Keyboard/Utils/KeysRxJsUtils.js +1 -1
  197. package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
  198. package/dist/Keyboard/Utils/KeysUtils.js +1 -1
  199. package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
  200. package/dist/Keyboard/Watchers/KeyComboWatcher.js +1 -1
  201. package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
  202. package/dist/Keyboard/Watchers/KeyPressWatcher.js +1 -1
  203. package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
  204. package/dist/Keyboard/Watchers/KeyReleaseWatcher.js +1 -1
  205. package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
  206. package/dist/Kinematic/Adapters/ConfigToParams.d.ts +1 -1
  207. package/dist/Kinematic/Adapters/ConfigToParams.js +1 -1
  208. package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
  209. package/dist/Kinematic/Adapters/EntityToConfig.d.ts +1 -1
  210. package/dist/Kinematic/Adapters/EntityToConfig.js +1 -1
  211. package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
  212. package/dist/Kinematic/Adapters/index.d.ts +1 -1
  213. package/dist/Kinematic/Constants/KinematicConstants.js +1 -1
  214. package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
  215. package/dist/Kinematic/Utils/KinematicUtils.js +1 -1
  216. package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
  217. package/dist/Light/Adapters/ConfigToParams.d.ts +1 -1
  218. package/dist/Light/Adapters/ConfigToParams.js +1 -1
  219. package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
  220. package/dist/Light/Adapters/EntityToConfig.d.ts +1 -1
  221. package/dist/Light/Adapters/EntityToConfig.js +1 -1
  222. package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
  223. package/dist/Light/Factories/LightFactory.js +1 -1
  224. package/dist/Light/Factories/LightFactory.js.map +1 -1
  225. package/dist/Light/Utils/Utils.js +1 -1
  226. package/dist/Light/Utils/Utils.js.map +1 -1
  227. package/dist/Light/Wrappers/AbstractLightWrapper.js +1 -1
  228. package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
  229. package/dist/Light/Wrappers/AmbientLightWrapper.js +1 -1
  230. package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
  231. package/dist/Light/Wrappers/DirectionalLightWrapper.js +1 -1
  232. package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
  233. package/dist/Light/Wrappers/HemisphereLightWrapper.js +1 -1
  234. package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
  235. package/dist/Light/Wrappers/LightWrapperHelper.js +1 -1
  236. package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
  237. package/dist/Light/Wrappers/PointLightWrapper.js +1 -1
  238. package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
  239. package/dist/Light/Wrappers/RectAreaLightWrapper.js +1 -1
  240. package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
  241. package/dist/Light/Wrappers/SpotLightWrapper.js +1 -1
  242. package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
  243. package/dist/Light/index.d.ts +1 -0
  244. package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js +1 -1
  245. package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
  246. package/dist/Loop/Entities/DeltaCalculator.js +1 -1
  247. package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
  248. package/dist/Loop/Entities/Loop.js +1 -1
  249. package/dist/Loop/Entities/Loop.js.map +1 -1
  250. package/dist/Material/Adapters/ConfigToParams.d.ts +1 -1
  251. package/dist/Material/Adapters/ConfigToParams.js +1 -1
  252. package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
  253. package/dist/Material/Adapters/EntityToConfig.d.ts +1 -1
  254. package/dist/Material/Adapters/EntityToConfig.js +1 -1
  255. package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
  256. package/dist/Material/Constants/BlendEquation/BlendEquationMap.js +1 -1
  257. package/dist/Material/Constants/BlendEquation/BlendEquationMap.js.map +1 -1
  258. package/dist/Material/Constants/Blending/BlendingMap.js +1 -1
  259. package/dist/Material/Constants/Blending/BlendingMap.js.map +1 -1
  260. package/dist/Material/Constants/BlendingDstFactor/BlendingDstFactorMap.js +1 -1
  261. package/dist/Material/Constants/BlendingDstFactor/BlendingDstFactorMap.js.map +1 -1
  262. package/dist/Material/Constants/BlendingSrcFactorName/BlendingSrcFactorMap.js +1 -1
  263. package/dist/Material/Constants/BlendingSrcFactorName/BlendingSrcFactorMap.js.map +1 -1
  264. package/dist/Material/Constants/Combine/CombineMap.js +1 -1
  265. package/dist/Material/Constants/Combine/CombineMap.js.map +1 -1
  266. package/dist/Material/Constants/DepthPacking/DepthPackingStrategiesMap.js +1 -1
  267. package/dist/Material/Constants/DepthPacking/DepthPackingStrategiesMap.js.map +1 -1
  268. package/dist/Material/Constants/Format/PixelFormatMap.js +1 -1
  269. package/dist/Material/Constants/Format/PixelFormatMap.js.map +1 -1
  270. package/dist/Material/Constants/Material/MaterialMap.js +1 -1
  271. package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
  272. package/dist/Material/Constants/NormalMapTypes/NormalMapTypesMap.js +1 -1
  273. package/dist/Material/Constants/NormalMapTypes/NormalMapTypesMap.js.map +1 -1
  274. package/dist/Material/Constants/Side/SideMap.js +1 -1
  275. package/dist/Material/Constants/Side/SideMap.js.map +1 -1
  276. package/dist/Material/Constants/StencilFail/StencilFailMap.js +1 -1
  277. package/dist/Material/Constants/StencilFail/StencilFailMap.js.map +1 -1
  278. package/dist/Material/Constants/StencilFuncName/StencilFuncMap.js +1 -1
  279. package/dist/Material/Constants/StencilFuncName/StencilFuncMap.js.map +1 -1
  280. package/dist/Material/Constants/StencilOpName/StencilOpMap.js +1 -1
  281. package/dist/Material/Constants/StencilOpName/StencilOpMap.js.map +1 -1
  282. package/dist/Material/Factories/MaterialFactory.js +1 -1
  283. package/dist/Material/Factories/MaterialFactory.js.map +1 -1
  284. package/dist/Material/Mixins/WithMaterial.js +1 -1
  285. package/dist/Material/Mixins/WithMaterial.js.map +1 -1
  286. package/dist/Material/Utils/MaterialUtils.js +1 -1
  287. package/dist/Material/Utils/MaterialUtils.js.map +1 -1
  288. package/dist/Material/Wrappers/MaterialWrapper.js +1 -1
  289. package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
  290. package/dist/Material/index.d.ts +1 -0
  291. package/dist/Math/Utils/AnglesUtils.js +1 -1
  292. package/dist/Math/Utils/AnglesUtils.js.map +1 -1
  293. package/dist/Measurements/Utils/MeasurementsUtils.js +1 -1
  294. package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
  295. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js +1 -1
  296. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
  297. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js +1 -1
  298. package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
  299. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js +1 -1
  300. package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
  301. package/dist/Mixins/Generics/DestroyableMixin.js +1 -1
  302. package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
  303. package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js +1 -1
  304. package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
  305. package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js +1 -1
  306. package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
  307. package/dist/Models3d/Adapters/ConfigToParams.d.ts +1 -1
  308. package/dist/Models3d/Adapters/ConfigToParams.js +1 -1
  309. package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
  310. package/dist/Models3d/Adapters/EntityToConfig.d.ts +1 -1
  311. package/dist/Models3d/Adapters/EntityToConfig.js +1 -1
  312. package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
  313. package/dist/Models3d/Entities/Model3d.js +1 -1
  314. package/dist/Models3d/Entities/Model3d.js.map +1 -1
  315. package/dist/Models3d/Factories/Models3dFactory.js +1 -1
  316. package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
  317. package/dist/Models3d/Loaders/Loader3dCore.js +1 -1
  318. package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
  319. package/dist/Models3d/Loaders/Models3dLoader.js +1 -1
  320. package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
  321. package/dist/Models3d/Mixins/WithModel3dEntities.js +1 -1
  322. package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
  323. package/dist/Models3d/Utils/SerializationUtils.js +1 -1
  324. package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
  325. package/dist/Models3d/Utils/UtilsModel3d.js +1 -1
  326. package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
  327. package/dist/Models3d/Utils/UtilsModels3dService.js +1 -1
  328. package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
  329. package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js +1 -1
  330. package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
  331. package/dist/Models3d/index.d.ts +1 -1
  332. package/dist/Mouse/Services/MouseService.js +1 -1
  333. package/dist/Mouse/Services/MouseService.js.map +1 -1
  334. package/dist/Mouse/Utils/MouseUtils.js +1 -1
  335. package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
  336. package/dist/Mouse/Watchers/MouseClickWatcher.js +1 -1
  337. package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
  338. package/dist/Mouse/Watchers/MousePositionWatcher.js +1 -1
  339. package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
  340. package/dist/Particles/Adapters/ConfigToParams.d.ts +1 -1
  341. package/dist/Particles/Adapters/ConfigToParams.js +1 -1
  342. package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
  343. package/dist/Particles/Adapters/EntityToConfig.d.ts +1 -1
  344. package/dist/Particles/Adapters/EntityToConfig.js +1 -1
  345. package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
  346. package/dist/Particles/Factories/ParticlesFactory.js +1 -1
  347. package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
  348. package/dist/Particles/Wrappers/ParticlesWrapper.js +1 -1
  349. package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
  350. package/dist/Particles/index.d.ts +1 -1
  351. package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
  352. package/dist/Physics/Adapters/EntityToConfig.js +1 -1
  353. package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
  354. package/dist/Physics/Adapters/PhysicsBodyConfigToParams.d.ts +1 -1
  355. package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js +1 -1
  356. package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
  357. package/dist/Physics/Adapters/PhysicsWorldConfigToParams.d.ts +1 -1
  358. package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js +1 -1
  359. package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
  360. package/dist/Physics/Constants/PhysicsConstants.js +1 -1
  361. package/dist/Physics/Constants/PhysicsConstants.js.map +1 -1
  362. package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
  363. package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
  364. package/dist/Physics/Entities/PhysicsBody.js +1 -1
  365. package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
  366. package/dist/Physics/Entities/PhysicsBodyUtils.js +1 -1
  367. package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
  368. package/dist/Physics/Factories/PhysicsBodyFactory.js +1 -1
  369. package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
  370. package/dist/Physics/Renderers/PhysicsDebugRenderer.js +1 -1
  371. package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
  372. package/dist/Physics/Services/PhysicsWorldService.js +1 -1
  373. package/dist/Physics/Services/PhysicsWorldService.js.map +1 -1
  374. package/dist/Physics/Utils/ParamsUtils.js +1 -1
  375. package/dist/Physics/Utils/ParamsUtils.js.map +1 -1
  376. package/dist/Physics/Utils/PhysicsMovementUtils.js +1 -1
  377. package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
  378. package/dist/Renderer/Adapters/ConfigToParams.d.ts +1 -1
  379. package/dist/Renderer/Adapters/ConfigToParams.js +1 -1
  380. package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
  381. package/dist/Renderer/Adapters/EntityToConfig.d.ts +1 -1
  382. package/dist/Renderer/Adapters/EntityToConfig.js +1 -1
  383. package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
  384. package/dist/Renderer/Factories/RendererFactory.js +1 -1
  385. package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
  386. package/dist/Renderer/Loop/RendererLoopEffect.js +1 -1
  387. package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
  388. package/dist/Renderer/Wrappers/RendererWrapper.js +1 -1
  389. package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
  390. package/dist/Renderer/index.d.ts +1 -1
  391. package/dist/Scene/Adapters/ConfigToParams.d.ts +1 -1
  392. package/dist/Scene/Adapters/ConfigToParams.js +1 -1
  393. package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
  394. package/dist/Scene/Adapters/EntityToConfig.d.ts +1 -1
  395. package/dist/Scene/Adapters/EntityToConfig.js +1 -1
  396. package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
  397. package/dist/Scene/Factories/SceneFactory.js +1 -1
  398. package/dist/Scene/Factories/SceneFactory.js.map +1 -1
  399. package/dist/Scene/Wrappers/SceneWrapper.js +1 -1
  400. package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
  401. package/dist/Scene/index.d.ts +1 -0
  402. package/dist/Space/Adapters/ConfigToParams.d.ts +1 -1
  403. package/dist/Space/Adapters/ConfigToParams.js +1 -1
  404. package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
  405. package/dist/Space/Adapters/EntityToConfig.d.ts +1 -1
  406. package/dist/Space/Adapters/EntityToConfig.js +1 -1
  407. package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
  408. package/dist/Space/Entities/Space.js +1 -1
  409. package/dist/Space/Entities/Space.js.map +1 -1
  410. package/dist/Space/Entities/SpaceFromConfig.js +1 -1
  411. package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
  412. package/dist/Space/Factories/SpaceFactory.js +1 -1
  413. package/dist/Space/Factories/SpaceFactory.js.map +1 -1
  414. package/dist/Space/Utils/CanvasUtils.js +1 -1
  415. package/dist/Space/Utils/CanvasUtils.js.map +1 -1
  416. package/dist/Space/Utils/CreateEntitiesUtils.js +1 -1
  417. package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
  418. package/dist/Space/Utils/SchemaValidationUtils.js +1 -1
  419. package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
  420. package/dist/Space/Validators/SchemasValidator.js +1 -1
  421. package/dist/Space/Validators/SchemasValidator.js.map +1 -1
  422. package/dist/Space/Validators/ValidateSpace.js +1 -1
  423. package/dist/Space/Validators/ValidateSpace.js.map +1 -1
  424. package/dist/Space/index.d.ts +1 -1
  425. package/dist/Spatial/Adapters/ConfigToParams.d.ts +1 -1
  426. package/dist/Spatial/Adapters/ConfigToParams.js +1 -1
  427. package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
  428. package/dist/Spatial/Adapters/ConfigToParamsSpatialData.d.ts +1 -1
  429. package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js +1 -1
  430. package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
  431. package/dist/Spatial/Adapters/EntityToConfig.d.ts +1 -1
  432. package/dist/Spatial/Adapters/EntityToConfig.js +1 -1
  433. package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
  434. package/dist/Spatial/Factories/SpatialGridFactory.js +1 -1
  435. package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
  436. package/dist/Spatial/Mixins/WithReactivePosition.js +1 -1
  437. package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
  438. package/dist/Spatial/Mixins/WithReactiveRotation.js +1 -1
  439. package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
  440. package/dist/Spatial/Mixins/WithSpatial.js +1 -1
  441. package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
  442. package/dist/Spatial/Mixins/WithUpdateSpatialCell.js +1 -1
  443. package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
  444. package/dist/Spatial/Services/SpatialHelper.js +1 -1
  445. package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
  446. package/dist/Spatial/Wrappers/SpatialCellWrapper.js +1 -1
  447. package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
  448. package/dist/Spatial/Wrappers/SpatialGridWrapper.js +1 -1
  449. package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
  450. package/dist/Text/Adapters/ConfigToParams.d.ts +1 -1
  451. package/dist/Text/Adapters/ConfigToParams.js +1 -1
  452. package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
  453. package/dist/Text/Adapters/EntityToConfig.d.ts +1 -1
  454. package/dist/Text/Adapters/EntityToConfig.js +1 -1
  455. package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
  456. package/dist/Text/Factories/TextFactory.js +1 -1
  457. package/dist/Text/Factories/TextFactory.js.map +1 -1
  458. package/dist/Text/Loop/TextLoopEffect.js +1 -1
  459. package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
  460. package/dist/Text/Renderers/Text2dRenderer.js +1 -1
  461. package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
  462. package/dist/Text/Renderers/Text3dRenderer.js +1 -1
  463. package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
  464. package/dist/Text/Renderers/TextRendererBuilder.js +1 -1
  465. package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
  466. package/dist/Text/Services/TextService.js +1 -1
  467. package/dist/Text/Services/TextService.js.map +1 -1
  468. package/dist/Text/Wrappers/Accessors.js +1 -1
  469. package/dist/Text/Wrappers/Accessors.js.map +1 -1
  470. package/dist/Text/Wrappers/TextTextureWrapper.js +1 -1
  471. package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
  472. package/dist/Text/Wrappers/TextWrapper.js +1 -1
  473. package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
  474. package/dist/Text/Wrappers/TextWrapperHelper.js +1 -1
  475. package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
  476. package/dist/Text/index.d.ts +1 -0
  477. package/dist/Texture/Loaders/TexturesLoader.js +1 -1
  478. package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
  479. package/dist/Texture/Utils/TextureServiceHelper.js +1 -1
  480. package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
  481. package/dist/ThreeLib/Utils/Object3dUtils.d.ts +1 -1
  482. package/dist/ThreeLib/Utils/Object3dUtils.js +1 -1
  483. package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
  484. package/dist/TransformDrive/Adapters/EntityToConfig.js +1 -1
  485. package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
  486. package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js +1 -1
  487. package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
  488. package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js +1 -1
  489. package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
  490. package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js +1 -1
  491. package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
  492. package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js +1 -1
  493. package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
  494. package/dist/TransformDrive/Entities/Drive/TransformDrive.js +1 -1
  495. package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
  496. package/dist/TransformDrive/Services/TransformDriveService.js +1 -1
  497. package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
  498. package/dist/TransformDrive/Utils/AgentUtils.js +1 -1
  499. package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
  500. package/dist/TransformDrive/Utils/KinematicAgentUtils.js +1 -1
  501. package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
  502. package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js +1 -1
  503. package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
  504. package/dist/TransformDrive/Utils/TransformDriveUtils.js +1 -1
  505. package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
  506. package/dist/Utils/CheckUtils.js +1 -1
  507. package/dist/Utils/CheckUtils.js.map +1 -1
  508. package/dist/Utils/CoordsUtils.js +1 -1
  509. package/dist/Utils/CoordsUtils.js.map +1 -1
  510. package/dist/Utils/DateTimeUtils.js +1 -1
  511. package/dist/Utils/DateTimeUtils.js.map +1 -1
  512. package/dist/Utils/DestroyUtils.js +1 -1
  513. package/dist/Utils/DestroyUtils.js.map +1 -1
  514. package/dist/Utils/DomUtils.js +1 -1
  515. package/dist/Utils/DomUtils.js.map +1 -1
  516. package/dist/Utils/RegistryAsyncUtils.js +1 -1
  517. package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
  518. package/dist/Utils/RegistryUtils.js +1 -1
  519. package/dist/Utils/RegistryUtils.js.map +1 -1
  520. package/dist/Utils/RotationUtils.js +1 -1
  521. package/dist/Utils/RotationUtils.js.map +1 -1
  522. package/dist/Utils/RxJsUtils.js +1 -1
  523. package/dist/Utils/RxJsUtils.js.map +1 -1
  524. package/dist/Utils/ScreenUtils.js +1 -1
  525. package/dist/Utils/ScreenUtils.js.map +1 -1
  526. package/dist/Utils/TagsUtils.js +1 -1
  527. package/dist/Utils/TagsUtils.js.map +1 -1
  528. package/dist/Utils/WrapperHelpers.js +1 -1
  529. package/dist/Utils/WrapperHelpers.js.map +1 -1
  530. package/dist/_virtual/stateMachine.js +1 -1
  531. package/dist/index.js +1 -1
  532. package/dist/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js.map +1 -0
  533. package/dist/node_modules/@cfworker/json-schema/dist/esm/dereference.js.map +1 -0
  534. package/dist/node_modules/@cfworker/json-schema/dist/esm/format.js.map +1 -0
  535. package/dist/node_modules/@cfworker/json-schema/dist/esm/pointer.js.map +1 -0
  536. package/dist/node_modules/@cfworker/json-schema/dist/esm/ucs2-length.js.map +1 -0
  537. package/dist/node_modules/@cfworker/json-schema/dist/esm/validate.js.map +1 -0
  538. package/dist/node_modules/@cfworker/json-schema/dist/esm/validator.js.map +1 -0
  539. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -0
  540. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -0
  541. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -0
  542. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -0
  543. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -0
  544. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -0
  545. package/dist/node_modules/date-fns/_lib/normalizeDates.js.map +1 -0
  546. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -0
  547. package/dist/node_modules/date-fns/constants.js.map +1 -0
  548. package/dist/node_modules/date-fns/constructFrom.js.map +1 -0
  549. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -0
  550. package/dist/node_modules/date-fns/format.js.map +1 -0
  551. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -0
  552. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -0
  553. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -0
  554. package/dist/node_modules/date-fns/getWeek.js.map +1 -0
  555. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -0
  556. package/dist/node_modules/date-fns/isDate.js.map +1 -0
  557. package/dist/node_modules/date-fns/isValid.js.map +1 -0
  558. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -0
  559. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -0
  560. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -0
  561. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -0
  562. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -0
  563. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -0
  564. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -0
  565. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -0
  566. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -0
  567. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -0
  568. package/dist/node_modules/date-fns/parseISO.js.map +1 -0
  569. package/dist/node_modules/date-fns/startOfDay.js.map +1 -0
  570. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -0
  571. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -0
  572. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -0
  573. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -0
  574. package/dist/node_modules/date-fns/startOfYear.js.map +1 -0
  575. package/dist/node_modules/date-fns/toDate.js.map +1 -0
  576. package/dist/node_modules/lodash-es/_DataView.js.map +1 -0
  577. package/dist/node_modules/lodash-es/_Hash.js.map +1 -0
  578. package/dist/node_modules/lodash-es/_ListCache.js.map +1 -0
  579. package/dist/node_modules/lodash-es/_Map.js.map +1 -0
  580. package/dist/node_modules/lodash-es/_MapCache.js.map +1 -0
  581. package/dist/node_modules/lodash-es/_Promise.js.map +1 -0
  582. package/dist/node_modules/lodash-es/_Set.js.map +1 -0
  583. package/dist/node_modules/lodash-es/_SetCache.js.map +1 -0
  584. package/dist/node_modules/lodash-es/_Stack.js.map +1 -0
  585. package/dist/node_modules/lodash-es/_Symbol.js.map +1 -0
  586. package/dist/node_modules/lodash-es/_Uint8Array.js.map +1 -0
  587. package/dist/node_modules/lodash-es/_WeakMap.js.map +1 -0
  588. package/dist/node_modules/lodash-es/_arrayEach.js.map +1 -0
  589. package/dist/node_modules/lodash-es/_arrayFilter.js.map +1 -0
  590. package/dist/node_modules/lodash-es/_arrayLikeKeys.js.map +1 -0
  591. package/dist/node_modules/lodash-es/_arrayPush.js.map +1 -0
  592. package/dist/node_modules/lodash-es/_arraySome.js.map +1 -0
  593. package/dist/node_modules/lodash-es/_assignValue.js.map +1 -0
  594. package/dist/node_modules/lodash-es/_assocIndexOf.js.map +1 -0
  595. package/dist/node_modules/lodash-es/_baseAssignValue.js.map +1 -0
  596. package/dist/node_modules/lodash-es/_baseClone.js.map +1 -0
  597. package/dist/node_modules/lodash-es/_baseCreate.js.map +1 -0
  598. package/dist/node_modules/lodash-es/_baseGetAllKeys.js.map +1 -0
  599. package/dist/node_modules/lodash-es/_baseGetTag.js.map +1 -0
  600. package/dist/node_modules/lodash-es/_baseIsArguments.js.map +1 -0
  601. package/dist/node_modules/lodash-es/_baseIsEqual.js.map +1 -0
  602. package/dist/node_modules/lodash-es/_baseIsEqualDeep.js.map +1 -0
  603. package/dist/node_modules/lodash-es/_baseIsMap.js.map +1 -0
  604. package/dist/node_modules/lodash-es/_baseIsNative.js.map +1 -0
  605. package/dist/node_modules/lodash-es/_baseIsSet.js.map +1 -0
  606. package/dist/node_modules/lodash-es/_baseIsTypedArray.js.map +1 -0
  607. package/dist/node_modules/lodash-es/_baseKeys.js.map +1 -0
  608. package/dist/node_modules/lodash-es/_baseTimes.js.map +1 -0
  609. package/dist/node_modules/lodash-es/_baseUnary.js.map +1 -0
  610. package/dist/node_modules/lodash-es/_cacheHas.js.map +1 -0
  611. package/dist/node_modules/lodash-es/_cloneArrayBuffer.js.map +1 -0
  612. package/dist/node_modules/lodash-es/_cloneBuffer.js.map +1 -0
  613. package/dist/node_modules/lodash-es/_cloneDataView.js.map +1 -0
  614. package/dist/node_modules/lodash-es/_cloneRegExp.js.map +1 -0
  615. package/dist/node_modules/lodash-es/_cloneSymbol.js.map +1 -0
  616. package/dist/node_modules/lodash-es/_cloneTypedArray.js.map +1 -0
  617. package/dist/node_modules/lodash-es/_coreJsData.js.map +1 -0
  618. package/dist/node_modules/lodash-es/_defineProperty.js.map +1 -0
  619. package/dist/node_modules/lodash-es/_equalArrays.js.map +1 -0
  620. package/dist/node_modules/lodash-es/_equalByTag.js.map +1 -0
  621. package/dist/node_modules/lodash-es/_equalObjects.js.map +1 -0
  622. package/dist/node_modules/lodash-es/_freeGlobal.js.map +1 -0
  623. package/dist/node_modules/lodash-es/_getAllKeys.js.map +1 -0
  624. package/dist/node_modules/lodash-es/_getMapData.js.map +1 -0
  625. package/dist/node_modules/lodash-es/_getNative.js.map +1 -0
  626. package/dist/node_modules/lodash-es/_getPrototype.js.map +1 -0
  627. package/dist/node_modules/lodash-es/_getRawTag.js.map +1 -0
  628. package/dist/node_modules/lodash-es/_getSymbols.js.map +1 -0
  629. package/dist/node_modules/lodash-es/_getTag.js.map +1 -0
  630. package/dist/node_modules/lodash-es/_getValue.js.map +1 -0
  631. package/dist/node_modules/lodash-es/_hashClear.js.map +1 -0
  632. package/dist/node_modules/lodash-es/_hashDelete.js.map +1 -0
  633. package/dist/node_modules/lodash-es/_hashGet.js.map +1 -0
  634. package/dist/node_modules/lodash-es/_hashHas.js.map +1 -0
  635. package/dist/node_modules/lodash-es/_hashSet.js.map +1 -0
  636. package/dist/node_modules/lodash-es/_initCloneArray.js.map +1 -0
  637. package/dist/node_modules/lodash-es/_initCloneByTag.js.map +1 -0
  638. package/dist/node_modules/lodash-es/_initCloneObject.js.map +1 -0
  639. package/dist/node_modules/lodash-es/_isIndex.js.map +1 -0
  640. package/dist/node_modules/lodash-es/_isKeyable.js.map +1 -0
  641. package/dist/node_modules/lodash-es/_isMasked.js.map +1 -0
  642. package/dist/node_modules/lodash-es/_isPrototype.js.map +1 -0
  643. package/dist/node_modules/lodash-es/_listCacheClear.js.map +1 -0
  644. package/dist/node_modules/lodash-es/_listCacheDelete.js.map +1 -0
  645. package/dist/node_modules/lodash-es/_listCacheGet.js.map +1 -0
  646. package/dist/node_modules/lodash-es/_listCacheHas.js.map +1 -0
  647. package/dist/node_modules/lodash-es/_listCacheSet.js.map +1 -0
  648. package/dist/node_modules/lodash-es/_mapCacheClear.js.map +1 -0
  649. package/dist/node_modules/lodash-es/_mapCacheDelete.js.map +1 -0
  650. package/dist/node_modules/lodash-es/_mapCacheGet.js.map +1 -0
  651. package/dist/node_modules/lodash-es/_mapCacheHas.js.map +1 -0
  652. package/dist/node_modules/lodash-es/_mapCacheSet.js.map +1 -0
  653. package/dist/node_modules/lodash-es/_mapToArray.js.map +1 -0
  654. package/dist/node_modules/lodash-es/_nativeCreate.js.map +1 -0
  655. package/dist/node_modules/lodash-es/_nativeKeys.js.map +1 -0
  656. package/dist/node_modules/lodash-es/_nodeUtil.js.map +1 -0
  657. package/dist/node_modules/lodash-es/_objectToString.js.map +1 -0
  658. package/dist/node_modules/lodash-es/_overArg.js.map +1 -0
  659. package/dist/node_modules/lodash-es/_root.js.map +1 -0
  660. package/dist/node_modules/lodash-es/_setCacheAdd.js.map +1 -0
  661. package/dist/node_modules/lodash-es/_setCacheHas.js.map +1 -0
  662. package/dist/node_modules/lodash-es/_setToArray.js.map +1 -0
  663. package/dist/node_modules/lodash-es/_stackClear.js.map +1 -0
  664. package/dist/node_modules/lodash-es/_stackDelete.js.map +1 -0
  665. package/dist/node_modules/lodash-es/_stackGet.js.map +1 -0
  666. package/dist/node_modules/lodash-es/_stackHas.js.map +1 -0
  667. package/dist/node_modules/lodash-es/_stackSet.js.map +1 -0
  668. package/dist/node_modules/lodash-es/_toSource.js.map +1 -0
  669. package/dist/node_modules/lodash-es/cloneDeepWith.js.map +1 -0
  670. package/dist/node_modules/lodash-es/eq.js.map +1 -0
  671. package/dist/node_modules/lodash-es/isArguments.js.map +1 -0
  672. package/dist/node_modules/lodash-es/isArray.js.map +1 -0
  673. package/dist/node_modules/lodash-es/isArrayLike.js.map +1 -0
  674. package/dist/node_modules/lodash-es/isBuffer.js.map +1 -0
  675. package/dist/node_modules/lodash-es/isEmpty.js.map +1 -0
  676. package/dist/node_modules/lodash-es/isEqual.js.map +1 -0
  677. package/dist/node_modules/lodash-es/isFunction.js.map +1 -0
  678. package/dist/node_modules/lodash-es/isLength.js.map +1 -0
  679. package/dist/node_modules/lodash-es/isMap.js.map +1 -0
  680. package/dist/node_modules/lodash-es/isObject.js.map +1 -0
  681. package/dist/node_modules/lodash-es/isObjectLike.js.map +1 -0
  682. package/dist/node_modules/lodash-es/isPlainObject.js.map +1 -0
  683. package/dist/node_modules/lodash-es/isSet.js.map +1 -0
  684. package/dist/node_modules/lodash-es/isTypedArray.js.map +1 -0
  685. package/dist/node_modules/lodash-es/keys.js.map +1 -0
  686. package/dist/node_modules/lodash-es/stubArray.js.map +1 -0
  687. package/dist/node_modules/lodash-es/stubFalse.js.map +1 -0
  688. package/dist/node_modules/quickselect/index.js.map +1 -0
  689. package/dist/node_modules/rbush/index.js.map +1 -0
  690. package/dist/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +1 -0
  691. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -0
  692. package/dist/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +1 -0
  693. package/dist/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +1 -0
  694. package/dist/node_modules/rxjs/dist/esm5/internal/Subject.js.map +1 -0
  695. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
  696. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
  697. package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
  698. package/dist/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +1 -0
  699. package/dist/node_modules/rxjs/dist/esm5/internal/observable/concat.js.map +1 -0
  700. package/dist/node_modules/rxjs/dist/esm5/internal/observable/defer.js.map +1 -0
  701. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -0
  702. package/dist/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +1 -0
  703. package/dist/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js.map +1 -0
  704. package/dist/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -0
  705. package/dist/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +1 -0
  706. package/dist/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +1 -0
  707. package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
  708. package/dist/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +1 -0
  709. package/dist/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js.map +1 -0
  710. package/dist/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js.map +1 -0
  711. package/dist/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +1 -0
  712. package/dist/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js.map +1 -0
  713. package/dist/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +1 -0
  714. package/dist/node_modules/rxjs/dist/esm5/internal/operators/finalize.js.map +1 -0
  715. package/dist/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +1 -0
  716. package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +1 -0
  717. package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +1 -0
  718. package/dist/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +1 -0
  719. package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
  720. package/dist/node_modules/rxjs/dist/esm5/internal/operators/sample.js.map +1 -0
  721. package/dist/node_modules/rxjs/dist/esm5/internal/operators/skip.js.map +1 -0
  722. package/dist/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js.map +1 -0
  723. package/dist/node_modules/rxjs/dist/esm5/internal/operators/startWith.js.map +1 -0
  724. package/dist/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -0
  725. package/dist/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js.map +1 -0
  726. package/dist/node_modules/rxjs/dist/esm5/internal/operators/take.js.map +1 -0
  727. package/dist/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js.map +1 -0
  728. package/dist/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js.map +1 -0
  729. package/dist/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +1 -0
  730. package/dist/node_modules/rxjs/dist/esm5/internal/operators/timeout.js.map +1 -0
  731. package/dist/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js.map +1 -0
  732. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -0
  733. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -0
  734. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -0
  735. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +1 -0
  736. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +1 -0
  737. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +1 -0
  738. package/dist/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -0
  739. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +1 -0
  740. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +1 -0
  741. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +1 -0
  742. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/async.js.map +1 -0
  743. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +1 -0
  744. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +1 -0
  745. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
  746. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -0
  747. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
  748. package/dist/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +1 -0
  749. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
  750. package/dist/node_modules/rxjs/dist/esm5/internal/util/args.js.map +1 -0
  751. package/dist/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +1 -0
  752. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
  753. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
  754. package/dist/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +1 -0
  755. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
  756. package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
  757. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
  758. package/dist/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -0
  759. package/dist/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -0
  760. package/dist/node_modules/rxjs/dist/esm5/internal/util/isDate.js.map +1 -0
  761. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
  762. package/dist/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +1 -0
  763. package/dist/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -0
  764. package/dist/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -0
  765. package/dist/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -0
  766. package/dist/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +1 -0
  767. package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
  768. package/dist/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +1 -0
  769. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
  770. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
  771. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
  772. package/dist/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +1 -0
  773. package/dist/node_modules/three-mesh-bvh/src/core/Constants.js.map +1 -0
  774. package/dist/node_modules/three-mesh-bvh/src/core/MeshBVH.js +2 -0
  775. package/dist/node_modules/three-mesh-bvh/src/core/MeshBVH.js.map +1 -0
  776. package/dist/node_modules/three-mesh-bvh/src/core/MeshBVHNode.js.map +1 -0
  777. package/dist/node_modules/three-mesh-bvh/src/core/build/buildTree.js.map +1 -0
  778. package/dist/node_modules/three-mesh-bvh/src/core/build/buildUtils.js.map +1 -0
  779. package/dist/node_modules/three-mesh-bvh/src/core/build/computeBoundsUtils.js.map +1 -0
  780. package/dist/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js +2 -0
  781. package/dist/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js.map +1 -0
  782. package/dist/node_modules/three-mesh-bvh/src/core/build/sortUtils.generated.js.map +1 -0
  783. package/dist/node_modules/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js.map +1 -0
  784. package/dist/node_modules/three-mesh-bvh/src/core/build/splitUtils.js.map +1 -0
  785. package/dist/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js +2 -0
  786. package/dist/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js.map +1 -0
  787. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js +2 -0
  788. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js.map +1 -0
  789. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js +2 -0
  790. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js.map +1 -0
  791. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js +2 -0
  792. package/dist/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js.map +1 -0
  793. package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js +2 -0
  794. package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js.map +1 -0
  795. package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js +2 -0
  796. package/dist/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js.map +1 -0
  797. package/dist/node_modules/three-mesh-bvh/src/core/cast/raycast.generated.js.map +1 -0
  798. package/dist/node_modules/three-mesh-bvh/src/core/cast/raycastFirst.generated.js.map +1 -0
  799. package/dist/node_modules/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js.map +1 -0
  800. package/dist/node_modules/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js.map +1 -0
  801. package/dist/node_modules/three-mesh-bvh/src/core/cast/refit.generated.js.map +1 -0
  802. package/dist/node_modules/three-mesh-bvh/src/core/cast/refit_indirect.generated.js.map +1 -0
  803. package/dist/node_modules/three-mesh-bvh/src/core/cast/shapecast.js +2 -0
  804. package/dist/node_modules/three-mesh-bvh/src/core/cast/shapecast.js.map +1 -0
  805. package/dist/node_modules/three-mesh-bvh/src/core/utils/BufferStack.js.map +1 -0
  806. package/dist/node_modules/three-mesh-bvh/src/core/utils/intersectUtils.js.map +1 -0
  807. package/dist/node_modules/three-mesh-bvh/src/core/utils/iterationUtils.generated.js.map +1 -0
  808. package/dist/node_modules/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js.map +1 -0
  809. package/dist/node_modules/three-mesh-bvh/src/core/utils/nodeBufferUtils.js.map +1 -0
  810. package/dist/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js +2 -0
  811. package/dist/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js.map +1 -0
  812. package/dist/node_modules/three-mesh-bvh/src/math/MathUtilities.js +2 -0
  813. package/dist/node_modules/three-mesh-bvh/src/math/MathUtilities.js.map +1 -0
  814. package/dist/node_modules/three-mesh-bvh/src/math/OrientedBox.js +2 -0
  815. package/dist/node_modules/three-mesh-bvh/src/math/OrientedBox.js.map +1 -0
  816. package/dist/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js +2 -0
  817. package/dist/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js.map +1 -0
  818. package/dist/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js +2 -0
  819. package/dist/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js.map +1 -0
  820. package/dist/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js.map +1 -0
  821. package/dist/node_modules/three-mesh-bvh/src/utils/BufferUtils.js.map +1 -0
  822. package/dist/node_modules/three-mesh-bvh/src/utils/ExtendedTrianglePool.js.map +1 -0
  823. package/dist/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js +2 -0
  824. package/dist/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js.map +1 -0
  825. package/dist/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js.map +1 -0
  826. package/dist/node_modules/three-mesh-bvh/src/utils/PrimitivePool.js.map +1 -0
  827. package/dist/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js +2 -0
  828. package/dist/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js.map +1 -0
  829. package/dist/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js +2 -0
  830. package/dist/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js.map +1 -0
  831. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  832. package/dist/node_modules/typescript-fsm/dist/stateMachine.js +2 -0
  833. package/dist/node_modules/typescript-fsm/dist/stateMachine.js.map +1 -0
  834. package/dist/packages/anarchy-engine/node_modules/nanoid/index.browser.js.map +1 -0
  835. package/dist/packages/anarchy-engine/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  836. package/dist/packages/anarchy-shared/src/Constants/CssUnits.js.map +1 -0
  837. package/dist/packages/anarchy-shared/src/Constants/FallBackFonts.js.map +1 -0
  838. package/dist/packages/anarchy-shared/src/Utils/ArrayUtils.js.map +1 -0
  839. package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -0
  840. package/dist/packages/anarchy-shared/src/Utils/CheckUtils.js.map +1 -0
  841. package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -0
  842. package/dist/packages/anarchy-shared/src/Utils/MapUtils.js.map +1 -0
  843. package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -0
  844. package/dist/packages/anarchy-shared/src/Utils/StringUtils.js.map +1 -0
  845. package/dist/packages/anarchy-shared/src/Utils/TypesUtils.js.map +1 -0
  846. package/dist/packages/anarchy-shared/src/Utils/WebGlUtils.js.map +1 -0
  847. package/legal/NOTICE.md +2 -14
  848. package/legal/THIRD_PARTY_LICENSES.md +2 -214
  849. package/package.json +15 -3
  850. package/dist/Audio/Adapters/ConfigToParams.d.ts +0 -2
  851. package/dist/Audio/Adapters/ConfigToParams.js +0 -2
  852. package/dist/Audio/Adapters/ConfigToParams.js.map +0 -1
  853. package/dist/__vite-plugin-wasm-helper.js +0 -2
  854. package/dist/__vite-plugin-wasm-helper.js.map +0 -1
  855. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js.map +0 -1
  856. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/dereference.js.map +0 -1
  857. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/format.js.map +0 -1
  858. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/pointer.js.map +0 -1
  859. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/ucs2-length.js.map +0 -1
  860. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/validate.js.map +0 -1
  861. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@cfworker/json-schema/dist/esm/validator.js.map +0 -1
  862. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/coarena.js +0 -2
  863. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/coarena.js.map +0 -1
  864. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/character_controller.js +0 -2
  865. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/character_controller.js.map +0 -1
  866. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/pid_controller.js +0 -2
  867. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/pid_controller.js.map +0 -1
  868. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js +0 -2
  869. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/control/ray_cast_vehicle_controller.js.map +0 -1
  870. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/ccd_solver.js +0 -2
  871. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/ccd_solver.js.map +0 -1
  872. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js +0 -2
  873. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/coefficient_combine_rule.js.map +0 -1
  874. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint.js +0 -2
  875. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint.js.map +0 -1
  876. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint_set.js +0 -2
  877. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/impulse_joint_set.js.map +0 -1
  878. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/integration_parameters.js +0 -2
  879. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/integration_parameters.js.map +0 -1
  880. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/island_manager.js +0 -2
  881. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/island_manager.js.map +0 -1
  882. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint.js +0 -2
  883. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint.js.map +0 -1
  884. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint_set.js +0 -2
  885. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/multibody_joint_set.js.map +0 -1
  886. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body.js +0 -2
  887. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body.js.map +0 -1
  888. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body_set.js +0 -2
  889. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/dynamics/rigid_body_set.js.map +0 -1
  890. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/broad_phase.js +0 -2
  891. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/broad_phase.js.map +0 -1
  892. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider.js +0 -2
  893. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider.js.map +0 -1
  894. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider_set.js +0 -2
  895. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/collider_set.js.map +0 -1
  896. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/contact.js +0 -2
  897. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/contact.js.map +0 -1
  898. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/feature.js +0 -2
  899. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/feature.js.map +0 -1
  900. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/narrow_phase.js +0 -2
  901. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/narrow_phase.js.map +0 -1
  902. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/point.js +0 -2
  903. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/point.js.map +0 -1
  904. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/ray.js +0 -2
  905. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/ray.js.map +0 -1
  906. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/shape.js +0 -2
  907. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/shape.js.map +0 -1
  908. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/toi.js +0 -2
  909. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/geometry/toi.js.map +0 -1
  910. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/math.js +0 -2
  911. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/math.js.map +0 -1
  912. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/debug_render_pipeline.js +0 -2
  913. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/debug_render_pipeline.js.map +0 -1
  914. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/event_queue.js +0 -2
  915. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/event_queue.js.map +0 -1
  916. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_hooks.js +0 -2
  917. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_hooks.js.map +0 -1
  918. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_pipeline.js +0 -2
  919. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/physics_pipeline.js.map +0 -1
  920. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/serialization_pipeline.js +0 -2
  921. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/serialization_pipeline.js.map +0 -1
  922. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/world.js +0 -2
  923. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/pipeline/world.js.map +0 -1
  924. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d.js +0 -2
  925. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d.js.map +0 -1
  926. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.js +0 -2
  927. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.js.map +0 -1
  928. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.js +0 -2
  929. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm.js.map +0 -1
  930. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm2.js +0 -2
  931. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/@dimforge/rapier3d/rapier_wasm3d_bg.wasm2.js.map +0 -1
  932. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/addLeadingZeros.js.map +0 -1
  933. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/defaultOptions.js.map +0 -1
  934. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/formatters.js.map +0 -1
  935. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/lightFormatters.js.map +0 -1
  936. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/format/longFormatters.js.map +0 -1
  937. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +0 -1
  938. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/normalizeDates.js.map +0 -1
  939. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/_lib/protectedTokens.js.map +0 -1
  940. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/constants.js.map +0 -1
  941. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/constructFrom.js.map +0 -1
  942. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/differenceInCalendarDays.js.map +0 -1
  943. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/format.js.map +0 -1
  944. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getDayOfYear.js.map +0 -1
  945. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getISOWeek.js.map +0 -1
  946. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getISOWeekYear.js.map +0 -1
  947. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getWeek.js.map +0 -1
  948. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/getWeekYear.js.map +0 -1
  949. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/isDate.js.map +0 -1
  950. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/isValid.js.map +0 -1
  951. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
  952. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
  953. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
  954. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
  955. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +0 -1
  956. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +0 -1
  957. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +0 -1
  958. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/localize.js.map +0 -1
  959. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US/_lib/match.js.map +0 -1
  960. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/locale/en-US.js.map +0 -1
  961. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/parseISO.js.map +0 -1
  962. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfDay.js.map +0 -1
  963. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfISOWeek.js.map +0 -1
  964. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfISOWeekYear.js.map +0 -1
  965. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfWeek.js.map +0 -1
  966. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfWeekYear.js.map +0 -1
  967. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/startOfYear.js.map +0 -1
  968. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/date-fns/toDate.js.map +0 -1
  969. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_DataView.js.map +0 -1
  970. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Hash.js.map +0 -1
  971. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_ListCache.js.map +0 -1
  972. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Map.js.map +0 -1
  973. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_MapCache.js.map +0 -1
  974. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Promise.js.map +0 -1
  975. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Set.js.map +0 -1
  976. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_SetCache.js.map +0 -1
  977. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Stack.js.map +0 -1
  978. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Symbol.js.map +0 -1
  979. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_Uint8Array.js.map +0 -1
  980. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_WeakMap.js.map +0 -1
  981. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayEach.js.map +0 -1
  982. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayFilter.js.map +0 -1
  983. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayLikeKeys.js.map +0 -1
  984. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arrayPush.js.map +0 -1
  985. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_arraySome.js.map +0 -1
  986. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_assignValue.js.map +0 -1
  987. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_assocIndexOf.js.map +0 -1
  988. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseAssignValue.js.map +0 -1
  989. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseClone.js.map +0 -1
  990. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseCreate.js.map +0 -1
  991. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseGetAllKeys.js.map +0 -1
  992. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseGetTag.js.map +0 -1
  993. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsArguments.js.map +0 -1
  994. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsEqual.js.map +0 -1
  995. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsEqualDeep.js.map +0 -1
  996. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsMap.js.map +0 -1
  997. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsNative.js.map +0 -1
  998. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsSet.js.map +0 -1
  999. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseIsTypedArray.js.map +0 -1
  1000. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseKeys.js.map +0 -1
  1001. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseTimes.js.map +0 -1
  1002. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_baseUnary.js.map +0 -1
  1003. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cacheHas.js.map +0 -1
  1004. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneArrayBuffer.js.map +0 -1
  1005. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneBuffer.js.map +0 -1
  1006. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneDataView.js.map +0 -1
  1007. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneRegExp.js.map +0 -1
  1008. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneSymbol.js.map +0 -1
  1009. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_cloneTypedArray.js.map +0 -1
  1010. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_coreJsData.js.map +0 -1
  1011. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_defineProperty.js.map +0 -1
  1012. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalArrays.js.map +0 -1
  1013. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalByTag.js.map +0 -1
  1014. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_equalObjects.js.map +0 -1
  1015. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_freeGlobal.js.map +0 -1
  1016. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getAllKeys.js.map +0 -1
  1017. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getMapData.js.map +0 -1
  1018. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getNative.js.map +0 -1
  1019. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getPrototype.js.map +0 -1
  1020. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getRawTag.js.map +0 -1
  1021. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getSymbols.js.map +0 -1
  1022. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getTag.js.map +0 -1
  1023. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_getValue.js.map +0 -1
  1024. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashClear.js.map +0 -1
  1025. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashDelete.js.map +0 -1
  1026. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashGet.js.map +0 -1
  1027. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashHas.js.map +0 -1
  1028. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_hashSet.js.map +0 -1
  1029. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneArray.js.map +0 -1
  1030. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneByTag.js.map +0 -1
  1031. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_initCloneObject.js.map +0 -1
  1032. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isIndex.js.map +0 -1
  1033. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isKeyable.js.map +0 -1
  1034. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isMasked.js.map +0 -1
  1035. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_isPrototype.js.map +0 -1
  1036. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheClear.js.map +0 -1
  1037. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheDelete.js.map +0 -1
  1038. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheGet.js.map +0 -1
  1039. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheHas.js.map +0 -1
  1040. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_listCacheSet.js.map +0 -1
  1041. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheClear.js.map +0 -1
  1042. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheDelete.js.map +0 -1
  1043. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheGet.js.map +0 -1
  1044. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheHas.js.map +0 -1
  1045. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapCacheSet.js.map +0 -1
  1046. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_mapToArray.js.map +0 -1
  1047. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nativeCreate.js.map +0 -1
  1048. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nativeKeys.js.map +0 -1
  1049. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_nodeUtil.js.map +0 -1
  1050. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_objectToString.js.map +0 -1
  1051. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_overArg.js.map +0 -1
  1052. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_root.js.map +0 -1
  1053. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setCacheAdd.js.map +0 -1
  1054. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setCacheHas.js.map +0 -1
  1055. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_setToArray.js.map +0 -1
  1056. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackClear.js.map +0 -1
  1057. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackDelete.js.map +0 -1
  1058. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackGet.js.map +0 -1
  1059. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackHas.js.map +0 -1
  1060. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_stackSet.js.map +0 -1
  1061. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/_toSource.js.map +0 -1
  1062. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/cloneDeepWith.js.map +0 -1
  1063. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/eq.js.map +0 -1
  1064. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArguments.js.map +0 -1
  1065. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArray.js.map +0 -1
  1066. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isArrayLike.js.map +0 -1
  1067. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isBuffer.js.map +0 -1
  1068. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isEmpty.js.map +0 -1
  1069. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isEqual.js.map +0 -1
  1070. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isFunction.js.map +0 -1
  1071. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isLength.js.map +0 -1
  1072. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isMap.js.map +0 -1
  1073. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isObject.js.map +0 -1
  1074. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isObjectLike.js.map +0 -1
  1075. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isPlainObject.js.map +0 -1
  1076. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isSet.js.map +0 -1
  1077. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/isTypedArray.js.map +0 -1
  1078. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/keys.js.map +0 -1
  1079. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/stubArray.js.map +0 -1
  1080. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/lodash-es/stubFalse.js.map +0 -1
  1081. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/quickselect/index.js.map +0 -1
  1082. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rbush/index.js.map +0 -1
  1083. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +0 -1
  1084. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Observable.js.map +0 -1
  1085. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +0 -1
  1086. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +0 -1
  1087. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subject.js.map +0 -1
  1088. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +0 -1
  1089. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +0 -1
  1090. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/config.js.map +0 -1
  1091. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +0 -1
  1092. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/concat.js.map +0 -1
  1093. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/defer.js.map +0 -1
  1094. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +0 -1
  1095. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +0 -1
  1096. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js.map +0 -1
  1097. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +0 -1
  1098. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +0 -1
  1099. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +0 -1
  1100. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +0 -1
  1101. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +0 -1
  1102. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js.map +0 -1
  1103. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js.map +0 -1
  1104. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +0 -1
  1105. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js.map +0 -1
  1106. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +0 -1
  1107. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/finalize.js.map +0 -1
  1108. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +0 -1
  1109. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +0 -1
  1110. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +0 -1
  1111. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +0 -1
  1112. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +0 -1
  1113. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/sample.js.map +0 -1
  1114. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/skip.js.map +0 -1
  1115. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js.map +0 -1
  1116. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/startWith.js.map +0 -1
  1117. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +0 -1
  1118. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js.map +0 -1
  1119. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/take.js.map +0 -1
  1120. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js.map +0 -1
  1121. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js.map +0 -1
  1122. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +0 -1
  1123. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/timeout.js.map +0 -1
  1124. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js.map +0 -1
  1125. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +0 -1
  1126. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +0 -1
  1127. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +0 -1
  1128. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +0 -1
  1129. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +0 -1
  1130. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +0 -1
  1131. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +0 -1
  1132. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +0 -1
  1133. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +0 -1
  1134. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +0 -1
  1135. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/async.js.map +0 -1
  1136. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +0 -1
  1137. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +0 -1
  1138. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +0 -1
  1139. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +0 -1
  1140. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +0 -1
  1141. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +0 -1
  1142. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +0 -1
  1143. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/args.js.map +0 -1
  1144. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +0 -1
  1145. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +0 -1
  1146. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +0 -1
  1147. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +0 -1
  1148. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +0 -1
  1149. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +0 -1
  1150. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +0 -1
  1151. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +0 -1
  1152. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +0 -1
  1153. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isDate.js.map +0 -1
  1154. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +0 -1
  1155. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +0 -1
  1156. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +0 -1
  1157. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +0 -1
  1158. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +0 -1
  1159. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +0 -1
  1160. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +0 -1
  1161. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +0 -1
  1162. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +0 -1
  1163. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +0 -1
  1164. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +0 -1
  1165. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +0 -1
  1166. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.core.js +0 -2
  1167. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.core.js.map +0 -1
  1168. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.module.js +0 -2
  1169. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/build/three.module.js.map +0 -1
  1170. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/FirstPersonControls.js +0 -2
  1171. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/FirstPersonControls.js.map +0 -1
  1172. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/OrbitControls.js +0 -2
  1173. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/controls/OrbitControls.js.map +0 -1
  1174. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/Line2.js +0 -2
  1175. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/Line2.js.map +0 -1
  1176. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineGeometry.js +0 -2
  1177. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineGeometry.js.map +0 -1
  1178. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineMaterial.js +0 -2
  1179. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineMaterial.js.map +0 -1
  1180. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegments2.js +0 -2
  1181. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegments2.js.map +0 -1
  1182. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +0 -2
  1183. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js.map +0 -1
  1184. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/DRACOLoader.js +0 -2
  1185. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/DRACOLoader.js.map +0 -1
  1186. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/GLTFLoader.js +0 -2
  1187. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/GLTFLoader.js.map +0 -1
  1188. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/HDRLoader.js +0 -2
  1189. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/loaders/HDRLoader.js.map +0 -1
  1190. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +0 -2
  1191. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js.map +0 -1
  1192. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +0 -2
  1193. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js.map +0 -1
  1194. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +0 -2
  1195. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js.map +0 -1
  1196. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/SkeletonUtils.js +0 -2
  1197. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/examples/jsm/utils/SkeletonUtils.js.map +0 -1
  1198. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/MathUtils.js +0 -2
  1199. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/MathUtils.js.map +0 -1
  1200. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Quaternion.js +0 -2
  1201. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Quaternion.js.map +0 -1
  1202. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Vector3.js +0 -2
  1203. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/math/Vector3.js.map +0 -1
  1204. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/utils.js +0 -2
  1205. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three/src/utils.js.map +0 -1
  1206. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/Constants.js.map +0 -1
  1207. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVH.js +0 -2
  1208. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVH.js.map +0 -1
  1209. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/MeshBVHNode.js.map +0 -1
  1210. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/buildTree.js.map +0 -1
  1211. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/buildUtils.js.map +0 -1
  1212. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/computeBoundsUtils.js.map +0 -1
  1213. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js +0 -2
  1214. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/geometryUtils.js.map +0 -1
  1215. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/sortUtils.generated.js.map +0 -1
  1216. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js.map +0 -1
  1217. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/build/splitUtils.js.map +0 -1
  1218. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js +0 -2
  1219. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/bvhcast.js.map +0 -1
  1220. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js +0 -2
  1221. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry.generated.js.map +0 -1
  1222. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js +0 -2
  1223. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToGeometry_indirect.generated.js.map +0 -1
  1224. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js +0 -2
  1225. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/closestPointToPoint.js.map +0 -1
  1226. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js +0 -2
  1227. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry.generated.js.map +0 -1
  1228. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js +0 -2
  1229. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/intersectsGeometry_indirect.generated.js.map +0 -1
  1230. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycast.generated.js.map +0 -1
  1231. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycastFirst.generated.js.map +0 -1
  1232. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js.map +0 -1
  1233. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js.map +0 -1
  1234. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/refit.generated.js.map +0 -1
  1235. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/refit_indirect.generated.js.map +0 -1
  1236. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/shapecast.js +0 -2
  1237. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/cast/shapecast.js.map +0 -1
  1238. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/BufferStack.js.map +0 -1
  1239. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/intersectUtils.js.map +0 -1
  1240. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/iterationUtils.generated.js.map +0 -1
  1241. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js.map +0 -1
  1242. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/core/utils/nodeBufferUtils.js.map +0 -1
  1243. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js +0 -2
  1244. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/ExtendedTriangle.js.map +0 -1
  1245. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/MathUtilities.js +0 -2
  1246. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/MathUtilities.js.map +0 -1
  1247. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/OrientedBox.js +0 -2
  1248. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/OrientedBox.js.map +0 -1
  1249. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js +0 -2
  1250. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/math/SeparatingAxisBounds.js.map +0 -1
  1251. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js +0 -2
  1252. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/objects/MeshBVHHelper.js.map +0 -1
  1253. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ArrayBoxUtilities.js.map +0 -1
  1254. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/BufferUtils.js.map +0 -1
  1255. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtendedTrianglePool.js.map +0 -1
  1256. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js +0 -2
  1257. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ExtensionUtilities.js.map +0 -1
  1258. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js.map +0 -1
  1259. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/PrimitivePool.js.map +0 -1
  1260. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js +0 -2
  1261. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/ThreeRayIntersectUtilities.js.map +0 -1
  1262. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js +0 -2
  1263. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/three-mesh-bvh/src/utils/TriangleUtilities.js.map +0 -1
  1264. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/tslib/tslib.es6.js.map +0 -1
  1265. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/typescript-fsm/dist/stateMachine.js +0 -2
  1266. package/dist/home/runner/work/anarchy-engine/anarchy-engine/node_modules/typescript-fsm/dist/stateMachine.js.map +0 -1
  1267. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-engine/node_modules/nanoid/index.browser.js.map +0 -1
  1268. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-engine/node_modules/nanoid/url-alphabet/index.js.map +0 -1
  1269. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Constants/CssUnits.js.map +0 -1
  1270. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Constants/FallBackFonts.js.map +0 -1
  1271. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/ArrayUtils.js.map +0 -1
  1272. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +0 -1
  1273. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/CheckUtils.js.map +0 -1
  1274. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/CssUtils.js.map +0 -1
  1275. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/MapUtils.js.map +0 -1
  1276. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +0 -1
  1277. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/StringUtils.js.map +0 -1
  1278. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/TypesUtils.js.map +0 -1
  1279. package/dist/home/runner/work/anarchy-engine/anarchy-engine/packages/anarchy-shared/src/Utils/WebGlUtils.js.map +0 -1
  1280. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/deep-compare-strict.js +0 -0
  1281. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/dereference.js +0 -0
  1282. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/format.js +0 -0
  1283. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/pointer.js +0 -0
  1284. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/ucs2-length.js +0 -0
  1285. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/validate.js +0 -0
  1286. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/@cfworker/json-schema/dist/esm/validator.js +0 -0
  1287. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/addLeadingZeros.js +0 -0
  1288. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/defaultOptions.js +0 -0
  1289. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/formatters.js +0 -0
  1290. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/lightFormatters.js +0 -0
  1291. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/format/longFormatters.js +0 -0
  1292. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +0 -0
  1293. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/normalizeDates.js +0 -0
  1294. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/_lib/protectedTokens.js +0 -0
  1295. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/constants.js +0 -0
  1296. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/constructFrom.js +0 -0
  1297. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/differenceInCalendarDays.js +0 -0
  1298. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/format.js +0 -0
  1299. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getDayOfYear.js +0 -0
  1300. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getISOWeek.js +0 -0
  1301. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getISOWeekYear.js +0 -0
  1302. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getWeek.js +0 -0
  1303. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/getWeekYear.js +0 -0
  1304. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/isDate.js +0 -0
  1305. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/isValid.js +0 -0
  1306. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildFormatLongFn.js +0 -0
  1307. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildLocalizeFn.js +0 -0
  1308. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildMatchFn.js +0 -0
  1309. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/_lib/buildMatchPatternFn.js +0 -0
  1310. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatDistance.js +0 -0
  1311. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatLong.js +0 -0
  1312. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/formatRelative.js +0 -0
  1313. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/localize.js +0 -0
  1314. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US/_lib/match.js +0 -0
  1315. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/locale/en-US.js +0 -0
  1316. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/parseISO.js +0 -0
  1317. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfDay.js +0 -0
  1318. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfISOWeek.js +0 -0
  1319. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfISOWeekYear.js +0 -0
  1320. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfWeek.js +0 -0
  1321. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfWeekYear.js +0 -0
  1322. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/startOfYear.js +0 -0
  1323. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/date-fns/toDate.js +0 -0
  1324. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_DataView.js +0 -0
  1325. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Hash.js +0 -0
  1326. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_ListCache.js +0 -0
  1327. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Map.js +0 -0
  1328. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_MapCache.js +0 -0
  1329. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Promise.js +0 -0
  1330. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Set.js +0 -0
  1331. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_SetCache.js +0 -0
  1332. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Stack.js +0 -0
  1333. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Symbol.js +0 -0
  1334. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_Uint8Array.js +0 -0
  1335. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_WeakMap.js +0 -0
  1336. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayEach.js +0 -0
  1337. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayFilter.js +0 -0
  1338. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayLikeKeys.js +0 -0
  1339. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arrayPush.js +0 -0
  1340. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_arraySome.js +0 -0
  1341. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_assignValue.js +0 -0
  1342. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_assocIndexOf.js +0 -0
  1343. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseAssignValue.js +0 -0
  1344. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseClone.js +0 -0
  1345. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseCreate.js +0 -0
  1346. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseGetAllKeys.js +0 -0
  1347. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseGetTag.js +0 -0
  1348. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsArguments.js +0 -0
  1349. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsEqual.js +0 -0
  1350. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsEqualDeep.js +0 -0
  1351. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsMap.js +0 -0
  1352. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsNative.js +0 -0
  1353. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsSet.js +0 -0
  1354. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseIsTypedArray.js +0 -0
  1355. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseKeys.js +0 -0
  1356. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseTimes.js +0 -0
  1357. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_baseUnary.js +0 -0
  1358. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cacheHas.js +0 -0
  1359. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneArrayBuffer.js +0 -0
  1360. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneBuffer.js +0 -0
  1361. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneDataView.js +0 -0
  1362. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneRegExp.js +0 -0
  1363. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneSymbol.js +0 -0
  1364. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_cloneTypedArray.js +0 -0
  1365. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_coreJsData.js +0 -0
  1366. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_defineProperty.js +0 -0
  1367. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalArrays.js +0 -0
  1368. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalByTag.js +0 -0
  1369. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_equalObjects.js +0 -0
  1370. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_freeGlobal.js +0 -0
  1371. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getAllKeys.js +0 -0
  1372. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getMapData.js +0 -0
  1373. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getNative.js +0 -0
  1374. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getPrototype.js +0 -0
  1375. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getRawTag.js +0 -0
  1376. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getSymbols.js +0 -0
  1377. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getTag.js +0 -0
  1378. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_getValue.js +0 -0
  1379. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashClear.js +0 -0
  1380. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashDelete.js +0 -0
  1381. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashGet.js +0 -0
  1382. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashHas.js +0 -0
  1383. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_hashSet.js +0 -0
  1384. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneArray.js +0 -0
  1385. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneByTag.js +0 -0
  1386. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_initCloneObject.js +0 -0
  1387. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isIndex.js +0 -0
  1388. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isKeyable.js +0 -0
  1389. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isMasked.js +0 -0
  1390. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_isPrototype.js +0 -0
  1391. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheClear.js +0 -0
  1392. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheDelete.js +0 -0
  1393. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheGet.js +0 -0
  1394. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheHas.js +0 -0
  1395. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_listCacheSet.js +0 -0
  1396. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheClear.js +0 -0
  1397. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheDelete.js +0 -0
  1398. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheGet.js +0 -0
  1399. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheHas.js +0 -0
  1400. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapCacheSet.js +0 -0
  1401. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_mapToArray.js +0 -0
  1402. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nativeCreate.js +0 -0
  1403. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nativeKeys.js +0 -0
  1404. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_nodeUtil.js +0 -0
  1405. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_objectToString.js +0 -0
  1406. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_overArg.js +0 -0
  1407. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_root.js +0 -0
  1408. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setCacheAdd.js +0 -0
  1409. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setCacheHas.js +0 -0
  1410. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_setToArray.js +0 -0
  1411. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackClear.js +0 -0
  1412. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackDelete.js +0 -0
  1413. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackGet.js +0 -0
  1414. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackHas.js +0 -0
  1415. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_stackSet.js +0 -0
  1416. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/_toSource.js +0 -0
  1417. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/cloneDeepWith.js +0 -0
  1418. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/eq.js +0 -0
  1419. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArguments.js +0 -0
  1420. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArray.js +0 -0
  1421. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isArrayLike.js +0 -0
  1422. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isBuffer.js +0 -0
  1423. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isEmpty.js +0 -0
  1424. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isEqual.js +0 -0
  1425. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isFunction.js +0 -0
  1426. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isLength.js +0 -0
  1427. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isMap.js +0 -0
  1428. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isObject.js +0 -0
  1429. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isObjectLike.js +0 -0
  1430. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isPlainObject.js +0 -0
  1431. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isSet.js +0 -0
  1432. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/isTypedArray.js +0 -0
  1433. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/keys.js +0 -0
  1434. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/stubArray.js +0 -0
  1435. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/lodash-es/stubFalse.js +0 -0
  1436. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/quickselect/index.js +0 -0
  1437. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rbush/index.js +0 -0
  1438. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/BehaviorSubject.js +0 -0
  1439. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Observable.js +0 -0
  1440. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/ReplaySubject.js +0 -0
  1441. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Scheduler.js +0 -0
  1442. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subject.js +0 -0
  1443. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subscriber.js +0 -0
  1444. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/Subscription.js +0 -0
  1445. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/config.js +0 -0
  1446. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/combineLatest.js +0 -0
  1447. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/concat.js +0 -0
  1448. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/defer.js +0 -0
  1449. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/empty.js +0 -0
  1450. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/from.js +0 -0
  1451. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/fromEvent.js +0 -0
  1452. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/innerFrom.js +0 -0
  1453. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/merge.js +0 -0
  1454. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/observable/of.js +0 -0
  1455. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +0 -0
  1456. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/catchError.js +0 -0
  1457. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/concatAll.js +0 -0
  1458. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/concatMap.js +0 -0
  1459. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js +0 -0
  1460. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/exhaustMap.js +0 -0
  1461. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/filter.js +0 -0
  1462. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/finalize.js +0 -0
  1463. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/map.js +0 -0
  1464. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeAll.js +0 -0
  1465. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeInternals.js +0 -0
  1466. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/mergeMap.js +0 -0
  1467. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/observeOn.js +0 -0
  1468. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/sample.js +0 -0
  1469. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/skip.js +0 -0
  1470. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/skipWhile.js +0 -0
  1471. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/startWith.js +0 -0
  1472. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/subscribeOn.js +0 -0
  1473. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/switchMap.js +0 -0
  1474. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/take.js +0 -0
  1475. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/takeUntil.js +0 -0
  1476. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/takeWhile.js +0 -0
  1477. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/tap.js +0 -0
  1478. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/timeout.js +0 -0
  1479. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/operators/withLatestFrom.js +0 -0
  1480. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +0 -0
  1481. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +0 -0
  1482. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +0 -0
  1483. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +0 -0
  1484. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +0 -0
  1485. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +0 -0
  1486. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduled/scheduled.js +0 -0
  1487. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/Action.js +0 -0
  1488. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/AsyncAction.js +0 -0
  1489. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js +0 -0
  1490. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/async.js +0 -0
  1491. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js +0 -0
  1492. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/intervalProvider.js +0 -0
  1493. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +0 -0
  1494. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/symbol/iterator.js +0 -0
  1495. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/symbol/observable.js +0 -0
  1496. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js +0 -0
  1497. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +0 -0
  1498. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/args.js +0 -0
  1499. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js +0 -0
  1500. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/arrRemove.js +0 -0
  1501. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/createErrorClass.js +0 -0
  1502. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/createObject.js +0 -0
  1503. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/errorContext.js +0 -0
  1504. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/executeSchedule.js +0 -0
  1505. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/identity.js +0 -0
  1506. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isArrayLike.js +0 -0
  1507. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isAsyncIterable.js +0 -0
  1508. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isDate.js +0 -0
  1509. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isFunction.js +0 -0
  1510. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isInteropObservable.js +0 -0
  1511. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isIterable.js +0 -0
  1512. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isPromise.js +0 -0
  1513. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +0 -0
  1514. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/isScheduler.js +0 -0
  1515. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/lift.js +0 -0
  1516. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js +0 -0
  1517. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/noop.js +0 -0
  1518. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/pipe.js +0 -0
  1519. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/reportUnhandledError.js +0 -0
  1520. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/rxjs/dist/esm5/internal/util/throwUnobservableError.js +0 -0
  1521. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/Constants.js +0 -0
  1522. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/MeshBVHNode.js +0 -0
  1523. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/buildTree.js +0 -0
  1524. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/buildUtils.js +0 -0
  1525. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/computeBoundsUtils.js +0 -0
  1526. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/sortUtils.generated.js +0 -0
  1527. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/sortUtils_indirect.generated.js +0 -0
  1528. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/build/splitUtils.js +0 -0
  1529. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycast.generated.js +0 -0
  1530. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycastFirst.generated.js +0 -0
  1531. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycastFirst_indirect.generated.js +0 -0
  1532. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/raycast_indirect.generated.js +0 -0
  1533. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/refit.generated.js +0 -0
  1534. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/cast/refit_indirect.generated.js +0 -0
  1535. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/BufferStack.js +0 -0
  1536. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/intersectUtils.js +0 -0
  1537. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/iterationUtils.generated.js +0 -0
  1538. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/iterationUtils_indirect.generated.js +0 -0
  1539. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/core/utils/nodeBufferUtils.js +0 -0
  1540. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/ArrayBoxUtilities.js +0 -0
  1541. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/BufferUtils.js +0 -0
  1542. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/ExtendedTrianglePool.js +0 -0
  1543. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/GeometryRayIntersectUtilities.js +0 -0
  1544. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/three-mesh-bvh/src/utils/PrimitivePool.js +0 -0
  1545. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/node_modules → node_modules}/tslib/tslib.es6.js +0 -0
  1546. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-engine/node_modules/nanoid/index.browser.js +0 -0
  1547. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-engine/node_modules/nanoid/url-alphabet/index.js +0 -0
  1548. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Constants/CssUnits.js +0 -0
  1549. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Constants/FallBackFonts.js +0 -0
  1550. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/ArrayUtils.js +0 -0
  1551. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/AsyncUtils.js +0 -0
  1552. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/CheckUtils.js +0 -0
  1553. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/CssUtils.js +0 -0
  1554. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/MapUtils.js +0 -0
  1555. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/ObjectUtils.js +0 -0
  1556. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/StringUtils.js +0 -0
  1557. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/TypesUtils.js +0 -0
  1558. /package/dist/{home/runner/work/anarchy-engine/anarchy-engine/packages → packages}/anarchy-shared/src/Utils/WebGlUtils.js +0 -0
@@ -1,2 +0,0 @@
1
- import"../../../build/three.module.js";import{Controls,Vector3,MathUtils,Spherical}from"../../../build/three.core.js";const _lookDirection=new Vector3,_spherical=new Spherical,_target=new Vector3,_targetPosition=new Vector3;class FirstPersonControls extends Controls{constructor(object,domElement=null){super(object,domElement),this.movementSpeed=1,this.lookSpeed=.005,this.lookVertical=!0,this.autoForward=!1,this.activeLook=!0,this.heightSpeed=!1,this.heightCoef=1,this.heightMin=0,this.heightMax=1,this.constrainVertical=!1,this.verticalMin=0,this.verticalMax=Math.PI,this.mouseDragOn=!1,this._autoSpeedFactor=0,this._pointerX=0,this._pointerY=0,this._moveForward=!1,this._moveBackward=!1,this._moveLeft=!1,this._moveRight=!1,this._viewHalfX=0,this._viewHalfY=0,this._lat=0,this._lon=0,this._onPointerMove=onPointerMove.bind(this),this._onPointerDown=onPointerDown.bind(this),this._onPointerUp=onPointerUp.bind(this),this._onContextMenu=onContextMenu.bind(this),this._onKeyDown=onKeyDown.bind(this),this._onKeyUp=onKeyUp.bind(this),null!==domElement&&(this.connect(domElement),this.handleResize()),this._setOrientation()}connect(element){super.connect(element),window.addEventListener("keydown",this._onKeyDown),window.addEventListener("keyup",this._onKeyUp),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointerup",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu)}disconnect(){window.removeEventListener("keydown",this._onKeyDown),window.removeEventListener("keyup",this._onKeyUp),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("contextmenu",this._onContextMenu)}dispose(){this.disconnect()}handleResize(){this.domElement===document?(this._viewHalfX=window.innerWidth/2,this._viewHalfY=window.innerHeight/2):(this._viewHalfX=this.domElement.offsetWidth/2,this._viewHalfY=this.domElement.offsetHeight/2)}lookAt(x,y,z){return x.isVector3?_target.copy(x):_target.set(x,y,z),this.object.lookAt(_target),this._setOrientation(),this}update(delta){if(!1===this.enabled)return;if(this.heightSpeed){const y=MathUtils.clamp(this.object.position.y,this.heightMin,this.heightMax);this._autoSpeedFactor=delta*((y-this.heightMin)*this.heightCoef)}else this._autoSpeedFactor=0;const actualMoveSpeed=delta*this.movementSpeed;(this._moveForward||this.autoForward&&!this._moveBackward)&&this.object.translateZ(-(actualMoveSpeed+this._autoSpeedFactor)),this._moveBackward&&this.object.translateZ(actualMoveSpeed),this._moveLeft&&this.object.translateX(-actualMoveSpeed),this._moveRight&&this.object.translateX(actualMoveSpeed),this._moveUp&&this.object.translateY(actualMoveSpeed),this._moveDown&&this.object.translateY(-actualMoveSpeed);let actualLookSpeed=delta*this.lookSpeed;this.activeLook||(actualLookSpeed=0);let verticalLookRatio=1;this.constrainVertical&&(verticalLookRatio=Math.PI/(this.verticalMax-this.verticalMin)),this._lon-=this._pointerX*actualLookSpeed,this.lookVertical&&(this._lat-=this._pointerY*actualLookSpeed*verticalLookRatio),this._lat=Math.max(-85,Math.min(85,this._lat));let phi=MathUtils.degToRad(90-this._lat);const theta=MathUtils.degToRad(this._lon);this.constrainVertical&&(phi=MathUtils.mapLinear(phi,0,Math.PI,this.verticalMin,this.verticalMax));const position=this.object.position;_targetPosition.setFromSphericalCoords(1,phi,theta).add(position),this.object.lookAt(_targetPosition)}_setOrientation(){const quaternion=this.object.quaternion;_lookDirection.set(0,0,-1).applyQuaternion(quaternion),_spherical.setFromVector3(_lookDirection),this._lat=90-MathUtils.radToDeg(_spherical.phi),this._lon=MathUtils.radToDeg(_spherical.theta)}}function onPointerDown(event){if(this.domElement!==document&&this.domElement.focus(),this.activeLook)switch(event.button){case 0:this._moveForward=!0;break;case 2:this._moveBackward=!0}this.mouseDragOn=!0}function onPointerUp(event){if(this.activeLook)switch(event.button){case 0:this._moveForward=!1;break;case 2:this._moveBackward=!1}this.mouseDragOn=!1}function onPointerMove(event){this.domElement===document?(this._pointerX=event.pageX-this._viewHalfX,this._pointerY=event.pageY-this._viewHalfY):(this._pointerX=event.pageX-this.domElement.offsetLeft-this._viewHalfX,this._pointerY=event.pageY-this.domElement.offsetTop-this._viewHalfY)}function onKeyDown(event){switch(event.code){case"ArrowUp":case"KeyW":this._moveForward=!0;break;case"ArrowLeft":case"KeyA":this._moveLeft=!0;break;case"ArrowDown":case"KeyS":this._moveBackward=!0;break;case"ArrowRight":case"KeyD":this._moveRight=!0;break;case"KeyR":this._moveUp=!0;break;case"KeyF":this._moveDown=!0}}function onKeyUp(event){switch(event.code){case"ArrowUp":case"KeyW":this._moveForward=!1;break;case"ArrowLeft":case"KeyA":this._moveLeft=!1;break;case"ArrowDown":case"KeyS":this._moveBackward=!1;break;case"ArrowRight":case"KeyD":this._moveRight=!1;break;case"KeyR":this._moveUp=!1;break;case"KeyF":this._moveDown=!1}}function onContextMenu(event){!1!==this.enabled&&event.preventDefault()}export{FirstPersonControls};
2
- //# sourceMappingURL=FirstPersonControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirstPersonControls.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/controls/FirstPersonControls.js"],"sourcesContent":["import {\n\tControls,\n\tMathUtils,\n\tSpherical,\n\tVector3\n} from 'three';\n\nconst _lookDirection = new Vector3();\nconst _spherical = new Spherical();\nconst _target = new Vector3();\nconst _targetPosition = new Vector3();\n\n/**\n * This class is an alternative implementation of {@link FlyControls}.\n *\n * @augments Controls\n * @three_import import { FirstPersonControls } from 'three/addons/controls/FirstPersonControls.js';\n */\nclass FirstPersonControls extends Controls {\n\n\t/**\n\t * Constructs a new controls instance.\n\t *\n\t * @param {Object3D} object - The object that is managed by the controls.\n\t * @param {?HTMLElement} domElement - The HTML element used for event listeners.\n\t */\n\tconstructor( object, domElement = null ) {\n\n\t\tsuper( object, domElement );\n\n\t\t/**\n\t\t * The movement speed.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.movementSpeed = 1.0;\n\n\t\t/**\n\t\t * The look around speed.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0.005\n\t\t */\n\t\tthis.lookSpeed = 0.005;\n\n\t\t/**\n\t\t * Whether it's possible to vertically look around or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.lookVertical = true;\n\n\t\t/**\n\t\t * Whether the camera is automatically moved forward or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.autoForward = false;\n\n\t\t/**\n\t\t * Whether it's possible to look around or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.activeLook = true;\n\n\t\t/**\n\t\t * Whether or not the camera's height influences the forward movement speed.\n\t\t * Use the properties `heightCoef`, `heightMin` and `heightMax` for configuration.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.heightSpeed = false;\n\n\t\t/**\n\t\t * Determines how much faster the camera moves when it's y-component is near `heightMax`.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.heightCoef = 1.0;\n\n\t\t/**\n\t\t * Lower camera height limit used for movement speed adjustment.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.heightMin = 0.0;\n\n\t\t/**\n\t\t * Upper camera height limit used for movement speed adjustment.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.heightMax = 1.0;\n\n\t\t/**\n\t\t * Whether or not looking around is vertically constrained by `verticalMin` and `verticalMax`.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.constrainVertical = false;\n\n\t\t/**\n\t\t * How far you can vertically look around, lower limit. Range is `0` to `Math.PI` in radians.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.verticalMin = 0;\n\n\t\t/**\n\t\t * How far you can vertically look around, upper limit. Range is `0` to `Math.PI` in radians.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.verticalMax = Math.PI;\n\n\t\t/**\n\t\t * Whether the mouse is pressed down or not.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default false\n\t\t */\n\t\tthis.mouseDragOn = false;\n\n\t\t// internals\n\n\t\tthis._autoSpeedFactor = 0.0;\n\n\t\tthis._pointerX = 0;\n\t\tthis._pointerY = 0;\n\n\t\tthis._moveForward = false;\n\t\tthis._moveBackward = false;\n\t\tthis._moveLeft = false;\n\t\tthis._moveRight = false;\n\n\t\tthis._viewHalfX = 0;\n\t\tthis._viewHalfY = 0;\n\n\t\tthis._lat = 0;\n\t\tthis._lon = 0;\n\n\t\t// event listeners\n\n\t\tthis._onPointerMove = onPointerMove.bind( this );\n\t\tthis._onPointerDown = onPointerDown.bind( this );\n\t\tthis._onPointerUp = onPointerUp.bind( this );\n\t\tthis._onContextMenu = onContextMenu.bind( this );\n\t\tthis._onKeyDown = onKeyDown.bind( this );\n\t\tthis._onKeyUp = onKeyUp.bind( this );\n\n\t\t//\n\n\t\tif ( domElement !== null ) {\n\n\t\t\tthis.connect( domElement );\n\n\t\t\tthis.handleResize();\n\n\t\t}\n\n\t\tthis._setOrientation();\n\n\t}\n\n\tconnect( element ) {\n\n\t\tsuper.connect( element );\n\n\t\twindow.addEventListener( 'keydown', this._onKeyDown );\n\t\twindow.addEventListener( 'keyup', this._onKeyUp );\n\n\t\tthis.domElement.addEventListener( 'pointermove', this._onPointerMove );\n\t\tthis.domElement.addEventListener( 'pointerdown', this._onPointerDown );\n\t\tthis.domElement.addEventListener( 'pointerup', this._onPointerUp );\n\t\tthis.domElement.addEventListener( 'contextmenu', this._onContextMenu );\n\n\t}\n\n\tdisconnect() {\n\n\t\twindow.removeEventListener( 'keydown', this._onKeyDown );\n\t\twindow.removeEventListener( 'keyup', this._onKeyUp );\n\n\t\tthis.domElement.removeEventListener( 'pointermove', this._onPointerMove );\n\t\tthis.domElement.removeEventListener( 'pointerdown', this._onPointerDown );\n\t\tthis.domElement.removeEventListener( 'pointerup', this._onPointerUp );\n\t\tthis.domElement.removeEventListener( 'contextmenu', this._onContextMenu );\n\n\t}\n\n\tdispose() {\n\n\t\tthis.disconnect();\n\n\t}\n\n\t/**\n\t * Must be called if the application window is resized.\n\t */\n\thandleResize() {\n\n\t\tif ( this.domElement === document ) {\n\n\t\t\tthis._viewHalfX = window.innerWidth / 2;\n\t\t\tthis._viewHalfY = window.innerHeight / 2;\n\n\t\t} else {\n\n\t\t\tthis._viewHalfX = this.domElement.offsetWidth / 2;\n\t\t\tthis._viewHalfY = this.domElement.offsetHeight / 2;\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Rotates the camera towards the defined target position.\n\t *\n\t * @param {number|Vector3} x - The x coordinate of the target position or alternatively a vector representing the target position.\n\t * @param {number} y - The y coordinate of the target position.\n\t * @param {number} z - The z coordinate of the target position.\n\t * @return {FirstPersonControls} A reference to this controls.\n\t */\n\tlookAt( x, y, z ) {\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\t_target.copy( x );\n\n\t\t} else {\n\n\t\t\t_target.set( x, y, z );\n\n\t\t}\n\n\t\tthis.object.lookAt( _target );\n\n\t\tthis._setOrientation();\n\n\t\treturn this;\n\n\t}\n\n\tupdate( delta ) {\n\n\t\tif ( this.enabled === false ) return;\n\n\t\tif ( this.heightSpeed ) {\n\n\t\t\tconst y = MathUtils.clamp( this.object.position.y, this.heightMin, this.heightMax );\n\t\t\tconst heightDelta = y - this.heightMin;\n\n\t\t\tthis._autoSpeedFactor = delta * ( heightDelta * this.heightCoef );\n\n\t\t} else {\n\n\t\t\tthis._autoSpeedFactor = 0.0;\n\n\t\t}\n\n\t\tconst actualMoveSpeed = delta * this.movementSpeed;\n\n\t\tif ( this._moveForward || ( this.autoForward && ! this._moveBackward ) ) this.object.translateZ( - ( actualMoveSpeed + this._autoSpeedFactor ) );\n\t\tif ( this._moveBackward ) this.object.translateZ( actualMoveSpeed );\n\n\t\tif ( this._moveLeft ) this.object.translateX( - actualMoveSpeed );\n\t\tif ( this._moveRight ) this.object.translateX( actualMoveSpeed );\n\n\t\tif ( this._moveUp ) this.object.translateY( actualMoveSpeed );\n\t\tif ( this._moveDown ) this.object.translateY( - actualMoveSpeed );\n\n\t\tlet actualLookSpeed = delta * this.lookSpeed;\n\n\t\tif ( ! this.activeLook ) {\n\n\t\t\tactualLookSpeed = 0;\n\n\t\t}\n\n\t\tlet verticalLookRatio = 1;\n\n\t\tif ( this.constrainVertical ) {\n\n\t\t\tverticalLookRatio = Math.PI / ( this.verticalMax - this.verticalMin );\n\n\t\t}\n\n\t\tthis._lon -= this._pointerX * actualLookSpeed;\n\t\tif ( this.lookVertical ) this._lat -= this._pointerY * actualLookSpeed * verticalLookRatio;\n\n\t\tthis._lat = Math.max( - 85, Math.min( 85, this._lat ) );\n\n\t\tlet phi = MathUtils.degToRad( 90 - this._lat );\n\t\tconst theta = MathUtils.degToRad( this._lon );\n\n\t\tif ( this.constrainVertical ) {\n\n\t\t\tphi = MathUtils.mapLinear( phi, 0, Math.PI, this.verticalMin, this.verticalMax );\n\n\t\t}\n\n\t\tconst position = this.object.position;\n\n\t\t_targetPosition.setFromSphericalCoords( 1, phi, theta ).add( position );\n\n\t\tthis.object.lookAt( _targetPosition );\n\n\t}\n\n\t_setOrientation() {\n\n\t\tconst quaternion = this.object.quaternion;\n\n\t\t_lookDirection.set( 0, 0, - 1 ).applyQuaternion( quaternion );\n\t\t_spherical.setFromVector3( _lookDirection );\n\n\t\tthis._lat = 90 - MathUtils.radToDeg( _spherical.phi );\n\t\tthis._lon = MathUtils.radToDeg( _spherical.theta );\n\n\t}\n\n}\n\nfunction onPointerDown( event ) {\n\n\tif ( this.domElement !== document ) {\n\n\t\tthis.domElement.focus();\n\n\t}\n\n\tif ( this.activeLook ) {\n\n\t\tswitch ( event.button ) {\n\n\t\t\tcase 0: this._moveForward = true; break;\n\t\t\tcase 2: this._moveBackward = true; break;\n\n\t\t}\n\n\t}\n\n\tthis.mouseDragOn = true;\n\n}\n\nfunction onPointerUp( event ) {\n\n\tif ( this.activeLook ) {\n\n\t\tswitch ( event.button ) {\n\n\t\t\tcase 0: this._moveForward = false; break;\n\t\t\tcase 2: this._moveBackward = false; break;\n\n\t\t}\n\n\t}\n\n\tthis.mouseDragOn = false;\n\n}\n\nfunction onPointerMove( event ) {\n\n\tif ( this.domElement === document ) {\n\n\t\tthis._pointerX = event.pageX - this._viewHalfX;\n\t\tthis._pointerY = event.pageY - this._viewHalfY;\n\n\t} else {\n\n\t\tthis._pointerX = event.pageX - this.domElement.offsetLeft - this._viewHalfX;\n\t\tthis._pointerY = event.pageY - this.domElement.offsetTop - this._viewHalfY;\n\n\t}\n\n}\n\nfunction onKeyDown( event ) {\n\n\tswitch ( event.code ) {\n\n\t\tcase 'ArrowUp':\n\t\tcase 'KeyW': this._moveForward = true; break;\n\n\t\tcase 'ArrowLeft':\n\t\tcase 'KeyA': this._moveLeft = true; break;\n\n\t\tcase 'ArrowDown':\n\t\tcase 'KeyS': this._moveBackward = true; break;\n\n\t\tcase 'ArrowRight':\n\t\tcase 'KeyD': this._moveRight = true; break;\n\n\t\tcase 'KeyR': this._moveUp = true; break;\n\t\tcase 'KeyF': this._moveDown = true; break;\n\n\t}\n\n}\n\nfunction onKeyUp( event ) {\n\n\tswitch ( event.code ) {\n\n\t\tcase 'ArrowUp':\n\t\tcase 'KeyW': this._moveForward = false; break;\n\n\t\tcase 'ArrowLeft':\n\t\tcase 'KeyA': this._moveLeft = false; break;\n\n\t\tcase 'ArrowDown':\n\t\tcase 'KeyS': this._moveBackward = false; break;\n\n\t\tcase 'ArrowRight':\n\t\tcase 'KeyD': this._moveRight = false; break;\n\n\t\tcase 'KeyR': this._moveUp = false; break;\n\t\tcase 'KeyF': this._moveDown = false; break;\n\n\t}\n\n}\n\nfunction onContextMenu( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tevent.preventDefault();\n\n}\n\nexport { FirstPersonControls };\n"],"names":["_lookDirection","Vector3","_spherical","Spherical","_target","_targetPosition","FirstPersonControls","Controls","constructor","object","domElement","super","this","movementSpeed","lookSpeed","lookVertical","autoForward","activeLook","heightSpeed","heightCoef","heightMin","heightMax","constrainVertical","verticalMin","verticalMax","Math","PI","mouseDragOn","_autoSpeedFactor","_pointerX","_pointerY","_moveForward","_moveBackward","_moveLeft","_moveRight","_viewHalfX","_viewHalfY","_lat","_lon","_onPointerMove","onPointerMove","bind","_onPointerDown","onPointerDown","_onPointerUp","onPointerUp","_onContextMenu","onContextMenu","_onKeyDown","onKeyDown","_onKeyUp","onKeyUp","connect","handleResize","_setOrientation","element","window","addEventListener","disconnect","removeEventListener","dispose","document","innerWidth","innerHeight","offsetWidth","offsetHeight","lookAt","x","y","z","isVector3","copy","set","update","delta","enabled","MathUtils","clamp","position","actualMoveSpeed","translateZ","translateX","_moveUp","translateY","_moveDown","actualLookSpeed","verticalLookRatio","max","min","phi","degToRad","theta","mapLinear","setFromSphericalCoords","add","quaternion","applyQuaternion","setFromVector3","radToDeg","event","focus","button","pageX","pageY","offsetLeft","offsetTop","code","preventDefault"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import"../../../build/three.module.js";import{Controls,Vector3,MOUSE,TOUCH,Quaternion,Spherical,Vector2,Ray,Plane,MathUtils}from"../../../build/three.core.js";const _changeEvent={type:"change"},_startEvent={type:"start"},_endEvent={type:"end"},_ray=new Ray,_plane=new Plane,_TILT_LIMIT=Math.cos(70*MathUtils.DEG2RAD),_v=new Vector3,_twoPI=2*Math.PI;class OrbitControls extends Controls{constructor(object,domElement=null){super(object,domElement),this.state=-1,this.target=new Vector3,this.cursor=new Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:MOUSE.ROTATE,MIDDLE:MOUSE.DOLLY,RIGHT:MOUSE.PAN},this.touches={ONE:TOUCH.ROTATE,TWO:TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new Vector3,this._lastQuaternion=new Quaternion,this._lastTargetPosition=new Vector3,this._quat=(new Quaternion).setFromUnitVectors(object.up,new Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new Spherical,this._sphericalDelta=new Spherical,this._scale=1,this._panOffset=new Vector3,this._rotateStart=new Vector2,this._rotateEnd=new Vector2,this._rotateDelta=new Vector2,this._panStart=new Vector2,this._panEnd=new Vector2,this._panDelta=new Vector2,this._dollyStart=new Vector2,this._dollyEnd=new Vector2,this._dollyDelta=new Vector2,this._dollyDirection=new Vector3,this._mouse=new Vector2,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=onPointerMove.bind(this),this._onPointerDown=onPointerDown.bind(this),this._onPointerUp=onPointerUp.bind(this),this._onContextMenu=onContextMenu.bind(this),this._onMouseWheel=onMouseWheel.bind(this),this._onKeyDown=onKeyDown.bind(this),this._onTouchStart=onTouchStart.bind(this),this._onTouchMove=onTouchMove.bind(this),this._onMouseDown=onMouseDown.bind(this),this._onMouseMove=onMouseMove.bind(this),this._interceptControlDown=interceptControlDown.bind(this),this._interceptControlUp=interceptControlUp.bind(this),null!==this.domElement&&this.connect(this.domElement),this.update()}connect(element){super.connect(element),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(domElement){domElement.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=domElement}stopListenToKeyEvents(){null!==this._domElementKeyEvents&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(_changeEvent),this.update(),this.state=-1}update(deltaTime=null){const position=this.object.position;_v.copy(position).sub(this.target),_v.applyQuaternion(this._quat),this._spherical.setFromVector3(_v),this.autoRotate&&-1===this.state&&this._rotateLeft(this._getAutoRotationAngle(deltaTime)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let min=this.minAzimuthAngle,max=this.maxAzimuthAngle;isFinite(min)&&isFinite(max)&&(min<-Math.PI?min+=_twoPI:min>Math.PI&&(min-=_twoPI),max<-Math.PI?max+=_twoPI:max>Math.PI&&(max-=_twoPI),this._spherical.theta=min<=max?Math.max(min,Math.min(max,this._spherical.theta)):this._spherical.theta>(min+max)/2?Math.max(min,this._spherical.theta):Math.min(max,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),!0===this.enableDamping?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let zoomChanged=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const prevRadius=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),zoomChanged=prevRadius!=this._spherical.radius}if(_v.setFromSpherical(this._spherical),_v.applyQuaternion(this._quatInverse),position.copy(this.target).add(_v),this.object.lookAt(this.target),!0===this.enableDamping?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let newRadius=null;if(this.object.isPerspectiveCamera){const prevRadius=_v.length();newRadius=this._clampDistance(prevRadius*this._scale);const radiusDelta=prevRadius-newRadius;this.object.position.addScaledVector(this._dollyDirection,radiusDelta),this.object.updateMatrixWorld(),zoomChanged=!!radiusDelta}else if(this.object.isOrthographicCamera){const mouseBefore=new Vector3(this._mouse.x,this._mouse.y,0);mouseBefore.unproject(this.object);const prevZoom=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),zoomChanged=prevZoom!==this.object.zoom;const mouseAfter=new Vector3(this._mouse.x,this._mouse.y,0);mouseAfter.unproject(this.object),this.object.position.sub(mouseAfter).add(mouseBefore),this.object.updateMatrixWorld(),newRadius=_v.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;null!==newRadius&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(newRadius).add(this.object.position):(_ray.origin.copy(this.object.position),_ray.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(_ray.direction))<_TILT_LIMIT?this.object.lookAt(this.target):(_plane.setFromNormalAndCoplanarPoint(this.object.up,this.target),_ray.intersectPlane(_plane,this.target))))}else if(this.object.isOrthographicCamera){const prevZoom=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),prevZoom!==this.object.zoom&&(this.object.updateProjectionMatrix(),zoomChanged=!0)}return this._scale=1,this._performCursorZoom=!1,!!(zoomChanged||this._lastPosition.distanceToSquared(this.object.position)>1e-6||8*(1-this._lastQuaternion.dot(this.object.quaternion))>1e-6||this._lastTargetPosition.distanceToSquared(this.target)>1e-6)&&(this.dispatchEvent(_changeEvent),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0)}_getAutoRotationAngle(deltaTime){return null!==deltaTime?_twoPI/60*this.autoRotateSpeed*deltaTime:_twoPI/60/60*this.autoRotateSpeed}_getZoomScale(delta){const normalizedDelta=Math.abs(.01*delta);return Math.pow(.95,this.zoomSpeed*normalizedDelta)}_rotateLeft(angle){this._sphericalDelta.theta-=angle}_rotateUp(angle){this._sphericalDelta.phi-=angle}_panLeft(distance,objectMatrix){_v.setFromMatrixColumn(objectMatrix,0),_v.multiplyScalar(-distance),this._panOffset.add(_v)}_panUp(distance,objectMatrix){!0===this.screenSpacePanning?_v.setFromMatrixColumn(objectMatrix,1):(_v.setFromMatrixColumn(objectMatrix,0),_v.crossVectors(this.object.up,_v)),_v.multiplyScalar(distance),this._panOffset.add(_v)}_pan(deltaX,deltaY){const element=this.domElement;if(this.object.isPerspectiveCamera){_v.copy(this.object.position).sub(this.target);let targetDistance=_v.length();targetDistance*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*deltaX*targetDistance/element.clientHeight,this.object.matrix),this._panUp(2*deltaY*targetDistance/element.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(deltaX*(this.object.right-this.object.left)/this.object.zoom/element.clientWidth,this.object.matrix),this._panUp(deltaY*(this.object.top-this.object.bottom)/this.object.zoom/element.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(dollyScale){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=dollyScale:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(dollyScale){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=dollyScale:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(x,y){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const rect=this.domElement.getBoundingClientRect(),dy=y-rect.top,h=rect.height;this._mouse.x=(x-rect.left)/rect.width*2-1,this._mouse.y=-dy/h*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(dist){return Math.max(this.minDistance,Math.min(this.maxDistance,dist))}_handleMouseDownRotate(event){this._rotateStart.set(event.clientX,event.clientY)}_handleMouseDownDolly(event){this._updateZoomParameters(event.clientX,event.clientX),this._dollyStart.set(event.clientX,event.clientY)}_handleMouseDownPan(event){this._panStart.set(event.clientX,event.clientY)}_handleMouseMoveRotate(event){this._rotateEnd.set(event.clientX,event.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const element=this.domElement;this._rotateLeft(_twoPI*this._rotateDelta.x/element.clientHeight),this._rotateUp(_twoPI*this._rotateDelta.y/element.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(event){this._dollyEnd.set(event.clientX,event.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(event){this._panEnd.set(event.clientX,event.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(event){this._updateZoomParameters(event.clientX,event.clientY),event.deltaY<0?this._dollyIn(this._getZoomScale(event.deltaY)):event.deltaY>0&&this._dollyOut(this._getZoomScale(event.deltaY)),this.update()}_handleKeyDown(event){let needsUpdate=!1;switch(event.code){case this.keys.UP:event.ctrlKey||event.metaKey||event.shiftKey?this.enableRotate&&this._rotateUp(_twoPI*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),needsUpdate=!0;break;case this.keys.BOTTOM:event.ctrlKey||event.metaKey||event.shiftKey?this.enableRotate&&this._rotateUp(-_twoPI*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),needsUpdate=!0;break;case this.keys.LEFT:event.ctrlKey||event.metaKey||event.shiftKey?this.enableRotate&&this._rotateLeft(_twoPI*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),needsUpdate=!0;break;case this.keys.RIGHT:event.ctrlKey||event.metaKey||event.shiftKey?this.enableRotate&&this._rotateLeft(-_twoPI*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),needsUpdate=!0}needsUpdate&&(event.preventDefault(),this.update())}_handleTouchStartRotate(event){if(1===this._pointers.length)this._rotateStart.set(event.pageX,event.pageY);else{const position=this._getSecondPointerPosition(event);this._rotateStart.set(.5*(event.pageX+position.x),.5*(event.pageY+position.y))}}_handleTouchStartPan(event){if(1===this._pointers.length)this._panStart.set(event.pageX,event.pageY);else{const position=this._getSecondPointerPosition(event);this._panStart.set(.5*(event.pageX+position.x),.5*(event.pageY+position.y))}}_handleTouchStartDolly(event){const position=this._getSecondPointerPosition(event),dx=event.pageX-position.x,dy=event.pageY-position.y,distance=Math.sqrt(dx*dx+dy*dy);this._dollyStart.set(0,distance)}_handleTouchStartDollyPan(event){this.enableZoom&&this._handleTouchStartDolly(event),this.enablePan&&this._handleTouchStartPan(event)}_handleTouchStartDollyRotate(event){this.enableZoom&&this._handleTouchStartDolly(event),this.enableRotate&&this._handleTouchStartRotate(event)}_handleTouchMoveRotate(event){if(1==this._pointers.length)this._rotateEnd.set(event.pageX,event.pageY);else{const position=this._getSecondPointerPosition(event);this._rotateEnd.set(.5*(event.pageX+position.x),.5*(event.pageY+position.y))}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const element=this.domElement;this._rotateLeft(_twoPI*this._rotateDelta.x/element.clientHeight),this._rotateUp(_twoPI*this._rotateDelta.y/element.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(event){if(1===this._pointers.length)this._panEnd.set(event.pageX,event.pageY);else{const position=this._getSecondPointerPosition(event);this._panEnd.set(.5*(event.pageX+position.x),.5*(event.pageY+position.y))}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(event){const position=this._getSecondPointerPosition(event),dx=event.pageX-position.x,dy=event.pageY-position.y,distance=Math.sqrt(dx*dx+dy*dy);this._dollyEnd.set(0,distance),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd),this._updateZoomParameters(.5*(event.pageX+position.x),.5*(event.pageY+position.y))}_handleTouchMoveDollyPan(event){this.enableZoom&&this._handleTouchMoveDolly(event),this.enablePan&&this._handleTouchMovePan(event)}_handleTouchMoveDollyRotate(event){this.enableZoom&&this._handleTouchMoveDolly(event),this.enableRotate&&this._handleTouchMoveRotate(event)}_addPointer(event){this._pointers.push(event.pointerId)}_removePointer(event){delete this._pointerPositions[event.pointerId];for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==event.pointerId)return void this._pointers.splice(i,1)}_isTrackingPointer(event){for(let i=0;i<this._pointers.length;i++)if(this._pointers[i]==event.pointerId)return!0;return!1}_trackPointer(event){let position=this._pointerPositions[event.pointerId];void 0===position&&(position=new Vector2,this._pointerPositions[event.pointerId]=position),position.set(event.pageX,event.pageY)}_getSecondPointerPosition(event){return this._pointerPositions[event.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0]]}_customWheelEvent(event){const newEvent={clientX:event.clientX,clientY:event.clientY,deltaY:event.deltaY};switch(event.deltaMode){case 1:newEvent.deltaY*=16;break;case 2:newEvent.deltaY*=100}return event.ctrlKey&&!this._controlActive&&(newEvent.deltaY*=10),newEvent}}function onPointerDown(event){!1!==this.enabled&&(0===this._pointers.length&&(this.domElement.setPointerCapture(event.pointerId),this.domElement.ownerDocument.addEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this._onPointerUp)),this._isTrackingPointer(event)||(this._addPointer(event),"touch"===event.pointerType?this._onTouchStart(event):this._onMouseDown(event)))}function onPointerMove(event){!1!==this.enabled&&("touch"===event.pointerType?this._onTouchMove(event):this._onMouseMove(event))}function onPointerUp(event){switch(this._removePointer(event),this._pointers.length){case 0:this.domElement.releasePointerCapture(event.pointerId),this.domElement.ownerDocument.removeEventListener("pointermove",this._onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(_endEvent),this.state=-1;break;case 1:const pointerId=this._pointers[0],position=this._pointerPositions[pointerId];this._onTouchStart({pointerId:pointerId,pageX:position.x,pageY:position.y})}}function onMouseDown(event){let mouseAction;switch(event.button){case 0:mouseAction=this.mouseButtons.LEFT;break;case 1:mouseAction=this.mouseButtons.MIDDLE;break;case 2:mouseAction=this.mouseButtons.RIGHT;break;default:mouseAction=-1}switch(mouseAction){case MOUSE.DOLLY:if(!1===this.enableZoom)return;this._handleMouseDownDolly(event),this.state=1;break;case MOUSE.ROTATE:if(event.ctrlKey||event.metaKey||event.shiftKey){if(!1===this.enablePan)return;this._handleMouseDownPan(event),this.state=2}else{if(!1===this.enableRotate)return;this._handleMouseDownRotate(event),this.state=0}break;case MOUSE.PAN:if(event.ctrlKey||event.metaKey||event.shiftKey){if(!1===this.enableRotate)return;this._handleMouseDownRotate(event),this.state=0}else{if(!1===this.enablePan)return;this._handleMouseDownPan(event),this.state=2}break;default:this.state=-1}-1!==this.state&&this.dispatchEvent(_startEvent)}function onMouseMove(event){switch(this.state){case 0:if(!1===this.enableRotate)return;this._handleMouseMoveRotate(event);break;case 1:if(!1===this.enableZoom)return;this._handleMouseMoveDolly(event);break;case 2:if(!1===this.enablePan)return;this._handleMouseMovePan(event)}}function onMouseWheel(event){!1!==this.enabled&&!1!==this.enableZoom&&-1===this.state&&(event.preventDefault(),this.dispatchEvent(_startEvent),this._handleMouseWheel(this._customWheelEvent(event)),this.dispatchEvent(_endEvent))}function onKeyDown(event){!1!==this.enabled&&this._handleKeyDown(event)}function onTouchStart(event){switch(this._trackPointer(event),this._pointers.length){case 1:switch(this.touches.ONE){case TOUCH.ROTATE:if(!1===this.enableRotate)return;this._handleTouchStartRotate(event),this.state=3;break;case TOUCH.PAN:if(!1===this.enablePan)return;this._handleTouchStartPan(event),this.state=4;break;default:this.state=-1}break;case 2:switch(this.touches.TWO){case TOUCH.DOLLY_PAN:if(!1===this.enableZoom&&!1===this.enablePan)return;this._handleTouchStartDollyPan(event),this.state=5;break;case TOUCH.DOLLY_ROTATE:if(!1===this.enableZoom&&!1===this.enableRotate)return;this._handleTouchStartDollyRotate(event),this.state=6;break;default:this.state=-1}break;default:this.state=-1}-1!==this.state&&this.dispatchEvent(_startEvent)}function onTouchMove(event){switch(this._trackPointer(event),this.state){case 3:if(!1===this.enableRotate)return;this._handleTouchMoveRotate(event),this.update();break;case 4:if(!1===this.enablePan)return;this._handleTouchMovePan(event),this.update();break;case 5:if(!1===this.enableZoom&&!1===this.enablePan)return;this._handleTouchMoveDollyPan(event),this.update();break;case 6:if(!1===this.enableZoom&&!1===this.enableRotate)return;this._handleTouchMoveDollyRotate(event),this.update();break;default:this.state=-1}}function onContextMenu(event){!1!==this.enabled&&event.preventDefault()}function interceptControlDown(event){"Control"===event.key&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function interceptControlUp(event){"Control"===event.key&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}export{OrbitControls};
2
- //# sourceMappingURL=OrbitControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrbitControls.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/controls/OrbitControls.js"],"sourcesContent":["import {\n\tControls,\n\tMOUSE,\n\tQuaternion,\n\tSpherical,\n\tTOUCH,\n\tVector2,\n\tVector3,\n\tPlane,\n\tRay,\n\tMathUtils\n} from 'three';\n\n/**\n * Fires when the camera has been transformed by the controls.\n *\n * @event OrbitControls#change\n * @type {Object}\n */\nconst _changeEvent = { type: 'change' };\n\n/**\n * Fires when an interaction was initiated.\n *\n * @event OrbitControls#start\n * @type {Object}\n */\nconst _startEvent = { type: 'start' };\n\n/**\n * Fires when an interaction has finished.\n *\n * @event OrbitControls#end\n * @type {Object}\n */\nconst _endEvent = { type: 'end' };\n\nconst _ray = new Ray();\nconst _plane = new Plane();\nconst _TILT_LIMIT = Math.cos( 70 * MathUtils.DEG2RAD );\n\nconst _v = new Vector3();\nconst _twoPI = 2 * Math.PI;\n\nconst _STATE = {\n\tNONE: - 1,\n\tROTATE: 0,\n\tDOLLY: 1,\n\tPAN: 2,\n\tTOUCH_ROTATE: 3,\n\tTOUCH_PAN: 4,\n\tTOUCH_DOLLY_PAN: 5,\n\tTOUCH_DOLLY_ROTATE: 6\n};\nconst _EPS = 0.000001;\n\n\n/**\n * Orbit controls allow the camera to orbit around a target.\n *\n * OrbitControls performs orbiting, dollying (zooming), and panning. Unlike {@link TrackballControls},\n * it maintains the \"up\" direction `object.up` (+Y by default).\n *\n * - Orbit: Left mouse / touch: one-finger move.\n * - Zoom: Middle mouse, or mousewheel / touch: two-finger spread or squish.\n * - Pan: Right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move.\n *\n * ```js\n * const controls = new OrbitControls( camera, renderer.domElement );\n *\n * // controls.update() must be called after any manual changes to the camera's transform\n * camera.position.set( 0, 20, 100 );\n * controls.update();\n *\n * function animate() {\n *\n * \t// required if controls.enableDamping or controls.autoRotate are set to true\n * \tcontrols.update();\n *\n * \trenderer.render( scene, camera );\n *\n * }\n * ```\n *\n * @augments Controls\n * @three_import import { OrbitControls } from 'three/addons/controls/OrbitControls.js';\n */\nclass OrbitControls extends Controls {\n\n\t/**\n\t * Constructs a new controls instance.\n\t *\n\t * @param {Object3D} object - The object that is managed by the controls.\n\t * @param {?HTMLElement} domElement - The HTML element used for event listeners.\n\t */\n\tconstructor( object, domElement = null ) {\n\n\t\tsuper( object, domElement );\n\n\t\tthis.state = _STATE.NONE;\n\n\t\t/**\n\t\t * The focus point of the controls, the `object` orbits around this.\n\t\t * It can be updated manually at any point to change the focus of the controls.\n\t\t *\n\t\t * @type {Vector3}\n\t\t */\n\t\tthis.target = new Vector3();\n\n\t\t/**\n\t\t * The focus point of the `minTargetRadius` and `maxTargetRadius` limits.\n\t\t * It can be updated manually at any point to change the center of interest\n\t\t * for the `target`.\n\t\t *\n\t\t * @type {Vector3}\n\t\t */\n\t\tthis.cursor = new Vector3();\n\n\t\t/**\n\t\t * How far you can dolly in (perspective camera only).\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.minDistance = 0;\n\n\t\t/**\n\t\t * How far you can dolly out (perspective camera only).\n\t\t *\n\t\t * @type {number}\n\t\t * @default Infinity\n\t\t */\n\t\tthis.maxDistance = Infinity;\n\n\t\t/**\n\t\t * How far you can zoom in (orthographic camera only).\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.minZoom = 0;\n\n\t\t/**\n\t\t * How far you can zoom out (orthographic camera only).\n\t\t *\n\t\t * @type {number}\n\t\t * @default Infinity\n\t\t */\n\t\tthis.maxZoom = Infinity;\n\n\t\t/**\n\t\t * How close you can get the target to the 3D `cursor`.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.minTargetRadius = 0;\n\n\t\t/**\n\t\t * How far you can move the target from the 3D `cursor`.\n\t\t *\n\t\t * @type {number}\n\t\t * @default Infinity\n\t\t */\n\t\tthis.maxTargetRadius = Infinity;\n\n\t\t/**\n\t\t * How far you can orbit vertically, lower limit. Range is `[0, Math.PI]` radians.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0\n\t\t */\n\t\tthis.minPolarAngle = 0;\n\n\t\t/**\n\t\t * How far you can orbit vertically, upper limit. Range is `[0, Math.PI]` radians.\n\t\t *\n\t\t * @type {number}\n\t\t * @default Math.PI\n\t\t */\n\t\tthis.maxPolarAngle = Math.PI;\n\n\t\t/**\n\t\t * How far you can orbit horizontally, lower limit. If set, the interval `[ min, max ]`\n\t\t * must be a sub-interval of `[ - 2 PI, 2 PI ]`, with `( max - min < 2 PI )`.\n\t\t *\n\t\t * @type {number}\n\t\t * @default -Infinity\n\t\t */\n\t\tthis.minAzimuthAngle = - Infinity;\n\n\t\t/**\n\t\t * How far you can orbit horizontally, upper limit. If set, the interval `[ min, max ]`\n\t\t * must be a sub-interval of `[ - 2 PI, 2 PI ]`, with `( max - min < 2 PI )`.\n\t\t *\n\t\t * @type {number}\n\t\t * @default -Infinity\n\t\t */\n\t\tthis.maxAzimuthAngle = Infinity;\n\n\t\t/**\n\t\t * Set to `true` to enable damping (inertia), which can be used to give a sense of weight\n\t\t * to the controls. Note that if this is enabled, you must call `update()` in your animation\n\t\t * loop.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.enableDamping = false;\n\n\t\t/**\n\t\t * The damping inertia used if `enableDamping` is set to `true`.\n\t\t *\n\t\t * Note that for this to work, you must call `update()` in your animation loop.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 0.05\n\t\t */\n\t\tthis.dampingFactor = 0.05;\n\n\t\t/**\n\t\t * Enable or disable zooming (dollying) of the camera.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.enableZoom = true;\n\n\t\t/**\n\t\t * Speed of zooming / dollying.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.zoomSpeed = 1.0;\n\n\t\t/**\n\t\t * Enable or disable horizontal and vertical rotation of the camera.\n\t\t *\n\t\t * Note that it is possible to disable a single axis by setting the min and max of the\n\t\t * `minPolarAngle` or `minAzimuthAngle` to the same value, which will cause the vertical\n\t\t * or horizontal rotation to be fixed at that value.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.enableRotate = true;\n\n\t\t/**\n\t\t * Speed of rotation.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.rotateSpeed = 1.0;\n\n\t\t/**\n\t\t * How fast to rotate the camera when the keyboard is used.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.keyRotateSpeed = 1.0;\n\n\t\t/**\n\t\t * Enable or disable camera panning.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.enablePan = true;\n\n\t\t/**\n\t\t * Speed of panning.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 1\n\t\t */\n\t\tthis.panSpeed = 1.0;\n\n\t\t/**\n\t\t * Defines how the camera's position is translated when panning. If `true`, the camera pans\n\t\t * in screen space. Otherwise, the camera pans in the plane orthogonal to the camera's up\n\t\t * direction.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.screenSpacePanning = true;\n\n\t\t/**\n\t\t * How fast to pan the camera when the keyboard is used in\n\t\t * pixels per keypress.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 7\n\t\t */\n\t\tthis.keyPanSpeed = 7.0;\n\n\t\t/**\n\t\t * Setting this property to `true` allows to zoom to the cursor's position.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.zoomToCursor = false;\n\n\t\t/**\n\t\t * Set to true to automatically rotate around the target\n\t\t *\n\t\t * Note that if this is enabled, you must call `update()` in your animation loop.\n\t\t * If you want the auto-rotate speed to be independent of the frame rate (the refresh\n\t\t * rate of the display), you must pass the time `deltaTime`, in seconds, to `update()`.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.autoRotate = false;\n\n\t\t/**\n\t\t * How fast to rotate around the target if `autoRotate` is `true`. The default equates to 30 seconds\n\t\t * per orbit at 60fps.\n\t\t *\n\t\t * Note that if `autoRotate` is enabled, you must call `update()` in your animation loop.\n\t\t *\n\t\t * @type {number}\n\t\t * @default 2\n\t\t */\n\t\tthis.autoRotateSpeed = 2.0;\n\n\t\t/**\n\t\t * This object contains references to the keycodes for controlling camera panning.\n\t\t *\n\t\t * ```js\n\t\t * controls.keys = {\n\t\t * \tLEFT: 'ArrowLeft', //left arrow\n\t\t * \tUP: 'ArrowUp', // up arrow\n\t\t * \tRIGHT: 'ArrowRight', // right arrow\n\t\t * \tBOTTOM: 'ArrowDown' // down arrow\n\t\t * }\n\t\t * ```\n\t\t * @type {Object}\n\t\t */\n\t\tthis.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' };\n\n\t\t/**\n\t\t * This object contains references to the mouse actions used by the controls.\n\t\t *\n\t\t * ```js\n\t\t * controls.mouseButtons = {\n\t\t * \tLEFT: THREE.MOUSE.ROTATE,\n\t\t * \tMIDDLE: THREE.MOUSE.DOLLY,\n\t\t * \tRIGHT: THREE.MOUSE.PAN\n\t\t * }\n\t\t * ```\n\t\t * @type {Object}\n\t\t */\n\t\tthis.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN };\n\n\t\t/**\n\t\t * This object contains references to the touch actions used by the controls.\n\t\t *\n\t\t * ```js\n\t\t * controls.mouseButtons = {\n\t\t * \tONE: THREE.TOUCH.ROTATE,\n\t\t * \tTWO: THREE.TOUCH.DOLLY_PAN\n\t\t * }\n\t\t * ```\n\t\t * @type {Object}\n\t\t */\n\t\tthis.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN };\n\n\t\t/**\n\t\t * Used internally by `saveState()` and `reset()`.\n\t\t *\n\t\t * @type {Vector3}\n\t\t */\n\t\tthis.target0 = this.target.clone();\n\n\t\t/**\n\t\t * Used internally by `saveState()` and `reset()`.\n\t\t *\n\t\t * @type {Vector3}\n\t\t */\n\t\tthis.position0 = this.object.position.clone();\n\n\t\t/**\n\t\t * Used internally by `saveState()` and `reset()`.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.zoom0 = this.object.zoom;\n\n\t\t// the target DOM element for key events\n\t\tthis._domElementKeyEvents = null;\n\n\t\t// internals\n\n\t\tthis._lastPosition = new Vector3();\n\t\tthis._lastQuaternion = new Quaternion();\n\t\tthis._lastTargetPosition = new Vector3();\n\n\t\t// so camera.up is the orbit axis\n\t\tthis._quat = new Quaternion().setFromUnitVectors( object.up, new Vector3( 0, 1, 0 ) );\n\t\tthis._quatInverse = this._quat.clone().invert();\n\n\t\t// current position in spherical coordinates\n\t\tthis._spherical = new Spherical();\n\t\tthis._sphericalDelta = new Spherical();\n\n\t\tthis._scale = 1;\n\t\tthis._panOffset = new Vector3();\n\n\t\tthis._rotateStart = new Vector2();\n\t\tthis._rotateEnd = new Vector2();\n\t\tthis._rotateDelta = new Vector2();\n\n\t\tthis._panStart = new Vector2();\n\t\tthis._panEnd = new Vector2();\n\t\tthis._panDelta = new Vector2();\n\n\t\tthis._dollyStart = new Vector2();\n\t\tthis._dollyEnd = new Vector2();\n\t\tthis._dollyDelta = new Vector2();\n\n\t\tthis._dollyDirection = new Vector3();\n\t\tthis._mouse = new Vector2();\n\t\tthis._performCursorZoom = false;\n\n\t\tthis._pointers = [];\n\t\tthis._pointerPositions = {};\n\n\t\tthis._controlActive = false;\n\n\t\t// event listeners\n\n\t\tthis._onPointerMove = onPointerMove.bind( this );\n\t\tthis._onPointerDown = onPointerDown.bind( this );\n\t\tthis._onPointerUp = onPointerUp.bind( this );\n\t\tthis._onContextMenu = onContextMenu.bind( this );\n\t\tthis._onMouseWheel = onMouseWheel.bind( this );\n\t\tthis._onKeyDown = onKeyDown.bind( this );\n\n\t\tthis._onTouchStart = onTouchStart.bind( this );\n\t\tthis._onTouchMove = onTouchMove.bind( this );\n\n\t\tthis._onMouseDown = onMouseDown.bind( this );\n\t\tthis._onMouseMove = onMouseMove.bind( this );\n\n\t\tthis._interceptControlDown = interceptControlDown.bind( this );\n\t\tthis._interceptControlUp = interceptControlUp.bind( this );\n\n\t\t//\n\n\t\tif ( this.domElement !== null ) {\n\n\t\t\tthis.connect( this.domElement );\n\n\t\t}\n\n\t\tthis.update();\n\n\t}\n\n\tconnect( element ) {\n\n\t\tsuper.connect( element );\n\n\t\tthis.domElement.addEventListener( 'pointerdown', this._onPointerDown );\n\t\tthis.domElement.addEventListener( 'pointercancel', this._onPointerUp );\n\n\t\tthis.domElement.addEventListener( 'contextmenu', this._onContextMenu );\n\t\tthis.domElement.addEventListener( 'wheel', this._onMouseWheel, { passive: false } );\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\t\tdocument.addEventListener( 'keydown', this._interceptControlDown, { passive: true, capture: true } );\n\n\t\tthis.domElement.style.touchAction = 'none'; // disable touch scroll\n\n\t}\n\n\tdisconnect() {\n\n\t\tthis.domElement.removeEventListener( 'pointerdown', this._onPointerDown );\n\t\tthis.domElement.ownerDocument.removeEventListener( 'pointermove', this._onPointerMove );\n\t\tthis.domElement.ownerDocument.removeEventListener( 'pointerup', this._onPointerUp );\n\t\tthis.domElement.removeEventListener( 'pointercancel', this._onPointerUp );\n\n\t\tthis.domElement.removeEventListener( 'wheel', this._onMouseWheel );\n\t\tthis.domElement.removeEventListener( 'contextmenu', this._onContextMenu );\n\n\t\tthis.stopListenToKeyEvents();\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\t\tdocument.removeEventListener( 'keydown', this._interceptControlDown, { capture: true } );\n\n\t\tthis.domElement.style.touchAction = 'auto';\n\n\t}\n\n\tdispose() {\n\n\t\tthis.disconnect();\n\n\t}\n\n\t/**\n\t * Get the current vertical rotation, in radians.\n\t *\n\t * @return {number} The current vertical rotation, in radians.\n\t */\n\tgetPolarAngle() {\n\n\t\treturn this._spherical.phi;\n\n\t}\n\n\t/**\n\t * Get the current horizontal rotation, in radians.\n\t *\n\t * @return {number} The current horizontal rotation, in radians.\n\t */\n\tgetAzimuthalAngle() {\n\n\t\treturn this._spherical.theta;\n\n\t}\n\n\t/**\n\t * Returns the distance from the camera to the target.\n\t *\n\t * @return {number} The distance from the camera to the target.\n\t */\n\tgetDistance() {\n\n\t\treturn this.object.position.distanceTo( this.target );\n\n\t}\n\n\t/**\n\t * Adds key event listeners to the given DOM element.\n\t * `window` is a recommended argument for using this method.\n\t *\n\t * @param {HTMLElement} domElement - The DOM element\n\t */\n\tlistenToKeyEvents( domElement ) {\n\n\t\tdomElement.addEventListener( 'keydown', this._onKeyDown );\n\t\tthis._domElementKeyEvents = domElement;\n\n\t}\n\n\t/**\n\t * Removes the key event listener previously defined with `listenToKeyEvents()`.\n\t */\n\tstopListenToKeyEvents() {\n\n\t\tif ( this._domElementKeyEvents !== null ) {\n\n\t\t\tthis._domElementKeyEvents.removeEventListener( 'keydown', this._onKeyDown );\n\t\t\tthis._domElementKeyEvents = null;\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Save the current state of the controls. This can later be recovered with `reset()`.\n\t */\n\tsaveState() {\n\n\t\tthis.target0.copy( this.target );\n\t\tthis.position0.copy( this.object.position );\n\t\tthis.zoom0 = this.object.zoom;\n\n\t}\n\n\t/**\n\t * Reset the controls to their state from either the last time the `saveState()`\n\t * was called, or the initial state.\n\t */\n\treset() {\n\n\t\tthis.target.copy( this.target0 );\n\t\tthis.object.position.copy( this.position0 );\n\t\tthis.object.zoom = this.zoom0;\n\n\t\tthis.object.updateProjectionMatrix();\n\t\tthis.dispatchEvent( _changeEvent );\n\n\t\tthis.update();\n\n\t\tthis.state = _STATE.NONE;\n\n\t}\n\n\tupdate( deltaTime = null ) {\n\n\t\tconst position = this.object.position;\n\n\t\t_v.copy( position ).sub( this.target );\n\n\t\t// rotate offset to \"y-axis-is-up\" space\n\t\t_v.applyQuaternion( this._quat );\n\n\t\t// angle from z-axis around y-axis\n\t\tthis._spherical.setFromVector3( _v );\n\n\t\tif ( this.autoRotate && this.state === _STATE.NONE ) {\n\n\t\t\tthis._rotateLeft( this._getAutoRotationAngle( deltaTime ) );\n\n\t\t}\n\n\t\tif ( this.enableDamping ) {\n\n\t\t\tthis._spherical.theta += this._sphericalDelta.theta * this.dampingFactor;\n\t\t\tthis._spherical.phi += this._sphericalDelta.phi * this.dampingFactor;\n\n\t\t} else {\n\n\t\t\tthis._spherical.theta += this._sphericalDelta.theta;\n\t\t\tthis._spherical.phi += this._sphericalDelta.phi;\n\n\t\t}\n\n\t\t// restrict theta to be between desired limits\n\n\t\tlet min = this.minAzimuthAngle;\n\t\tlet max = this.maxAzimuthAngle;\n\n\t\tif ( isFinite( min ) && isFinite( max ) ) {\n\n\t\t\tif ( min < - Math.PI ) min += _twoPI; else if ( min > Math.PI ) min -= _twoPI;\n\n\t\t\tif ( max < - Math.PI ) max += _twoPI; else if ( max > Math.PI ) max -= _twoPI;\n\n\t\t\tif ( min <= max ) {\n\n\t\t\t\tthis._spherical.theta = Math.max( min, Math.min( max, this._spherical.theta ) );\n\n\t\t\t} else {\n\n\t\t\t\tthis._spherical.theta = ( this._spherical.theta > ( min + max ) / 2 ) ?\n\t\t\t\t\tMath.max( min, this._spherical.theta ) :\n\t\t\t\t\tMath.min( max, this._spherical.theta );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// restrict phi to be between desired limits\n\t\tthis._spherical.phi = Math.max( this.minPolarAngle, Math.min( this.maxPolarAngle, this._spherical.phi ) );\n\n\t\tthis._spherical.makeSafe();\n\n\n\t\t// move target to panned location\n\n\t\tif ( this.enableDamping === true ) {\n\n\t\t\tthis.target.addScaledVector( this._panOffset, this.dampingFactor );\n\n\t\t} else {\n\n\t\t\tthis.target.add( this._panOffset );\n\n\t\t}\n\n\t\t// Limit the target distance from the cursor to create a sphere around the center of interest\n\t\tthis.target.sub( this.cursor );\n\t\tthis.target.clampLength( this.minTargetRadius, this.maxTargetRadius );\n\t\tthis.target.add( this.cursor );\n\n\t\tlet zoomChanged = false;\n\t\t// adjust the camera position based on zoom only if we're not zooming to the cursor or if it's an ortho camera\n\t\t// we adjust zoom later in these cases\n\t\tif ( this.zoomToCursor && this._performCursorZoom || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._spherical.radius = this._clampDistance( this._spherical.radius );\n\n\t\t} else {\n\n\t\t\tconst prevRadius = this._spherical.radius;\n\t\t\tthis._spherical.radius = this._clampDistance( this._spherical.radius * this._scale );\n\t\t\tzoomChanged = prevRadius != this._spherical.radius;\n\n\t\t}\n\n\t\t_v.setFromSpherical( this._spherical );\n\n\t\t// rotate offset back to \"camera-up-vector-is-up\" space\n\t\t_v.applyQuaternion( this._quatInverse );\n\n\t\tposition.copy( this.target ).add( _v );\n\n\t\tthis.object.lookAt( this.target );\n\n\t\tif ( this.enableDamping === true ) {\n\n\t\t\tthis._sphericalDelta.theta *= ( 1 - this.dampingFactor );\n\t\t\tthis._sphericalDelta.phi *= ( 1 - this.dampingFactor );\n\n\t\t\tthis._panOffset.multiplyScalar( 1 - this.dampingFactor );\n\n\t\t} else {\n\n\t\t\tthis._sphericalDelta.set( 0, 0, 0 );\n\n\t\t\tthis._panOffset.set( 0, 0, 0 );\n\n\t\t}\n\n\t\t// adjust camera position\n\t\tif ( this.zoomToCursor && this._performCursorZoom ) {\n\n\t\t\tlet newRadius = null;\n\t\t\tif ( this.object.isPerspectiveCamera ) {\n\n\t\t\t\t// move the camera down the pointer ray\n\t\t\t\t// this method avoids floating point error\n\t\t\t\tconst prevRadius = _v.length();\n\t\t\t\tnewRadius = this._clampDistance( prevRadius * this._scale );\n\n\t\t\t\tconst radiusDelta = prevRadius - newRadius;\n\t\t\t\tthis.object.position.addScaledVector( this._dollyDirection, radiusDelta );\n\t\t\t\tthis.object.updateMatrixWorld();\n\n\t\t\t\tzoomChanged = !! radiusDelta;\n\n\t\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\t\t// adjust the ortho camera position based on zoom changes\n\t\t\t\tconst mouseBefore = new Vector3( this._mouse.x, this._mouse.y, 0 );\n\t\t\t\tmouseBefore.unproject( this.object );\n\n\t\t\t\tconst prevZoom = this.object.zoom;\n\t\t\t\tthis.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom / this._scale ) );\n\t\t\t\tthis.object.updateProjectionMatrix();\n\n\t\t\t\tzoomChanged = prevZoom !== this.object.zoom;\n\n\t\t\t\tconst mouseAfter = new Vector3( this._mouse.x, this._mouse.y, 0 );\n\t\t\t\tmouseAfter.unproject( this.object );\n\n\t\t\t\tthis.object.position.sub( mouseAfter ).add( mouseBefore );\n\t\t\t\tthis.object.updateMatrixWorld();\n\n\t\t\t\tnewRadius = _v.length();\n\n\t\t\t} else {\n\n\t\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.' );\n\t\t\t\tthis.zoomToCursor = false;\n\n\t\t\t}\n\n\t\t\t// handle the placement of the target\n\t\t\tif ( newRadius !== null ) {\n\n\t\t\t\tif ( this.screenSpacePanning ) {\n\n\t\t\t\t\t// position the orbit target in front of the new camera position\n\t\t\t\t\tthis.target.set( 0, 0, - 1 )\n\t\t\t\t\t\t.transformDirection( this.object.matrix )\n\t\t\t\t\t\t.multiplyScalar( newRadius )\n\t\t\t\t\t\t.add( this.object.position );\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// get the ray and translation plane to compute target\n\t\t\t\t\t_ray.origin.copy( this.object.position );\n\t\t\t\t\t_ray.direction.set( 0, 0, - 1 ).transformDirection( this.object.matrix );\n\n\t\t\t\t\t// if the camera is 20 degrees above the horizon then don't adjust the focus target to avoid\n\t\t\t\t\t// extremely large values\n\t\t\t\t\tif ( Math.abs( this.object.up.dot( _ray.direction ) ) < _TILT_LIMIT ) {\n\n\t\t\t\t\t\tthis.object.lookAt( this.target );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t_plane.setFromNormalAndCoplanarPoint( this.object.up, this.target );\n\t\t\t\t\t\t_ray.intersectPlane( _plane, this.target );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\tconst prevZoom = this.object.zoom;\n\t\t\tthis.object.zoom = Math.max( this.minZoom, Math.min( this.maxZoom, this.object.zoom / this._scale ) );\n\n\t\t\tif ( prevZoom !== this.object.zoom ) {\n\n\t\t\t\tthis.object.updateProjectionMatrix();\n\t\t\t\tzoomChanged = true;\n\n\t\t\t}\n\n\t\t}\n\n\t\tthis._scale = 1;\n\t\tthis._performCursorZoom = false;\n\n\t\t// update condition is:\n\t\t// min(camera displacement, camera rotation in radians)^2 > EPS\n\t\t// using small-angle approximation cos(x/2) = 1 - x^2 / 8\n\n\t\tif ( zoomChanged ||\n\t\t\tthis._lastPosition.distanceToSquared( this.object.position ) > _EPS ||\n\t\t\t8 * ( 1 - this._lastQuaternion.dot( this.object.quaternion ) ) > _EPS ||\n\t\t\tthis._lastTargetPosition.distanceToSquared( this.target ) > _EPS ) {\n\n\t\t\tthis.dispatchEvent( _changeEvent );\n\n\t\t\tthis._lastPosition.copy( this.object.position );\n\t\t\tthis._lastQuaternion.copy( this.object.quaternion );\n\t\t\tthis._lastTargetPosition.copy( this.target );\n\n\t\t\treturn true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t_getAutoRotationAngle( deltaTime ) {\n\n\t\tif ( deltaTime !== null ) {\n\n\t\t\treturn ( _twoPI / 60 * this.autoRotateSpeed ) * deltaTime;\n\n\t\t} else {\n\n\t\t\treturn _twoPI / 60 / 60 * this.autoRotateSpeed;\n\n\t\t}\n\n\t}\n\n\t_getZoomScale( delta ) {\n\n\t\tconst normalizedDelta = Math.abs( delta * 0.01 );\n\t\treturn Math.pow( 0.95, this.zoomSpeed * normalizedDelta );\n\n\t}\n\n\t_rotateLeft( angle ) {\n\n\t\tthis._sphericalDelta.theta -= angle;\n\n\t}\n\n\t_rotateUp( angle ) {\n\n\t\tthis._sphericalDelta.phi -= angle;\n\n\t}\n\n\t_panLeft( distance, objectMatrix ) {\n\n\t\t_v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix\n\t\t_v.multiplyScalar( - distance );\n\n\t\tthis._panOffset.add( _v );\n\n\t}\n\n\t_panUp( distance, objectMatrix ) {\n\n\t\tif ( this.screenSpacePanning === true ) {\n\n\t\t\t_v.setFromMatrixColumn( objectMatrix, 1 );\n\n\t\t} else {\n\n\t\t\t_v.setFromMatrixColumn( objectMatrix, 0 );\n\t\t\t_v.crossVectors( this.object.up, _v );\n\n\t\t}\n\n\t\t_v.multiplyScalar( distance );\n\n\t\tthis._panOffset.add( _v );\n\n\t}\n\n\t// deltaX and deltaY are in pixels; right and down are positive\n\t_pan( deltaX, deltaY ) {\n\n\t\tconst element = this.domElement;\n\n\t\tif ( this.object.isPerspectiveCamera ) {\n\n\t\t\t// perspective\n\t\t\tconst position = this.object.position;\n\t\t\t_v.copy( position ).sub( this.target );\n\t\t\tlet targetDistance = _v.length();\n\n\t\t\t// half of the fov is center to top of screen\n\t\t\ttargetDistance *= Math.tan( ( this.object.fov / 2 ) * Math.PI / 180.0 );\n\n\t\t\t// we use only clientHeight here so aspect ratio does not distort speed\n\t\t\tthis._panLeft( 2 * deltaX * targetDistance / element.clientHeight, this.object.matrix );\n\t\t\tthis._panUp( 2 * deltaY * targetDistance / element.clientHeight, this.object.matrix );\n\n\t\t} else if ( this.object.isOrthographicCamera ) {\n\n\t\t\t// orthographic\n\t\t\tthis._panLeft( deltaX * ( this.object.right - this.object.left ) / this.object.zoom / element.clientWidth, this.object.matrix );\n\t\t\tthis._panUp( deltaY * ( this.object.top - this.object.bottom ) / this.object.zoom / element.clientHeight, this.object.matrix );\n\n\t\t} else {\n\n\t\t\t// camera neither orthographic nor perspective\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );\n\t\t\tthis.enablePan = false;\n\n\t\t}\n\n\t}\n\n\t_dollyOut( dollyScale ) {\n\n\t\tif ( this.object.isPerspectiveCamera || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._scale /= dollyScale;\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );\n\t\t\tthis.enableZoom = false;\n\n\t\t}\n\n\t}\n\n\t_dollyIn( dollyScale ) {\n\n\t\tif ( this.object.isPerspectiveCamera || this.object.isOrthographicCamera ) {\n\n\t\t\tthis._scale *= dollyScale;\n\n\t\t} else {\n\n\t\t\tconsole.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );\n\t\t\tthis.enableZoom = false;\n\n\t\t}\n\n\t}\n\n\t_updateZoomParameters( x, y ) {\n\n\t\tif ( ! this.zoomToCursor ) {\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tthis._performCursorZoom = true;\n\n\t\tconst rect = this.domElement.getBoundingClientRect();\n\t\tconst dx = x - rect.left;\n\t\tconst dy = y - rect.top;\n\t\tconst w = rect.width;\n\t\tconst h = rect.height;\n\n\t\tthis._mouse.x = ( dx / w ) * 2 - 1;\n\t\tthis._mouse.y = - ( dy / h ) * 2 + 1;\n\n\t\tthis._dollyDirection.set( this._mouse.x, this._mouse.y, 1 ).unproject( this.object ).sub( this.object.position ).normalize();\n\n\t}\n\n\t_clampDistance( dist ) {\n\n\t\treturn Math.max( this.minDistance, Math.min( this.maxDistance, dist ) );\n\n\t}\n\n\t//\n\t// event callbacks - update the object state\n\t//\n\n\t_handleMouseDownRotate( event ) {\n\n\t\tthis._rotateStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseDownDolly( event ) {\n\n\t\tthis._updateZoomParameters( event.clientX, event.clientX );\n\t\tthis._dollyStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseDownPan( event ) {\n\n\t\tthis._panStart.set( event.clientX, event.clientY );\n\n\t}\n\n\t_handleMouseMoveRotate( event ) {\n\n\t\tthis._rotateEnd.set( event.clientX, event.clientY );\n\n\t\tthis._rotateDelta.subVectors( this._rotateEnd, this._rotateStart ).multiplyScalar( this.rotateSpeed );\n\n\t\tconst element = this.domElement;\n\n\t\tthis._rotateLeft( _twoPI * this._rotateDelta.x / element.clientHeight ); // yes, height\n\n\t\tthis._rotateUp( _twoPI * this._rotateDelta.y / element.clientHeight );\n\n\t\tthis._rotateStart.copy( this._rotateEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseMoveDolly( event ) {\n\n\t\tthis._dollyEnd.set( event.clientX, event.clientY );\n\n\t\tthis._dollyDelta.subVectors( this._dollyEnd, this._dollyStart );\n\n\t\tif ( this._dollyDelta.y > 0 ) {\n\n\t\t\tthis._dollyOut( this._getZoomScale( this._dollyDelta.y ) );\n\n\t\t} else if ( this._dollyDelta.y < 0 ) {\n\n\t\t\tthis._dollyIn( this._getZoomScale( this._dollyDelta.y ) );\n\n\t\t}\n\n\t\tthis._dollyStart.copy( this._dollyEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseMovePan( event ) {\n\n\t\tthis._panEnd.set( event.clientX, event.clientY );\n\n\t\tthis._panDelta.subVectors( this._panEnd, this._panStart ).multiplyScalar( this.panSpeed );\n\n\t\tthis._pan( this._panDelta.x, this._panDelta.y );\n\n\t\tthis._panStart.copy( this._panEnd );\n\n\t\tthis.update();\n\n\t}\n\n\t_handleMouseWheel( event ) {\n\n\t\tthis._updateZoomParameters( event.clientX, event.clientY );\n\n\t\tif ( event.deltaY < 0 ) {\n\n\t\t\tthis._dollyIn( this._getZoomScale( event.deltaY ) );\n\n\t\t} else if ( event.deltaY > 0 ) {\n\n\t\t\tthis._dollyOut( this._getZoomScale( event.deltaY ) );\n\n\t\t}\n\n\t\tthis.update();\n\n\t}\n\n\t_handleKeyDown( event ) {\n\n\t\tlet needsUpdate = false;\n\n\t\tswitch ( event.code ) {\n\n\t\t\tcase this.keys.UP:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateUp( _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( 0, this.keyPanSpeed );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.BOTTOM:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateUp( - _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( 0, - this.keyPanSpeed );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.LEFT:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateLeft( _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( this.keyPanSpeed, 0 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t\tcase this.keys.RIGHT:\n\n\t\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\t\tif ( this.enableRotate ) {\n\n\t\t\t\t\t\tthis._rotateLeft( - _twoPI * this.keyRotateSpeed / this.domElement.clientHeight );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tif ( this.enablePan ) {\n\n\t\t\t\t\t\tthis._pan( - this.keyPanSpeed, 0 );\n\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\tneedsUpdate = true;\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\tif ( needsUpdate ) {\n\n\t\t\t// prevent the browser from scrolling on cursor keys\n\t\t\tevent.preventDefault();\n\n\t\t\tthis.update();\n\n\t\t}\n\n\n\t}\n\n\t_handleTouchStartRotate( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._rotateStart.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._rotateStart.set( x, y );\n\n\t\t}\n\n\t}\n\n\t_handleTouchStartPan( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._panStart.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._panStart.set( x, y );\n\n\t\t}\n\n\t}\n\n\t_handleTouchStartDolly( event ) {\n\n\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\tconst dx = event.pageX - position.x;\n\t\tconst dy = event.pageY - position.y;\n\n\t\tconst distance = Math.sqrt( dx * dx + dy * dy );\n\n\t\tthis._dollyStart.set( 0, distance );\n\n\t}\n\n\t_handleTouchStartDollyPan( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchStartDolly( event );\n\n\t\tif ( this.enablePan ) this._handleTouchStartPan( event );\n\n\t}\n\n\t_handleTouchStartDollyRotate( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchStartDolly( event );\n\n\t\tif ( this.enableRotate ) this._handleTouchStartRotate( event );\n\n\t}\n\n\t_handleTouchMoveRotate( event ) {\n\n\t\tif ( this._pointers.length == 1 ) {\n\n\t\t\tthis._rotateEnd.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._rotateEnd.set( x, y );\n\n\t\t}\n\n\t\tthis._rotateDelta.subVectors( this._rotateEnd, this._rotateStart ).multiplyScalar( this.rotateSpeed );\n\n\t\tconst element = this.domElement;\n\n\t\tthis._rotateLeft( _twoPI * this._rotateDelta.x / element.clientHeight ); // yes, height\n\n\t\tthis._rotateUp( _twoPI * this._rotateDelta.y / element.clientHeight );\n\n\t\tthis._rotateStart.copy( this._rotateEnd );\n\n\t}\n\n\t_handleTouchMovePan( event ) {\n\n\t\tif ( this._pointers.length === 1 ) {\n\n\t\t\tthis._panEnd.set( event.pageX, event.pageY );\n\n\t\t} else {\n\n\t\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\t\tconst x = 0.5 * ( event.pageX + position.x );\n\t\t\tconst y = 0.5 * ( event.pageY + position.y );\n\n\t\t\tthis._panEnd.set( x, y );\n\n\t\t}\n\n\t\tthis._panDelta.subVectors( this._panEnd, this._panStart ).multiplyScalar( this.panSpeed );\n\n\t\tthis._pan( this._panDelta.x, this._panDelta.y );\n\n\t\tthis._panStart.copy( this._panEnd );\n\n\t}\n\n\t_handleTouchMoveDolly( event ) {\n\n\t\tconst position = this._getSecondPointerPosition( event );\n\n\t\tconst dx = event.pageX - position.x;\n\t\tconst dy = event.pageY - position.y;\n\n\t\tconst distance = Math.sqrt( dx * dx + dy * dy );\n\n\t\tthis._dollyEnd.set( 0, distance );\n\n\t\tthis._dollyDelta.set( 0, Math.pow( this._dollyEnd.y / this._dollyStart.y, this.zoomSpeed ) );\n\n\t\tthis._dollyOut( this._dollyDelta.y );\n\n\t\tthis._dollyStart.copy( this._dollyEnd );\n\n\t\tconst centerX = ( event.pageX + position.x ) * 0.5;\n\t\tconst centerY = ( event.pageY + position.y ) * 0.5;\n\n\t\tthis._updateZoomParameters( centerX, centerY );\n\n\t}\n\n\t_handleTouchMoveDollyPan( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchMoveDolly( event );\n\n\t\tif ( this.enablePan ) this._handleTouchMovePan( event );\n\n\t}\n\n\t_handleTouchMoveDollyRotate( event ) {\n\n\t\tif ( this.enableZoom ) this._handleTouchMoveDolly( event );\n\n\t\tif ( this.enableRotate ) this._handleTouchMoveRotate( event );\n\n\t}\n\n\t// pointers\n\n\t_addPointer( event ) {\n\n\t\tthis._pointers.push( event.pointerId );\n\n\t}\n\n\t_removePointer( event ) {\n\n\t\tdelete this._pointerPositions[ event.pointerId ];\n\n\t\tfor ( let i = 0; i < this._pointers.length; i ++ ) {\n\n\t\t\tif ( this._pointers[ i ] == event.pointerId ) {\n\n\t\t\t\tthis._pointers.splice( i, 1 );\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\t_isTrackingPointer( event ) {\n\n\t\tfor ( let i = 0; i < this._pointers.length; i ++ ) {\n\n\t\t\tif ( this._pointers[ i ] == event.pointerId ) return true;\n\n\t\t}\n\n\t\treturn false;\n\n\t}\n\n\t_trackPointer( event ) {\n\n\t\tlet position = this._pointerPositions[ event.pointerId ];\n\n\t\tif ( position === undefined ) {\n\n\t\t\tposition = new Vector2();\n\t\t\tthis._pointerPositions[ event.pointerId ] = position;\n\n\t\t}\n\n\t\tposition.set( event.pageX, event.pageY );\n\n\t}\n\n\t_getSecondPointerPosition( event ) {\n\n\t\tconst pointerId = ( event.pointerId === this._pointers[ 0 ] ) ? this._pointers[ 1 ] : this._pointers[ 0 ];\n\n\t\treturn this._pointerPositions[ pointerId ];\n\n\t}\n\n\t//\n\n\t_customWheelEvent( event ) {\n\n\t\tconst mode = event.deltaMode;\n\n\t\t// minimal wheel event altered to meet delta-zoom demand\n\t\tconst newEvent = {\n\t\t\tclientX: event.clientX,\n\t\t\tclientY: event.clientY,\n\t\t\tdeltaY: event.deltaY,\n\t\t};\n\n\t\tswitch ( mode ) {\n\n\t\t\tcase 1: // LINE_MODE\n\t\t\t\tnewEvent.deltaY *= 16;\n\t\t\t\tbreak;\n\n\t\t\tcase 2: // PAGE_MODE\n\t\t\t\tnewEvent.deltaY *= 100;\n\t\t\t\tbreak;\n\n\t\t}\n\n\t\t// detect if event was triggered by pinching\n\t\tif ( event.ctrlKey && ! this._controlActive ) {\n\n\t\t\tnewEvent.deltaY *= 10;\n\n\t\t}\n\n\t\treturn newEvent;\n\n\t}\n\n}\n\nfunction onPointerDown( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tif ( this._pointers.length === 0 ) {\n\n\t\tthis.domElement.setPointerCapture( event.pointerId );\n\n\t\tthis.domElement.ownerDocument.addEventListener( 'pointermove', this._onPointerMove );\n\t\tthis.domElement.ownerDocument.addEventListener( 'pointerup', this._onPointerUp );\n\n\t}\n\n\t//\n\n\tif ( this._isTrackingPointer( event ) ) return;\n\n\t//\n\n\tthis._addPointer( event );\n\n\tif ( event.pointerType === 'touch' ) {\n\n\t\tthis._onTouchStart( event );\n\n\t} else {\n\n\t\tthis._onMouseDown( event );\n\n\t}\n\n}\n\nfunction onPointerMove( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tif ( event.pointerType === 'touch' ) {\n\n\t\tthis._onTouchMove( event );\n\n\t} else {\n\n\t\tthis._onMouseMove( event );\n\n\t}\n\n}\n\nfunction onPointerUp( event ) {\n\n\tthis._removePointer( event );\n\n\tswitch ( this._pointers.length ) {\n\n\t\tcase 0:\n\n\t\t\tthis.domElement.releasePointerCapture( event.pointerId );\n\n\t\t\tthis.domElement.ownerDocument.removeEventListener( 'pointermove', this._onPointerMove );\n\t\t\tthis.domElement.ownerDocument.removeEventListener( 'pointerup', this._onPointerUp );\n\n\t\t\tthis.dispatchEvent( _endEvent );\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tconst pointerId = this._pointers[ 0 ];\n\t\t\tconst position = this._pointerPositions[ pointerId ];\n\n\t\t\t// minimal placeholder event - allows state correction on pointer-up\n\t\t\tthis._onTouchStart( { pointerId: pointerId, pageX: position.x, pageY: position.y } );\n\n\t\t\tbreak;\n\n\t}\n\n}\n\nfunction onMouseDown( event ) {\n\n\tlet mouseAction;\n\n\tswitch ( event.button ) {\n\n\t\tcase 0:\n\n\t\t\tmouseAction = this.mouseButtons.LEFT;\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tmouseAction = this.mouseButtons.MIDDLE;\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tmouseAction = this.mouseButtons.RIGHT;\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tmouseAction = - 1;\n\n\t}\n\n\tswitch ( mouseAction ) {\n\n\t\tcase MOUSE.DOLLY:\n\n\t\t\tif ( this.enableZoom === false ) return;\n\n\t\t\tthis._handleMouseDownDolly( event );\n\n\t\t\tthis.state = _STATE.DOLLY;\n\n\t\t\tbreak;\n\n\t\tcase MOUSE.ROTATE:\n\n\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\tthis._handleMouseDownPan( event );\n\n\t\t\t\tthis.state = _STATE.PAN;\n\n\t\t\t} else {\n\n\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\tthis._handleMouseDownRotate( event );\n\n\t\t\t\tthis.state = _STATE.ROTATE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase MOUSE.PAN:\n\n\t\t\tif ( event.ctrlKey || event.metaKey || event.shiftKey ) {\n\n\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\tthis._handleMouseDownRotate( event );\n\n\t\t\t\tthis.state = _STATE.ROTATE;\n\n\t\t\t} else {\n\n\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\tthis._handleMouseDownPan( event );\n\n\t\t\t\tthis.state = _STATE.PAN;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n\tif ( this.state !== _STATE.NONE ) {\n\n\t\tthis.dispatchEvent( _startEvent );\n\n\t}\n\n}\n\nfunction onMouseMove( event ) {\n\n\tswitch ( this.state ) {\n\n\t\tcase _STATE.ROTATE:\n\n\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\tthis._handleMouseMoveRotate( event );\n\n\t\t\tbreak;\n\n\t\tcase _STATE.DOLLY:\n\n\t\t\tif ( this.enableZoom === false ) return;\n\n\t\t\tthis._handleMouseMoveDolly( event );\n\n\t\t\tbreak;\n\n\t\tcase _STATE.PAN:\n\n\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\tthis._handleMouseMovePan( event );\n\n\t\t\tbreak;\n\n\t}\n\n}\n\nfunction onMouseWheel( event ) {\n\n\tif ( this.enabled === false || this.enableZoom === false || this.state !== _STATE.NONE ) return;\n\n\tevent.preventDefault();\n\n\tthis.dispatchEvent( _startEvent );\n\n\tthis._handleMouseWheel( this._customWheelEvent( event ) );\n\n\tthis.dispatchEvent( _endEvent );\n\n}\n\nfunction onKeyDown( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tthis._handleKeyDown( event );\n\n}\n\nfunction onTouchStart( event ) {\n\n\tthis._trackPointer( event );\n\n\tswitch ( this._pointers.length ) {\n\n\t\tcase 1:\n\n\t\t\tswitch ( this.touches.ONE ) {\n\n\t\t\t\tcase TOUCH.ROTATE:\n\n\t\t\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartRotate( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_ROTATE;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase TOUCH.PAN:\n\n\t\t\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartPan( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_PAN;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\n\t\t\t\t\tthis.state = _STATE.NONE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tswitch ( this.touches.TWO ) {\n\n\t\t\t\tcase TOUCH.DOLLY_PAN:\n\n\t\t\t\t\tif ( this.enableZoom === false && this.enablePan === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartDollyPan( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_DOLLY_PAN;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase TOUCH.DOLLY_ROTATE:\n\n\t\t\t\t\tif ( this.enableZoom === false && this.enableRotate === false ) return;\n\n\t\t\t\t\tthis._handleTouchStartDollyRotate( event );\n\n\t\t\t\t\tthis.state = _STATE.TOUCH_DOLLY_ROTATE;\n\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\n\t\t\t\t\tthis.state = _STATE.NONE;\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n\tif ( this.state !== _STATE.NONE ) {\n\n\t\tthis.dispatchEvent( _startEvent );\n\n\t}\n\n}\n\nfunction onTouchMove( event ) {\n\n\tthis._trackPointer( event );\n\n\tswitch ( this.state ) {\n\n\t\tcase _STATE.TOUCH_ROTATE:\n\n\t\t\tif ( this.enableRotate === false ) return;\n\n\t\t\tthis._handleTouchMoveRotate( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_PAN:\n\n\t\t\tif ( this.enablePan === false ) return;\n\n\t\t\tthis._handleTouchMovePan( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_DOLLY_PAN:\n\n\t\t\tif ( this.enableZoom === false && this.enablePan === false ) return;\n\n\t\t\tthis._handleTouchMoveDollyPan( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tcase _STATE.TOUCH_DOLLY_ROTATE:\n\n\t\t\tif ( this.enableZoom === false && this.enableRotate === false ) return;\n\n\t\t\tthis._handleTouchMoveDollyRotate( event );\n\n\t\t\tthis.update();\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tthis.state = _STATE.NONE;\n\n\t}\n\n}\n\nfunction onContextMenu( event ) {\n\n\tif ( this.enabled === false ) return;\n\n\tevent.preventDefault();\n\n}\n\nfunction interceptControlDown( event ) {\n\n\tif ( event.key === 'Control' ) {\n\n\t\tthis._controlActive = true;\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\n\t\tdocument.addEventListener( 'keyup', this._interceptControlUp, { passive: true, capture: true } );\n\n\t}\n\n}\n\nfunction interceptControlUp( event ) {\n\n\tif ( event.key === 'Control' ) {\n\n\t\tthis._controlActive = false;\n\n\t\tconst document = this.domElement.getRootNode(); // offscreen canvas compatibility\n\n\t\tdocument.removeEventListener( 'keyup', this._interceptControlUp, { passive: true, capture: true } );\n\n\t}\n\n}\n\nexport { OrbitControls };\n"],"names":["_changeEvent","type","_startEvent","_endEvent","_ray","Ray","_plane","Plane","_TILT_LIMIT","Math","cos","MathUtils","DEG2RAD","_v","Vector3","_twoPI","PI","OrbitControls","Controls","constructor","object","domElement","super","this","state","target","cursor","minDistance","maxDistance","Infinity","minZoom","maxZoom","minTargetRadius","maxTargetRadius","minPolarAngle","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","enableDamping","dampingFactor","enableZoom","zoomSpeed","enableRotate","rotateSpeed","keyRotateSpeed","enablePan","panSpeed","screenSpacePanning","keyPanSpeed","zoomToCursor","autoRotate","autoRotateSpeed","keys","LEFT","UP","RIGHT","BOTTOM","mouseButtons","MOUSE","ROTATE","MIDDLE","DOLLY","PAN","touches","ONE","TOUCH","TWO","DOLLY_PAN","target0","clone","position0","position","zoom0","zoom","_domElementKeyEvents","_lastPosition","_lastQuaternion","Quaternion","_lastTargetPosition","_quat","setFromUnitVectors","up","_quatInverse","invert","_spherical","Spherical","_sphericalDelta","_scale","_panOffset","_rotateStart","Vector2","_rotateEnd","_rotateDelta","_panStart","_panEnd","_panDelta","_dollyStart","_dollyEnd","_dollyDelta","_dollyDirection","_mouse","_performCursorZoom","_pointers","_pointerPositions","_controlActive","_onPointerMove","onPointerMove","bind","_onPointerDown","onPointerDown","_onPointerUp","onPointerUp","_onContextMenu","onContextMenu","_onMouseWheel","onMouseWheel","_onKeyDown","onKeyDown","_onTouchStart","onTouchStart","_onTouchMove","onTouchMove","_onMouseDown","onMouseDown","_onMouseMove","onMouseMove","_interceptControlDown","interceptControlDown","_interceptControlUp","interceptControlUp","connect","update","element","addEventListener","passive","getRootNode","capture","style","touchAction","disconnect","removeEventListener","ownerDocument","stopListenToKeyEvents","dispose","getPolarAngle","phi","getAzimuthalAngle","theta","getDistance","distanceTo","listenToKeyEvents","saveState","copy","reset","updateProjectionMatrix","dispatchEvent","deltaTime","sub","applyQuaternion","setFromVector3","_rotateLeft","_getAutoRotationAngle","min","max","isFinite","makeSafe","addScaledVector","add","clampLength","zoomChanged","isOrthographicCamera","radius","_clampDistance","prevRadius","setFromSpherical","lookAt","multiplyScalar","set","newRadius","isPerspectiveCamera","length","radiusDelta","updateMatrixWorld","mouseBefore","x","y","unproject","prevZoom","mouseAfter","console","warn","transformDirection","matrix","origin","direction","abs","dot","setFromNormalAndCoplanarPoint","intersectPlane","distanceToSquared","quaternion","_getZoomScale","delta","normalizedDelta","pow","angle","_rotateUp","_panLeft","distance","objectMatrix","setFromMatrixColumn","_panUp","crossVectors","_pan","deltaX","deltaY","targetDistance","tan","fov","clientHeight","right","left","clientWidth","top","bottom","_dollyOut","dollyScale","_dollyIn","_updateZoomParameters","rect","getBoundingClientRect","dy","h","height","width","normalize","dist","_handleMouseDownRotate","event","clientX","clientY","_handleMouseDownDolly","_handleMouseDownPan","_handleMouseMoveRotate","subVectors","_handleMouseMoveDolly","_handleMouseMovePan","_handleMouseWheel","_handleKeyDown","needsUpdate","code","ctrlKey","metaKey","shiftKey","preventDefault","_handleTouchStartRotate","pageX","pageY","_getSecondPointerPosition","_handleTouchStartPan","_handleTouchStartDolly","dx","sqrt","_handleTouchStartDollyPan","_handleTouchStartDollyRotate","_handleTouchMoveRotate","_handleTouchMovePan","_handleTouchMoveDolly","_handleTouchMoveDollyPan","_handleTouchMoveDollyRotate","_addPointer","push","pointerId","_removePointer","i","splice","_isTrackingPointer","_trackPointer","undefined","_customWheelEvent","newEvent","deltaMode","enabled","setPointerCapture","pointerType","releasePointerCapture","mouseAction","button","DOLLY_ROTATE","key"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{LineSegments2}from"./LineSegments2.js";import{LineGeometry}from"./LineGeometry.js";import{LineMaterial}from"./LineMaterial.js";class Line2 extends LineSegments2{constructor(geometry=new LineGeometry,material=new LineMaterial({color:16777215*Math.random()})){super(geometry,material),this.isLine2=!0,this.type="Line2"}}export{Line2};
2
- //# sourceMappingURL=Line2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Line2.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/lines/Line2.js"],"sourcesContent":["import { LineSegments2 } from './LineSegments2.js';\nimport { LineGeometry } from './LineGeometry.js';\nimport { LineMaterial } from './LineMaterial.js';\n\n/**\n * A polyline drawn between vertices.\n *\n * This adds functionality beyond {@link Line}, like arbitrary line width and changing width to\n * be in world units.It extends {@link LineSegments2}, simplifying constructing segments from a\n * chain of points.\n *\n * This module can only be used with {@link WebGLRenderer}. When using {@link WebGPURenderer},\n * import the class from `lines/webgpu/Line2.js`.\n *\n * ```js\n * const geometry = new LineGeometry();\n * geometry.setPositions( positions );\n * geometry.setColors( colors );\n *\n * const material = new LineMaterial( { linewidth: 5, vertexColors: true } };\n *\n * const line = new Line2( geometry, material );\n * scene.add( line );\n * ```\n *\n * @augments LineSegments2\n * @three_import import { Line2 } from 'three/addons/lines/Line2.js';\n */\nclass Line2 extends LineSegments2 {\n\n\t/**\n\t * Constructs a new wide line.\n\t *\n\t * @param {LineGeometry} [geometry] - The line geometry.\n\t * @param {LineMaterial} [material] - The line material.\n\t */\n\tconstructor( geometry = new LineGeometry(), material = new LineMaterial( { color: Math.random() * 0xffffff } ) ) {\n\n\t\tsuper( geometry, material );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLine2 = true;\n\n\t\tthis.type = 'Line2';\n\n\t}\n\n}\n\nexport { Line2 };\n"],"names":["Line2","LineSegments2","constructor","geometry","LineGeometry","material","LineMaterial","color","Math","random","super","this","isLine2","type"],"mappings":"sIA4BA,MAAMA,cAAcC,cAQnB,WAAAC,CAAaC,SAAW,IAAIC,aAAgBC,SAAW,IAAIC,aAAc,CAAEC,MAAuB,SAAhBC,KAAKC,YAEtFC,MAAOP,SAAUE,UASjBM,KAAKC,SAAU,EAEfD,KAAKE,KAAO,OAEb","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{LineSegmentsGeometry}from"./LineSegmentsGeometry.js";class LineGeometry extends LineSegmentsGeometry{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(array){const length=array.length-3,points=new Float32Array(2*length);for(let i=0;i<length;i+=3)points[2*i]=array[i],points[2*i+1]=array[i+1],points[2*i+2]=array[i+2],points[2*i+3]=array[i+3],points[2*i+4]=array[i+4],points[2*i+5]=array[i+5];return super.setPositions(points),this}setColors(array){const length=array.length-3,colors=new Float32Array(2*length);for(let i=0;i<length;i+=3)colors[2*i]=array[i],colors[2*i+1]=array[i+1],colors[2*i+2]=array[i+2],colors[2*i+3]=array[i+3],colors[2*i+4]=array[i+4],colors[2*i+5]=array[i+5];return super.setColors(colors),this}setFromPoints(points){const length=points.length-1,positions=new Float32Array(6*length);for(let i=0;i<length;i++)positions[6*i]=points[i].x,positions[6*i+1]=points[i].y,positions[6*i+2]=points[i].z||0,positions[6*i+3]=points[i+1].x,positions[6*i+4]=points[i+1].y,positions[6*i+5]=points[i+1].z||0;return super.setPositions(positions),this}fromLine(line){return this.setPositions(line.geometry.attributes.position.array),this}}export{LineGeometry};
2
- //# sourceMappingURL=LineGeometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineGeometry.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/lines/LineGeometry.js"],"sourcesContent":["import { LineSegmentsGeometry } from './LineSegmentsGeometry.js';\n\n/**\n * A chain of vertices, forming a polyline.\n *\n * This is used in {@link Line2} to describe the shape.\n *\n * ```js\n * const points = [\n * \tnew THREE.Vector3( - 10, 0, 0 ),\n * \tnew THREE.Vector3( 0, 5, 0 ),\n * \tnew THREE.Vector3( 10, 0, 0 ),\n * ];\n *\n * const geometry = new LineGeometry();\n * geometry.setFromPoints( points );\n * ```\n *\n * @augments LineSegmentsGeometry\n * @three_import import { LineLineGeometry2 } from 'three/addons/lines/LineGeometry.js';\n */\nclass LineGeometry extends LineSegmentsGeometry {\n\n\t/**\n\t * Constructs a new line geometry.\n\t */\n\tconstructor() {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineGeometry = true;\n\n\t\tthis.type = 'LineGeometry';\n\n\t}\n\n\t/**\n\t * Sets the given line positions for this geometry.\n\t *\n\t * @param {Float32Array|Array<number>} array - The position data to set.\n\t * @return {LineGeometry} A reference to this geometry.\n\t */\n\tsetPositions( array ) {\n\n\t\t// converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format\n\n\t\tconst length = array.length - 3;\n\t\tconst points = new Float32Array( 2 * length );\n\n\t\tfor ( let i = 0; i < length; i += 3 ) {\n\n\t\t\tpoints[ 2 * i ] = array[ i ];\n\t\t\tpoints[ 2 * i + 1 ] = array[ i + 1 ];\n\t\t\tpoints[ 2 * i + 2 ] = array[ i + 2 ];\n\n\t\t\tpoints[ 2 * i + 3 ] = array[ i + 3 ];\n\t\t\tpoints[ 2 * i + 4 ] = array[ i + 4 ];\n\t\t\tpoints[ 2 * i + 5 ] = array[ i + 5 ];\n\n\t\t}\n\n\t\tsuper.setPositions( points );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the given line colors for this geometry.\n\t *\n\t * @param {Float32Array|Array<number>} array - The position data to set.\n\t * @return {LineGeometry} A reference to this geometry.\n\t */\n\tsetColors( array ) {\n\n\t\t// converts [ r1, g1, b1, r2, g2, b2, ... ] to pairs format\n\n\t\tconst length = array.length - 3;\n\t\tconst colors = new Float32Array( 2 * length );\n\n\t\tfor ( let i = 0; i < length; i += 3 ) {\n\n\t\t\tcolors[ 2 * i ] = array[ i ];\n\t\t\tcolors[ 2 * i + 1 ] = array[ i + 1 ];\n\t\t\tcolors[ 2 * i + 2 ] = array[ i + 2 ];\n\n\t\t\tcolors[ 2 * i + 3 ] = array[ i + 3 ];\n\t\t\tcolors[ 2 * i + 4 ] = array[ i + 4 ];\n\t\t\tcolors[ 2 * i + 5 ] = array[ i + 5 ];\n\n\t\t}\n\n\t\tsuper.setColors( colors );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given sequence of points.\n\t *\n\t * @param {Array<Vector3|Vector2>} points - An array of points in 2D or 3D space.\n\t * @return {LineGeometry} A reference to this geometry.\n\t */\n\tsetFromPoints( points ) {\n\n\t\t// converts a vector3 or vector2 array to pairs format\n\n\t\tconst length = points.length - 1;\n\t\tconst positions = new Float32Array( 6 * length );\n\n\t\tfor ( let i = 0; i < length; i ++ ) {\n\n\t\t\tpositions[ 6 * i ] = points[ i ].x;\n\t\t\tpositions[ 6 * i + 1 ] = points[ i ].y;\n\t\t\tpositions[ 6 * i + 2 ] = points[ i ].z || 0;\n\n\t\t\tpositions[ 6 * i + 3 ] = points[ i + 1 ].x;\n\t\t\tpositions[ 6 * i + 4 ] = points[ i + 1 ].y;\n\t\t\tpositions[ 6 * i + 5 ] = points[ i + 1 ].z || 0;\n\n\t\t}\n\n\t\tsuper.setPositions( positions );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given line.\n\t *\n\t * @param {Line} line - The line that should be used as a data source for this geometry.\n\t * @return {LineGeometry} A reference to this geometry.\n\t */\n\tfromLine( line ) {\n\n\t\tconst geometry = line.geometry;\n\n\t\tthis.setPositions( geometry.attributes.position.array ); // assumes non-indexed\n\n\t\t// set colors, maybe\n\n\t\treturn this;\n\n\t}\n\n}\n\nexport { LineGeometry };\n"],"names":["LineGeometry","LineSegmentsGeometry","constructor","super","this","isLineGeometry","type","setPositions","array","length","points","Float32Array","i","setColors","colors","setFromPoints","positions","x","y","z","fromLine","line","geometry","attributes","position"],"mappings":"4DAqBA,MAAMA,qBAAqBC,qBAK1B,WAAAC,GAECC,QASAC,KAAKC,gBAAiB,EAEtBD,KAAKE,KAAO,cAEb,CAQA,YAAAC,CAAcC,OAIb,MAAMC,OAASD,MAAMC,OAAS,EACxBC,OAAS,IAAIC,aAAc,EAAIF,QAErC,IAAM,IAAIG,EAAI,EAAGA,EAAIH,OAAQG,GAAK,EAEjCF,OAAQ,EAAIE,GAAMJ,MAAOI,GACzBF,OAAQ,EAAIE,EAAI,GAAMJ,MAAOI,EAAI,GACjCF,OAAQ,EAAIE,EAAI,GAAMJ,MAAOI,EAAI,GAEjCF,OAAQ,EAAIE,EAAI,GAAMJ,MAAOI,EAAI,GACjCF,OAAQ,EAAIE,EAAI,GAAMJ,MAAOI,EAAI,GACjCF,OAAQ,EAAIE,EAAI,GAAMJ,MAAOI,EAAI,GAMlC,OAFAT,MAAMI,aAAcG,QAEbN,IAER,CAQA,SAAAS,CAAWL,OAIV,MAAMC,OAASD,MAAMC,OAAS,EACxBK,OAAS,IAAIH,aAAc,EAAIF,QAErC,IAAM,IAAIG,EAAI,EAAGA,EAAIH,OAAQG,GAAK,EAEjCE,OAAQ,EAAIF,GAAMJ,MAAOI,GACzBE,OAAQ,EAAIF,EAAI,GAAMJ,MAAOI,EAAI,GACjCE,OAAQ,EAAIF,EAAI,GAAMJ,MAAOI,EAAI,GAEjCE,OAAQ,EAAIF,EAAI,GAAMJ,MAAOI,EAAI,GACjCE,OAAQ,EAAIF,EAAI,GAAMJ,MAAOI,EAAI,GACjCE,OAAQ,EAAIF,EAAI,GAAMJ,MAAOI,EAAI,GAMlC,OAFAT,MAAMU,UAAWC,QAEVV,IAER,CAQA,aAAAW,CAAeL,QAId,MAAMD,OAASC,OAAOD,OAAS,EACzBO,UAAY,IAAIL,aAAc,EAAIF,QAExC,IAAM,IAAIG,EAAI,EAAGA,EAAIH,OAAQG,IAE5BI,UAAW,EAAIJ,GAAMF,OAAQE,GAAIK,EACjCD,UAAW,EAAIJ,EAAI,GAAMF,OAAQE,GAAIM,EACrCF,UAAW,EAAIJ,EAAI,GAAMF,OAAQE,GAAIO,GAAK,EAE1CH,UAAW,EAAIJ,EAAI,GAAMF,OAAQE,EAAI,GAAIK,EACzCD,UAAW,EAAIJ,EAAI,GAAMF,OAAQE,EAAI,GAAIM,EACzCF,UAAW,EAAIJ,EAAI,GAAMF,OAAQE,EAAI,GAAIO,GAAK,EAM/C,OAFAhB,MAAMI,aAAcS,WAEbZ,IAER,CAQA,QAAAgB,CAAUC,MAQT,OAJAjB,KAAKG,aAFYc,KAAKC,SAEMC,WAAWC,SAAShB,OAIzCJ,IAER","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{ShaderLib,UniformsLib}from"../../../build/three.module.js";import{ShaderMaterial,UniformsUtils,Vector2}from"../../../build/three.core.js";UniformsLib.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new Vector2(1,1)},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}},ShaderLib.line={uniforms:UniformsUtils.merge([UniformsLib.common,UniformsLib.fog,UniformsLib.line]),vertexShader:"\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tworldStart = start.xyz;\n\t\t\t\tworldEnd = end.xyz;\n\n\t\t\t#else\n\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec3 ndcStart = clipStart.xyz / clipStart.w;\n\t\t\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd.xy - ndcStart.xy;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tvec3 worldDir = normalize( end.xyz - start.xyz );\n\t\t\t\tvec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );\n\t\t\t\tvec3 worldUp = normalize( cross( worldDir, tmpFwd ) );\n\t\t\t\tvec3 worldFwd = cross( worldDir, worldUp );\n\t\t\t\tworldPos = position.y < 0.5 ? start: end;\n\n\t\t\t\t// height offset\n\t\t\t\tfloat hw = linewidth * 0.5;\n\t\t\t\tworldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;\n\n\t\t\t\t// don't extend the line if we're rendering dashes because we\n\t\t\t\t// won't be rendering the endcaps\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t// cap extension\n\t\t\t\t\tworldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;\n\n\t\t\t\t\t// add width to the box\n\t\t\t\t\tworldPos.xyz += worldFwd * hw;\n\n\t\t\t\t\t// endcaps\n\t\t\t\t\tif ( position.y > 1.0 || position.y < 0.0 ) {\n\n\t\t\t\t\t\tworldPos.xyz -= worldFwd * 2.0 * hw;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t\t// project the worldpos\n\t\t\t\tvec4 clip = projectionMatrix * worldPos;\n\n\t\t\t\t// shift the depth of the projected points so the line\n\t\t\t\t// segments overlap neatly\n\t\t\t\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\n\t\t\t\tclip.z = clipPose.z * clip.w;\n\n\t\t\t#else\n\n\t\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\t\t\t\t// undo aspect ratio adjustment\n\t\t\t\tdir.x /= aspect;\n\t\t\t\toffset.x /= aspect;\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\t\toffset += - dir;\n\n\t\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\t\toffset += dir;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth;\n\n\t\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\t\toffset /= resolution.y;\n\n\t\t\t\t// select end\n\t\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t\t// back to clip space\n\t\t\t\toffset *= clip.w;\n\n\t\t\t\tclip.xy += offset;\n\n\t\t\t#endif\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t",fragmentShader:"\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\t\tuniform float linewidth;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashOffset;\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\n\n\t\t\tfloat mua;\n\t\t\tfloat mub;\n\n\t\t\tvec3 p13 = p1 - p3;\n\t\t\tvec3 p43 = p4 - p3;\n\n\t\t\tvec3 p21 = p2 - p1;\n\n\t\t\tfloat d1343 = dot( p13, p43 );\n\t\t\tfloat d4321 = dot( p43, p21 );\n\t\t\tfloat d1321 = dot( p13, p21 );\n\t\t\tfloat d4343 = dot( p43, p43 );\n\t\t\tfloat d2121 = dot( p21, p21 );\n\n\t\t\tfloat denom = d2121 * d4343 - d4321 * d4321;\n\n\t\t\tfloat numer = d1343 * d4321 - d1321 * d4343;\n\n\t\t\tmua = numer / denom;\n\t\t\tmua = clamp( mua, 0.0, 1.0 );\n\t\t\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\n\t\t\tmub = clamp( mub, 0.0, 1.0 );\n\n\t\t\treturn vec2( mua, mub );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tfloat alpha = opacity;\n\t\t\tvec4 diffuseColor = vec4( diffuse, alpha );\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// Find the closest points on the view ray and the line segment\n\t\t\t\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\n\t\t\t\tvec3 lineDir = worldEnd - worldStart;\n\t\t\t\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\n\n\t\t\t\tvec3 p1 = worldStart + lineDir * params.x;\n\t\t\t\tvec3 p2 = rayEnd * params.y;\n\t\t\t\tvec3 delta = p1 - p2;\n\t\t\t\tfloat len = length( delta );\n\t\t\t\tfloat norm = len / linewidth;\n\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t\tfloat dnorm = fwidth( norm );\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\n\n\t\t\t\t\t#else\n\n\t\t\t\t\t\tif ( norm > 0.5 ) {\n\n\t\t\t\t\t\t\tdiscard;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t#endif\n\n\t\t\t\t#endif\n\n\t\t\t#else\n\n\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t// artifacts appear on some hardware if a derivative is taken within a conditional\n\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\tfloat len2 = a * a + b * b;\n\t\t\t\t\tfloat dlen = fwidth( len2 );\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t#else\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <colorspace_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t"};class LineMaterial extends ShaderMaterial{constructor(parameters){super({type:"LineMaterial",uniforms:UniformsUtils.clone(ShaderLib.line.uniforms),vertexShader:ShaderLib.line.vertexShader,fragmentShader:ShaderLib.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(parameters)}get color(){return this.uniforms.diffuse.value}set color(value){this.uniforms.diffuse.value=value}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(value){!0===value?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(value){this.uniforms.linewidth&&(this.uniforms.linewidth.value=value)}get dashed(){return"USE_DASH"in this.defines}set dashed(value){!0===value!==this.dashed&&(this.needsUpdate=!0),!0===value?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(value){this.uniforms.dashScale.value=value}get dashSize(){return this.uniforms.dashSize.value}set dashSize(value){this.uniforms.dashSize.value=value}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(value){this.uniforms.dashOffset.value=value}get gapSize(){return this.uniforms.gapSize.value}set gapSize(value){this.uniforms.gapSize.value=value}get opacity(){return this.uniforms.opacity.value}set opacity(value){this.uniforms&&(this.uniforms.opacity.value=value)}get resolution(){return this.uniforms.resolution.value}set resolution(value){this.uniforms.resolution.value.copy(value)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(value){this.defines&&(!0===value!==this.alphaToCoverage&&(this.needsUpdate=!0),!0===value?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}export{LineMaterial};
2
- //# sourceMappingURL=LineMaterial.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineMaterial.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/lines/LineMaterial.js"],"sourcesContent":["import {\n\tShaderLib,\n\tShaderMaterial,\n\tUniformsLib,\n\tUniformsUtils,\n\tVector2,\n} from 'three';\n\nUniformsLib.line = {\n\n\tworldUnits: { value: 1 },\n\tlinewidth: { value: 1 },\n\tresolution: { value: new Vector2( 1, 1 ) },\n\tdashOffset: { value: 0 },\n\tdashScale: { value: 1 },\n\tdashSize: { value: 1 },\n\tgapSize: { value: 1 } // todo FIX - maybe change to totalSize\n\n};\n\nShaderLib[ 'line' ] = {\n\n\tuniforms: UniformsUtils.merge( [\n\t\tUniformsLib.common,\n\t\tUniformsLib.fog,\n\t\tUniformsLib.line\n\t] ),\n\n\tvertexShader:\n\t/* glsl */`\n\t\t#include <common>\n\t\t#include <color_pars_vertex>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\t\t#include <clipping_planes_pars_vertex>\n\n\t\tuniform float linewidth;\n\t\tuniform vec2 resolution;\n\n\t\tattribute vec3 instanceStart;\n\t\tattribute vec3 instanceEnd;\n\n\t\tattribute vec3 instanceColorStart;\n\t\tattribute vec3 instanceColorEnd;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashScale;\n\t\t\tattribute float instanceDistanceStart;\n\t\t\tattribute float instanceDistanceEnd;\n\t\t\tvarying float vLineDistance;\n\n\t\t#endif\n\n\t\tvoid trimSegment( const in vec4 start, inout vec4 end ) {\n\n\t\t\t// trim end segment so it terminates between the camera plane and the near plane\n\n\t\t\t// conservative estimate of the near plane\n\t\t\tfloat a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n\t\t\tfloat b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n\t\t\tfloat nearEstimate = - 0.5 * b / a;\n\n\t\t\tfloat alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n\t\t\tend.xyz = mix( start.xyz, end.xyz, alpha );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\t#ifdef USE_COLOR\n\n\t\t\t\tvColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n\t\t\t#endif\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\tfloat aspect = resolution.x / resolution.y;\n\n\t\t\t// camera space\n\t\t\tvec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n\t\t\tvec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tworldStart = start.xyz;\n\t\t\t\tworldEnd = end.xyz;\n\n\t\t\t#else\n\n\t\t\t\tvUv = uv;\n\n\t\t\t#endif\n\n\t\t\t// special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n\t\t\t// clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n\t\t\t// but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n\t\t\t// perhaps there is a more elegant solution -- WestLangley\n\n\t\t\tbool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n\t\t\tif ( perspective ) {\n\n\t\t\t\tif ( start.z < 0.0 && end.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( start, end );\n\n\t\t\t\t} else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n\t\t\t\t\ttrimSegment( end, start );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// clip space\n\t\t\tvec4 clipStart = projectionMatrix * start;\n\t\t\tvec4 clipEnd = projectionMatrix * end;\n\n\t\t\t// ndc space\n\t\t\tvec3 ndcStart = clipStart.xyz / clipStart.w;\n\t\t\tvec3 ndcEnd = clipEnd.xyz / clipEnd.w;\n\n\t\t\t// direction\n\t\t\tvec2 dir = ndcEnd.xy - ndcStart.xy;\n\n\t\t\t// account for clip-space aspect ratio\n\t\t\tdir.x *= aspect;\n\t\t\tdir = normalize( dir );\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\tvec3 worldDir = normalize( end.xyz - start.xyz );\n\t\t\t\tvec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );\n\t\t\t\tvec3 worldUp = normalize( cross( worldDir, tmpFwd ) );\n\t\t\t\tvec3 worldFwd = cross( worldDir, worldUp );\n\t\t\t\tworldPos = position.y < 0.5 ? start: end;\n\n\t\t\t\t// height offset\n\t\t\t\tfloat hw = linewidth * 0.5;\n\t\t\t\tworldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;\n\n\t\t\t\t// don't extend the line if we're rendering dashes because we\n\t\t\t\t// won't be rendering the endcaps\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t// cap extension\n\t\t\t\t\tworldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;\n\n\t\t\t\t\t// add width to the box\n\t\t\t\t\tworldPos.xyz += worldFwd * hw;\n\n\t\t\t\t\t// endcaps\n\t\t\t\t\tif ( position.y > 1.0 || position.y < 0.0 ) {\n\n\t\t\t\t\t\tworldPos.xyz -= worldFwd * 2.0 * hw;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t\t// project the worldpos\n\t\t\t\tvec4 clip = projectionMatrix * worldPos;\n\n\t\t\t\t// shift the depth of the projected points so the line\n\t\t\t\t// segments overlap neatly\n\t\t\t\tvec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;\n\t\t\t\tclip.z = clipPose.z * clip.w;\n\n\t\t\t#else\n\n\t\t\t\tvec2 offset = vec2( dir.y, - dir.x );\n\t\t\t\t// undo aspect ratio adjustment\n\t\t\t\tdir.x /= aspect;\n\t\t\t\toffset.x /= aspect;\n\n\t\t\t\t// sign flip\n\t\t\t\tif ( position.x < 0.0 ) offset *= - 1.0;\n\n\t\t\t\t// endcaps\n\t\t\t\tif ( position.y < 0.0 ) {\n\n\t\t\t\t\toffset += - dir;\n\n\t\t\t\t} else if ( position.y > 1.0 ) {\n\n\t\t\t\t\toffset += dir;\n\n\t\t\t\t}\n\n\t\t\t\t// adjust for linewidth\n\t\t\t\toffset *= linewidth;\n\n\t\t\t\t// adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n\t\t\t\toffset /= resolution.y;\n\n\t\t\t\t// select end\n\t\t\t\tvec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n\t\t\t\t// back to clip space\n\t\t\t\toffset *= clip.w;\n\n\t\t\t\tclip.xy += offset;\n\n\t\t\t#endif\n\n\t\t\tgl_Position = clip;\n\n\t\t\tvec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <clipping_planes_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}\n\t\t`,\n\n\tfragmentShader:\n\t/* glsl */`\n\t\tuniform vec3 diffuse;\n\t\tuniform float opacity;\n\t\tuniform float linewidth;\n\n\t\t#ifdef USE_DASH\n\n\t\t\tuniform float dashOffset;\n\t\t\tuniform float dashSize;\n\t\t\tuniform float gapSize;\n\n\t\t#endif\n\n\t\tvarying float vLineDistance;\n\n\t\t#ifdef WORLD_UNITS\n\n\t\t\tvarying vec4 worldPos;\n\t\t\tvarying vec3 worldStart;\n\t\t\tvarying vec3 worldEnd;\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tvarying vec2 vUv;\n\n\t\t\t#endif\n\n\t\t#else\n\n\t\t\tvarying vec2 vUv;\n\n\t\t#endif\n\n\t\t#include <common>\n\t\t#include <color_pars_fragment>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\t\t#include <clipping_planes_pars_fragment>\n\n\t\tvec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {\n\n\t\t\tfloat mua;\n\t\t\tfloat mub;\n\n\t\t\tvec3 p13 = p1 - p3;\n\t\t\tvec3 p43 = p4 - p3;\n\n\t\t\tvec3 p21 = p2 - p1;\n\n\t\t\tfloat d1343 = dot( p13, p43 );\n\t\t\tfloat d4321 = dot( p43, p21 );\n\t\t\tfloat d1321 = dot( p13, p21 );\n\t\t\tfloat d4343 = dot( p43, p43 );\n\t\t\tfloat d2121 = dot( p21, p21 );\n\n\t\t\tfloat denom = d2121 * d4343 - d4321 * d4321;\n\n\t\t\tfloat numer = d1343 * d4321 - d1321 * d4343;\n\n\t\t\tmua = numer / denom;\n\t\t\tmua = clamp( mua, 0.0, 1.0 );\n\t\t\tmub = ( d1343 + d4321 * ( mua ) ) / d4343;\n\t\t\tmub = clamp( mub, 0.0, 1.0 );\n\n\t\t\treturn vec2( mua, mub );\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tfloat alpha = opacity;\n\t\t\tvec4 diffuseColor = vec4( diffuse, alpha );\n\n\t\t\t#include <clipping_planes_fragment>\n\n\t\t\t#ifdef USE_DASH\n\n\t\t\t\tif ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n\t\t\t\tif ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n\t\t\t#endif\n\n\t\t\t#ifdef WORLD_UNITS\n\n\t\t\t\t// Find the closest points on the view ray and the line segment\n\t\t\t\tvec3 rayEnd = normalize( worldPos.xyz ) * 1e5;\n\t\t\t\tvec3 lineDir = worldEnd - worldStart;\n\t\t\t\tvec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );\n\n\t\t\t\tvec3 p1 = worldStart + lineDir * params.x;\n\t\t\t\tvec3 p2 = rayEnd * params.y;\n\t\t\t\tvec3 delta = p1 - p2;\n\t\t\t\tfloat len = length( delta );\n\t\t\t\tfloat norm = len / linewidth;\n\n\t\t\t\t#ifndef USE_DASH\n\n\t\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t\tfloat dnorm = fwidth( norm );\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );\n\n\t\t\t\t\t#else\n\n\t\t\t\t\t\tif ( norm > 0.5 ) {\n\n\t\t\t\t\t\t\tdiscard;\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t#endif\n\n\t\t\t\t#endif\n\n\t\t\t#else\n\n\t\t\t\t#ifdef USE_ALPHA_TO_COVERAGE\n\n\t\t\t\t\t// artifacts appear on some hardware if a derivative is taken within a conditional\n\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\tfloat len2 = a * a + b * b;\n\t\t\t\t\tfloat dlen = fwidth( len2 );\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\talpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n\t\t\t\t\t}\n\n\t\t\t\t#else\n\n\t\t\t\t\tif ( abs( vUv.y ) > 1.0 ) {\n\n\t\t\t\t\t\tfloat a = vUv.x;\n\t\t\t\t\t\tfloat b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n\t\t\t\t\t\tfloat len2 = a * a + b * b;\n\n\t\t\t\t\t\tif ( len2 > 1.0 ) discard;\n\n\t\t\t\t\t}\n\n\t\t\t\t#endif\n\n\t\t\t#endif\n\n\t\t\t#include <logdepthbuf_fragment>\n\t\t\t#include <color_fragment>\n\n\t\t\tgl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <colorspace_fragment>\n\t\t\t#include <fog_fragment>\n\t\t\t#include <premultiplied_alpha_fragment>\n\n\t\t}\n\t\t`\n};\n\n/**\n * A material for drawing wireframe-style geometries.\n *\n * Unlike {@link LineBasicMaterial}, it supports arbitrary line widths and allows using world units\n * instead of screen space units. This material is used with {@link LineSegments2} and {@link Line2}.\n *\n * This module can only be used with {@link WebGLRenderer}. When using {@link WebGPURenderer},\n * use {@link Line2NodeMaterial}.\n *\n * @augments ShaderMaterial\n * @three_import import { LineMaterial } from 'three/addons/lines/LineMaterial.js';\n */\nclass LineMaterial extends ShaderMaterial {\n\n\t/**\n\t * Constructs a new line segments geometry.\n\t *\n\t * @param {Object} [parameters] - An object with one or more properties\n\t * defining the material's appearance. Any property of the material\n\t * (including any property from inherited materials) can be passed\n\t * in here. Color values can be passed any type of value accepted\n\t * by {@link Color#set}.\n\t */\n\tconstructor( parameters ) {\n\n\t\tsuper( {\n\n\t\t\ttype: 'LineMaterial',\n\t\t\tuniforms: UniformsUtils.clone( ShaderLib[ 'line' ].uniforms ),\n\n\t\t\tvertexShader: ShaderLib[ 'line' ].vertexShader,\n\t\t\tfragmentShader: ShaderLib[ 'line' ].fragmentShader,\n\n\t\t\tclipping: true // required for clipping support\n\n\t\t} );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineMaterial = true;\n\n\t\tthis.setValues( parameters );\n\n\t}\n\n\t/**\n\t * The material's color.\n\t *\n\t * @type {Color}\n\t * @default (1,1,1)\n\t */\n\tget color() {\n\n\t\treturn this.uniforms.diffuse.value;\n\n\t}\n\n\tset color( value ) {\n\n\t\tthis.uniforms.diffuse.value = value;\n\n\t}\n\n\t/**\n\t * Whether the material's sizes (width, dash gaps) are in world units.\n\t *\n\t * @type {boolean}\n\t * @default false\n\t */\n\tget worldUnits() {\n\n\t\treturn 'WORLD_UNITS' in this.defines;\n\n\t}\n\n\tset worldUnits( value ) {\n\n\t\tif ( value === true ) {\n\n\t\t\tthis.defines.WORLD_UNITS = '';\n\n\t\t} else {\n\n\t\t\tdelete this.defines.WORLD_UNITS;\n\n\t\t}\n\n\t}\n\n\t/**\n\t * Controls line thickness in CSS pixel units when `worldUnits` is `false` (default),\n\t * or in world units when `worldUnits` is `true`.\n\t *\n\t * @type {number}\n\t * @default 1\n\t */\n\tget linewidth() {\n\n\t\treturn this.uniforms.linewidth.value;\n\n\t}\n\n\tset linewidth( value ) {\n\n\t\tif ( ! this.uniforms.linewidth ) return;\n\t\tthis.uniforms.linewidth.value = value;\n\n\t}\n\n\t/**\n\t * Whether the line is dashed, or solid.\n\t *\n\t * @type {boolean}\n\t * @default false\n\t */\n\tget dashed() {\n\n\t\treturn 'USE_DASH' in this.defines;\n\n\t}\n\n\tset dashed( value ) {\n\n\t\tif ( ( value === true ) !== this.dashed ) {\n\n\t\t\tthis.needsUpdate = true;\n\n\t\t}\n\n\t\tif ( value === true ) {\n\n\t\t\tthis.defines.USE_DASH = '';\n\n\t\t} else {\n\n\t\t\tdelete this.defines.USE_DASH;\n\n\t\t}\n\n\t}\n\n\t/**\n\t * The scale of the dashes and gaps.\n\t *\n\t * @type {number}\n\t * @default 1\n\t */\n\tget dashScale() {\n\n\t\treturn this.uniforms.dashScale.value;\n\n\t}\n\n\tset dashScale( value ) {\n\n\t\tthis.uniforms.dashScale.value = value;\n\n\t}\n\n\t/**\n\t * The size of the dash.\n\t *\n\t * @type {number}\n\t * @default 1\n\t */\n\tget dashSize() {\n\n\t\treturn this.uniforms.dashSize.value;\n\n\t}\n\n\tset dashSize( value ) {\n\n\t\tthis.uniforms.dashSize.value = value;\n\n\t}\n\n\t/**\n\t * Where in the dash cycle the dash starts.\n\t *\n\t * @type {number}\n\t * @default 0\n\t */\n\tget dashOffset() {\n\n\t\treturn this.uniforms.dashOffset.value;\n\n\t}\n\n\tset dashOffset( value ) {\n\n\t\tthis.uniforms.dashOffset.value = value;\n\n\t}\n\n\t/**\n\t * The size of the gap.\n\t *\n\t * @type {number}\n\t * @default 0\n\t */\n\tget gapSize() {\n\n\t\treturn this.uniforms.gapSize.value;\n\n\t}\n\n\tset gapSize( value ) {\n\n\t\tthis.uniforms.gapSize.value = value;\n\n\t}\n\n\t/**\n\t * The opacity.\n\t *\n\t * @type {number}\n\t * @default 1\n\t */\n\tget opacity() {\n\n\t\treturn this.uniforms.opacity.value;\n\n\t}\n\n\tset opacity( value ) {\n\n\t\tif ( ! this.uniforms ) return;\n\t\tthis.uniforms.opacity.value = value;\n\n\t}\n\n\t/**\n\t * The size of the viewport, in screen pixels. This must be kept updated to make\n\t * screen-space rendering accurate.The `LineSegments2.onBeforeRender` callback\n\t * performs the update for visible objects.\n\t *\n\t * @type {Vector2}\n\t */\n\tget resolution() {\n\n\t\treturn this.uniforms.resolution.value;\n\n\t}\n\n\tset resolution( value ) {\n\n\t\tthis.uniforms.resolution.value.copy( value );\n\n\t}\n\n\t/**\n\t * Whether to use alphaToCoverage or not. When enabled, this can improve the\n\t * anti-aliasing of line edges when using MSAA.\n\t *\n\t * @type {boolean}\n\t */\n\tget alphaToCoverage() {\n\n\t\treturn 'USE_ALPHA_TO_COVERAGE' in this.defines;\n\n\t}\n\n\tset alphaToCoverage( value ) {\n\n\t\tif ( ! this.defines ) return;\n\n\t\tif ( ( value === true ) !== this.alphaToCoverage ) {\n\n\t\t\tthis.needsUpdate = true;\n\n\t\t}\n\n\t\tif ( value === true ) {\n\n\t\t\tthis.defines.USE_ALPHA_TO_COVERAGE = '';\n\n\t\t} else {\n\n\t\t\tdelete this.defines.USE_ALPHA_TO_COVERAGE;\n\n\t\t}\n\n\t}\n\n}\n\nexport { LineMaterial };\n"],"names":["UniformsLib","line","worldUnits","value","linewidth","resolution","Vector2","dashOffset","dashScale","dashSize","gapSize","ShaderLib","uniforms","UniformsUtils","merge","common","fog","vertexShader","fragmentShader","LineMaterial","ShaderMaterial","constructor","parameters","super","type","clone","clipping","this","isLineMaterial","setValues","color","diffuse","defines","WORLD_UNITS","dashed","needsUpdate","USE_DASH","opacity","copy","alphaToCoverage","USE_ALPHA_TO_COVERAGE"],"mappings":"iJAQAA,YAAYC,KAAO,CAElBC,WAAY,CAAEC,MAAO,GACrBC,UAAW,CAAED,MAAO,GACpBE,WAAY,CAAEF,MAAO,IAAIG,QAAS,EAAG,IACrCC,WAAY,CAAEJ,MAAO,GACrBK,UAAW,CAAEL,MAAO,GACpBM,SAAU,CAAEN,MAAO,GACnBO,QAAS,CAAEP,MAAO,IAInBQ,UAAiB,KAAK,CAErBC,SAAUC,cAAcC,MAAO,CAC9Bd,YAAYe,OACZf,YAAYgB,IACZhB,YAAYC,OAGbgB,aACU,s3KAqNVC,eACU,giHA6KX,MAAMC,qBAAqBC,eAW1B,WAAAC,CAAaC,YAEZC,MAAO,CAENC,KAAM,eACNZ,SAAUC,cAAcY,MAAOd,UAAiB,KAAGC,UAEnDK,aAAcN,UAAiB,KAAGM,aAClCC,eAAgBP,UAAiB,KAAGO,eAEpCQ,UAAU,IAWXC,KAAKC,gBAAiB,EAEtBD,KAAKE,UAAWP,WAEjB,CAQA,SAAIQ,GAEH,OAAOH,KAAKf,SAASmB,QAAQ5B,KAE9B,CAEA,SAAI2B,CAAO3B,OAEVwB,KAAKf,SAASmB,QAAQ5B,MAAQA,KAE/B,CAQA,cAAID,GAEH,MAAO,gBAAiByB,KAAKK,OAE9B,CAEA,cAAI9B,CAAYC,QAEA,IAAVA,MAEJwB,KAAKK,QAAQC,YAAc,UAIpBN,KAAKK,QAAQC,WAItB,CASA,aAAI7B,GAEH,OAAOuB,KAAKf,SAASR,UAAUD,KAEhC,CAEA,aAAIC,CAAWD,OAEPwB,KAAKf,SAASR,YACrBuB,KAAKf,SAASR,UAAUD,MAAQA,MAEjC,CAQA,UAAI+B,GAEH,MAAO,aAAcP,KAAKK,OAE3B,CAEA,UAAIE,CAAQ/B,QAEM,IAAVA,QAAqBwB,KAAKO,SAEhCP,KAAKQ,aAAc,IAIL,IAAVhC,MAEJwB,KAAKK,QAAQI,SAAW,UAIjBT,KAAKK,QAAQI,QAItB,CAQA,aAAI5B,GAEH,OAAOmB,KAAKf,SAASJ,UAAUL,KAEhC,CAEA,aAAIK,CAAWL,OAEdwB,KAAKf,SAASJ,UAAUL,MAAQA,KAEjC,CAQA,YAAIM,GAEH,OAAOkB,KAAKf,SAASH,SAASN,KAE/B,CAEA,YAAIM,CAAUN,OAEbwB,KAAKf,SAASH,SAASN,MAAQA,KAEhC,CAQA,cAAII,GAEH,OAAOoB,KAAKf,SAASL,WAAWJ,KAEjC,CAEA,cAAII,CAAYJ,OAEfwB,KAAKf,SAASL,WAAWJ,MAAQA,KAElC,CAQA,WAAIO,GAEH,OAAOiB,KAAKf,SAASF,QAAQP,KAE9B,CAEA,WAAIO,CAASP,OAEZwB,KAAKf,SAASF,QAAQP,MAAQA,KAE/B,CAQA,WAAIkC,GAEH,OAAOV,KAAKf,SAASyB,QAAQlC,KAE9B,CAEA,WAAIkC,CAASlC,OAELwB,KAAKf,WACZe,KAAKf,SAASyB,QAAQlC,MAAQA,MAE/B,CASA,cAAIE,GAEH,OAAOsB,KAAKf,SAASP,WAAWF,KAEjC,CAEA,cAAIE,CAAYF,OAEfwB,KAAKf,SAASP,WAAWF,MAAMmC,KAAMnC,MAEtC,CAQA,mBAAIoC,GAEH,MAAO,0BAA2BZ,KAAKK,OAExC,CAEA,mBAAIO,CAAiBpC,OAEbwB,KAAKK,WAEK,IAAV7B,QAAqBwB,KAAKY,kBAEhCZ,KAAKQ,aAAc,IAIL,IAAVhC,MAEJwB,KAAKK,QAAQQ,sBAAwB,UAI9Bb,KAAKK,QAAQQ,sBAItB","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import"../../../build/three.module.js";import{LineSegmentsGeometry}from"./LineSegmentsGeometry.js";import{LineMaterial}from"./LineMaterial.js";import{Mesh,Vector3,InstancedInterleavedBuffer,InterleavedBufferAttribute,Sphere,Box3,Vector4,Line3,Matrix4,MathUtils}from"../../../build/three.core.js";const _viewport=new Vector4,_start=new Vector3,_end=new Vector3,_start4=new Vector4,_end4=new Vector4,_ssOrigin=new Vector4,_ssOrigin3=new Vector3,_mvMatrix=new Matrix4,_line=new Line3,_closestPoint=new Vector3,_box=new Box3,_sphere=new Sphere,_clipToWorldVector=new Vector4;let _ray,_lineWidth;function getWorldSpaceHalfWidth(camera,distance,resolution){return _clipToWorldVector.set(0,0,-distance,1).applyMatrix4(camera.projectionMatrix),_clipToWorldVector.multiplyScalar(1/_clipToWorldVector.w),_clipToWorldVector.x=_lineWidth/resolution.width,_clipToWorldVector.y=_lineWidth/resolution.height,_clipToWorldVector.applyMatrix4(camera.projectionMatrixInverse),_clipToWorldVector.multiplyScalar(1/_clipToWorldVector.w),Math.abs(Math.max(_clipToWorldVector.x,_clipToWorldVector.y))}class LineSegments2 extends Mesh{constructor(geometry=new LineSegmentsGeometry,material=new LineMaterial({color:16777215*Math.random()})){super(geometry,material),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const geometry=this.geometry,instanceStart=geometry.attributes.instanceStart,instanceEnd=geometry.attributes.instanceEnd,lineDistances=new Float32Array(2*instanceStart.count);for(let i=0,j=0,l=instanceStart.count;i<l;i++,j+=2)_start.fromBufferAttribute(instanceStart,i),_end.fromBufferAttribute(instanceEnd,i),lineDistances[j]=0===j?0:lineDistances[j-1],lineDistances[j+1]=lineDistances[j]+_start.distanceTo(_end);const instanceDistanceBuffer=new InstancedInterleavedBuffer(lineDistances,2,1);return geometry.setAttribute("instanceDistanceStart",new InterleavedBufferAttribute(instanceDistanceBuffer,1,0)),geometry.setAttribute("instanceDistanceEnd",new InterleavedBufferAttribute(instanceDistanceBuffer,1,1)),this}raycast(raycaster,intersects){const worldUnits=this.material.worldUnits,camera=raycaster.camera;null!==camera||worldUnits||console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.'),_ray=raycaster.ray;const matrixWorld=this.matrixWorld,geometry=this.geometry,material=this.material;let sphereMargin,boxMargin;_lineWidth=material.linewidth+(void 0!==raycaster.params.Line2&&raycaster.params.Line2.threshold||0),null===geometry.boundingSphere&&geometry.computeBoundingSphere(),_sphere.copy(geometry.boundingSphere).applyMatrix4(matrixWorld),sphereMargin=worldUnits?.5*_lineWidth:getWorldSpaceHalfWidth(camera,Math.max(camera.near,_sphere.distanceToPoint(_ray.origin)),material.resolution),_sphere.radius+=sphereMargin,!1!==_ray.intersectsSphere(_sphere)&&(null===geometry.boundingBox&&geometry.computeBoundingBox(),_box.copy(geometry.boundingBox).applyMatrix4(matrixWorld),boxMargin=worldUnits?.5*_lineWidth:getWorldSpaceHalfWidth(camera,Math.max(camera.near,_box.distanceToPoint(_ray.origin)),material.resolution),_box.expandByScalar(boxMargin),!1!==_ray.intersectsBox(_box)&&(worldUnits?function(lineSegments,intersects){const matrixWorld=lineSegments.matrixWorld,geometry=lineSegments.geometry,instanceStart=geometry.attributes.instanceStart,instanceEnd=geometry.attributes.instanceEnd;for(let i=0,l=Math.min(geometry.instanceCount,instanceStart.count);i<l;i++){_line.start.fromBufferAttribute(instanceStart,i),_line.end.fromBufferAttribute(instanceEnd,i),_line.applyMatrix4(matrixWorld);const pointOnLine=new Vector3,point=new Vector3;_ray.distanceSqToSegment(_line.start,_line.end,point,pointOnLine),point.distanceTo(pointOnLine)<.5*_lineWidth&&intersects.push({point:point,pointOnLine:pointOnLine,distance:_ray.origin.distanceTo(point),object:lineSegments,face:null,faceIndex:i,uv:null,uv1:null})}}(this,intersects):function(lineSegments,camera,intersects){const projectionMatrix=camera.projectionMatrix,resolution=lineSegments.material.resolution,matrixWorld=lineSegments.matrixWorld,geometry=lineSegments.geometry,instanceStart=geometry.attributes.instanceStart,instanceEnd=geometry.attributes.instanceEnd,segmentCount=Math.min(geometry.instanceCount,instanceStart.count),near=-camera.near;_ray.at(1,_ssOrigin),_ssOrigin.w=1,_ssOrigin.applyMatrix4(camera.matrixWorldInverse),_ssOrigin.applyMatrix4(projectionMatrix),_ssOrigin.multiplyScalar(1/_ssOrigin.w),_ssOrigin.x*=resolution.x/2,_ssOrigin.y*=resolution.y/2,_ssOrigin.z=0,_ssOrigin3.copy(_ssOrigin),_mvMatrix.multiplyMatrices(camera.matrixWorldInverse,matrixWorld);for(let i=0,l=segmentCount;i<l;i++){if(_start4.fromBufferAttribute(instanceStart,i),_end4.fromBufferAttribute(instanceEnd,i),_start4.w=1,_end4.w=1,_start4.applyMatrix4(_mvMatrix),_end4.applyMatrix4(_mvMatrix),_start4.z>near&&_end4.z>near)continue;_start4.z>near?_start4.lerp(_end4,(_start4.z-near)/(_start4.z-_end4.z)):_end4.z>near&&_end4.lerp(_start4,(_end4.z-near)/(_end4.z-_start4.z)),_start4.applyMatrix4(projectionMatrix),_end4.applyMatrix4(projectionMatrix),_start4.multiplyScalar(1/_start4.w),_end4.multiplyScalar(1/_end4.w),_start4.x*=resolution.x/2,_start4.y*=resolution.y/2,_end4.x*=resolution.x/2,_end4.y*=resolution.y/2,_line.start.copy(_start4),_line.start.z=0,_line.end.copy(_end4),_line.end.z=0;const param=_line.closestPointToPointParameter(_ssOrigin3,!0);_line.at(param,_closestPoint);const zPos=MathUtils.lerp(_start4.z,_end4.z,param),isInClipSpace=zPos>=-1&&zPos<=1,isInside=_ssOrigin3.distanceTo(_closestPoint)<.5*_lineWidth;if(isInClipSpace&&isInside){_line.start.fromBufferAttribute(instanceStart,i),_line.end.fromBufferAttribute(instanceEnd,i),_line.start.applyMatrix4(matrixWorld),_line.end.applyMatrix4(matrixWorld);const pointOnLine=new Vector3,point=new Vector3;_ray.distanceSqToSegment(_line.start,_line.end,point,pointOnLine),intersects.push({point:point,pointOnLine:pointOnLine,distance:_ray.origin.distanceTo(point),object:lineSegments,face:null,faceIndex:i,uv:null,uv1:null})}}}(this,camera,intersects)))}onBeforeRender(renderer){const uniforms=this.material.uniforms;uniforms&&uniforms.resolution&&(renderer.getViewport(_viewport),this.material.uniforms.resolution.value.set(_viewport.z,_viewport.w))}}export{LineSegments2};
2
- //# sourceMappingURL=LineSegments2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineSegments2.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/lines/LineSegments2.js"],"sourcesContent":["import {\n\tBox3,\n\tInstancedInterleavedBuffer,\n\tInterleavedBufferAttribute,\n\tLine3,\n\tMathUtils,\n\tMatrix4,\n\tMesh,\n\tSphere,\n\tVector3,\n\tVector4\n} from 'three';\nimport { LineSegmentsGeometry } from './LineSegmentsGeometry.js';\nimport { LineMaterial } from './LineMaterial.js';\n\nconst _viewport = new Vector4();\n\nconst _start = new Vector3();\nconst _end = new Vector3();\n\nconst _start4 = new Vector4();\nconst _end4 = new Vector4();\n\nconst _ssOrigin = new Vector4();\nconst _ssOrigin3 = new Vector3();\nconst _mvMatrix = new Matrix4();\nconst _line = new Line3();\nconst _closestPoint = new Vector3();\n\nconst _box = new Box3();\nconst _sphere = new Sphere();\nconst _clipToWorldVector = new Vector4();\n\nlet _ray, _lineWidth;\n\n// Returns the margin required to expand by in world space given the distance from the camera,\n// line width, resolution, and camera projection\nfunction getWorldSpaceHalfWidth( camera, distance, resolution ) {\n\n\t// transform into clip space, adjust the x and y values by the pixel width offset, then\n\t// transform back into world space to get world offset. Note clip space is [-1, 1] so full\n\t// width does not need to be halved.\n\t_clipToWorldVector.set( 0, 0, - distance, 1.0 ).applyMatrix4( camera.projectionMatrix );\n\t_clipToWorldVector.multiplyScalar( 1.0 / _clipToWorldVector.w );\n\t_clipToWorldVector.x = _lineWidth / resolution.width;\n\t_clipToWorldVector.y = _lineWidth / resolution.height;\n\t_clipToWorldVector.applyMatrix4( camera.projectionMatrixInverse );\n\t_clipToWorldVector.multiplyScalar( 1.0 / _clipToWorldVector.w );\n\n\treturn Math.abs( Math.max( _clipToWorldVector.x, _clipToWorldVector.y ) );\n\n}\n\nfunction raycastWorldUnits( lineSegments, intersects ) {\n\n\tconst matrixWorld = lineSegments.matrixWorld;\n\tconst geometry = lineSegments.geometry;\n\tconst instanceStart = geometry.attributes.instanceStart;\n\tconst instanceEnd = geometry.attributes.instanceEnd;\n\tconst segmentCount = Math.min( geometry.instanceCount, instanceStart.count );\n\n\tfor ( let i = 0, l = segmentCount; i < l; i ++ ) {\n\n\t\t_line.start.fromBufferAttribute( instanceStart, i );\n\t\t_line.end.fromBufferAttribute( instanceEnd, i );\n\n\t\t_line.applyMatrix4( matrixWorld );\n\n\t\tconst pointOnLine = new Vector3();\n\t\tconst point = new Vector3();\n\n\t\t_ray.distanceSqToSegment( _line.start, _line.end, point, pointOnLine );\n\t\tconst isInside = point.distanceTo( pointOnLine ) < _lineWidth * 0.5;\n\n\t\tif ( isInside ) {\n\n\t\t\tintersects.push( {\n\t\t\t\tpoint,\n\t\t\t\tpointOnLine,\n\t\t\t\tdistance: _ray.origin.distanceTo( point ),\n\t\t\t\tobject: lineSegments,\n\t\t\t\tface: null,\n\t\t\t\tfaceIndex: i,\n\t\t\t\tuv: null,\n\t\t\t\tuv1: null,\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n}\n\nfunction raycastScreenSpace( lineSegments, camera, intersects ) {\n\n\tconst projectionMatrix = camera.projectionMatrix;\n\tconst material = lineSegments.material;\n\tconst resolution = material.resolution;\n\tconst matrixWorld = lineSegments.matrixWorld;\n\n\tconst geometry = lineSegments.geometry;\n\tconst instanceStart = geometry.attributes.instanceStart;\n\tconst instanceEnd = geometry.attributes.instanceEnd;\n\tconst segmentCount = Math.min( geometry.instanceCount, instanceStart.count );\n\n\tconst near = - camera.near;\n\n\t//\n\n\t// pick a point 1 unit out along the ray to avoid the ray origin\n\t// sitting at the camera origin which will cause \"w\" to be 0 when\n\t// applying the projection matrix.\n\t_ray.at( 1, _ssOrigin );\n\n\t// ndc space [ - 1.0, 1.0 ]\n\t_ssOrigin.w = 1;\n\t_ssOrigin.applyMatrix4( camera.matrixWorldInverse );\n\t_ssOrigin.applyMatrix4( projectionMatrix );\n\t_ssOrigin.multiplyScalar( 1 / _ssOrigin.w );\n\n\t// screen space\n\t_ssOrigin.x *= resolution.x / 2;\n\t_ssOrigin.y *= resolution.y / 2;\n\t_ssOrigin.z = 0;\n\n\t_ssOrigin3.copy( _ssOrigin );\n\n\t_mvMatrix.multiplyMatrices( camera.matrixWorldInverse, matrixWorld );\n\n\tfor ( let i = 0, l = segmentCount; i < l; i ++ ) {\n\n\t\t_start4.fromBufferAttribute( instanceStart, i );\n\t\t_end4.fromBufferAttribute( instanceEnd, i );\n\n\t\t_start4.w = 1;\n\t\t_end4.w = 1;\n\n\t\t// camera space\n\t\t_start4.applyMatrix4( _mvMatrix );\n\t\t_end4.applyMatrix4( _mvMatrix );\n\n\t\t// skip the segment if it's entirely behind the camera\n\t\tconst isBehindCameraNear = _start4.z > near && _end4.z > near;\n\t\tif ( isBehindCameraNear ) {\n\n\t\t\tcontinue;\n\n\t\t}\n\n\t\t// trim the segment if it extends behind camera near\n\t\tif ( _start4.z > near ) {\n\n\t\t\tconst deltaDist = _start4.z - _end4.z;\n\t\t\tconst t = ( _start4.z - near ) / deltaDist;\n\t\t\t_start4.lerp( _end4, t );\n\n\t\t} else if ( _end4.z > near ) {\n\n\t\t\tconst deltaDist = _end4.z - _start4.z;\n\t\t\tconst t = ( _end4.z - near ) / deltaDist;\n\t\t\t_end4.lerp( _start4, t );\n\n\t\t}\n\n\t\t// clip space\n\t\t_start4.applyMatrix4( projectionMatrix );\n\t\t_end4.applyMatrix4( projectionMatrix );\n\n\t\t// ndc space [ - 1.0, 1.0 ]\n\t\t_start4.multiplyScalar( 1 / _start4.w );\n\t\t_end4.multiplyScalar( 1 / _end4.w );\n\n\t\t// screen space\n\t\t_start4.x *= resolution.x / 2;\n\t\t_start4.y *= resolution.y / 2;\n\n\t\t_end4.x *= resolution.x / 2;\n\t\t_end4.y *= resolution.y / 2;\n\n\t\t// create 2d segment\n\t\t_line.start.copy( _start4 );\n\t\t_line.start.z = 0;\n\n\t\t_line.end.copy( _end4 );\n\t\t_line.end.z = 0;\n\n\t\t// get closest point on ray to segment\n\t\tconst param = _line.closestPointToPointParameter( _ssOrigin3, true );\n\t\t_line.at( param, _closestPoint );\n\n\t\t// check if the intersection point is within clip space\n\t\tconst zPos = MathUtils.lerp( _start4.z, _end4.z, param );\n\t\tconst isInClipSpace = zPos >= - 1 && zPos <= 1;\n\n\t\tconst isInside = _ssOrigin3.distanceTo( _closestPoint ) < _lineWidth * 0.5;\n\n\t\tif ( isInClipSpace && isInside ) {\n\n\t\t\t_line.start.fromBufferAttribute( instanceStart, i );\n\t\t\t_line.end.fromBufferAttribute( instanceEnd, i );\n\n\t\t\t_line.start.applyMatrix4( matrixWorld );\n\t\t\t_line.end.applyMatrix4( matrixWorld );\n\n\t\t\tconst pointOnLine = new Vector3();\n\t\t\tconst point = new Vector3();\n\n\t\t\t_ray.distanceSqToSegment( _line.start, _line.end, point, pointOnLine );\n\n\t\t\tintersects.push( {\n\t\t\t\tpoint: point,\n\t\t\t\tpointOnLine: pointOnLine,\n\t\t\t\tdistance: _ray.origin.distanceTo( point ),\n\t\t\t\tobject: lineSegments,\n\t\t\t\tface: null,\n\t\t\t\tfaceIndex: i,\n\t\t\t\tuv: null,\n\t\t\t\tuv1: null,\n\t\t\t} );\n\n\t\t}\n\n\t}\n\n}\n\n/**\n * A series of lines drawn between pairs of vertices.\n *\n * This adds functionality beyond {@link LineSegments}, like arbitrary line width and changing width\n * to be in world units. {@link Line2} extends this object, forming a polyline instead of individual\n * segments.\n *\n * This module can only be used with {@link WebGLRenderer}. When using {@link WebGPURenderer},\n * import the class from `lines/webgpu/LineSegments2.js`.\n *\n * ```js\n * const geometry = new LineSegmentsGeometry();\n * geometry.setPositions( positions );\n * geometry.setColors( colors );\n *\n * const material = new LineMaterial( { linewidth: 5, vertexColors: true } };\n *\n * const lineSegments = new LineSegments2( geometry, material );\n * scene.add( lineSegments );\n * ```\n *\n * @augments Mesh\n * @three_import import { LineSegments2 } from 'three/addons/lines/LineSegments2.js';\n */\nclass LineSegments2 extends Mesh {\n\n\t/**\n\t * Constructs a new wide line.\n\t *\n\t * @param {LineSegmentsGeometry} [geometry] - The line geometry.\n\t * @param {LineMaterial} [material] - The line material.\n\t */\n\tconstructor( geometry = new LineSegmentsGeometry(), material = new LineMaterial( { color: Math.random() * 0xffffff } ) ) {\n\n\t\tsuper( geometry, material );\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineSegments2 = true;\n\n\t\tthis.type = 'LineSegments2';\n\n\t}\n\n\t/**\n\t * Computes an array of distance values which are necessary for rendering dashed lines.\n\t * For each vertex in the geometry, the method calculates the cumulative length from the\n\t * current point to the very beginning of the line.\n\t *\n\t * @return {LineSegments2} A reference to this instance.\n\t */\n\tcomputeLineDistances() {\n\n\t\t// for backwards-compatibility, but could be a method of LineSegmentsGeometry...\n\n\t\tconst geometry = this.geometry;\n\n\t\tconst instanceStart = geometry.attributes.instanceStart;\n\t\tconst instanceEnd = geometry.attributes.instanceEnd;\n\t\tconst lineDistances = new Float32Array( 2 * instanceStart.count );\n\n\t\tfor ( let i = 0, j = 0, l = instanceStart.count; i < l; i ++, j += 2 ) {\n\n\t\t\t_start.fromBufferAttribute( instanceStart, i );\n\t\t\t_end.fromBufferAttribute( instanceEnd, i );\n\n\t\t\tlineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ];\n\t\t\tlineDistances[ j + 1 ] = lineDistances[ j ] + _start.distanceTo( _end );\n\n\t\t}\n\n\t\tconst instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1\n\n\t\tgeometry.setAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0\n\t\tgeometry.setAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Computes intersection points between a casted ray and this instance.\n\t *\n\t * @param {Raycaster} raycaster - The raycaster.\n\t * @param {Array<Object>} intersects - The target array that holds the intersection points.\n\t */\n\traycast( raycaster, intersects ) {\n\n\t\tconst worldUnits = this.material.worldUnits;\n\t\tconst camera = raycaster.camera;\n\n\t\tif ( camera === null && ! worldUnits ) {\n\n\t\t\tconsole.error( 'LineSegments2: \"Raycaster.camera\" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.' );\n\n\t\t}\n\n\t\tconst threshold = ( raycaster.params.Line2 !== undefined ) ? raycaster.params.Line2.threshold || 0 : 0;\n\n\t\t_ray = raycaster.ray;\n\n\t\tconst matrixWorld = this.matrixWorld;\n\t\tconst geometry = this.geometry;\n\t\tconst material = this.material;\n\n\t\t_lineWidth = material.linewidth + threshold;\n\n\t\t// check if we intersect the sphere bounds\n\t\tif ( geometry.boundingSphere === null ) {\n\n\t\t\tgeometry.computeBoundingSphere();\n\n\t\t}\n\n\t\t_sphere.copy( geometry.boundingSphere ).applyMatrix4( matrixWorld );\n\n\t\t// increase the sphere bounds by the worst case line screen space width\n\t\tlet sphereMargin;\n\t\tif ( worldUnits ) {\n\n\t\t\tsphereMargin = _lineWidth * 0.5;\n\n\t\t} else {\n\n\t\t\tconst distanceToSphere = Math.max( camera.near, _sphere.distanceToPoint( _ray.origin ) );\n\t\t\tsphereMargin = getWorldSpaceHalfWidth( camera, distanceToSphere, material.resolution );\n\n\t\t}\n\n\t\t_sphere.radius += sphereMargin;\n\n\t\tif ( _ray.intersectsSphere( _sphere ) === false ) {\n\n\t\t\treturn;\n\n\t\t}\n\n\t\t// check if we intersect the box bounds\n\t\tif ( geometry.boundingBox === null ) {\n\n\t\t\tgeometry.computeBoundingBox();\n\n\t\t}\n\n\t\t_box.copy( geometry.boundingBox ).applyMatrix4( matrixWorld );\n\n\t\t// increase the box bounds by the worst case line width\n\t\tlet boxMargin;\n\t\tif ( worldUnits ) {\n\n\t\t\tboxMargin = _lineWidth * 0.5;\n\n\t\t} else {\n\n\t\t\tconst distanceToBox = Math.max( camera.near, _box.distanceToPoint( _ray.origin ) );\n\t\t\tboxMargin = getWorldSpaceHalfWidth( camera, distanceToBox, material.resolution );\n\n\t\t}\n\n\t\t_box.expandByScalar( boxMargin );\n\n\t\tif ( _ray.intersectsBox( _box ) === false ) {\n\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( worldUnits ) {\n\n\t\t\traycastWorldUnits( this, intersects );\n\n\t\t} else {\n\n\t\t\traycastScreenSpace( this, camera, intersects );\n\n\t\t}\n\n\t}\n\n\tonBeforeRender( renderer ) {\n\n\t\tconst uniforms = this.material.uniforms;\n\n\t\tif ( uniforms && uniforms.resolution ) {\n\n\t\t\trenderer.getViewport( _viewport );\n\t\t\tthis.material.uniforms.resolution.value.set( _viewport.z, _viewport.w );\n\n\t\t}\n\n\t}\n\n}\n\nexport { LineSegments2 };\n"],"names":["_viewport","Vector4","_start","Vector3","_end","_start4","_end4","_ssOrigin","_ssOrigin3","_mvMatrix","Matrix4","_line","Line3","_closestPoint","_box","Box3","_sphere","Sphere","_clipToWorldVector","_ray","_lineWidth","getWorldSpaceHalfWidth","camera","distance","resolution","set","applyMatrix4","projectionMatrix","multiplyScalar","w","x","width","y","height","projectionMatrixInverse","Math","abs","max","LineSegments2","Mesh","constructor","geometry","LineSegmentsGeometry","material","LineMaterial","color","random","super","this","isLineSegments2","type","computeLineDistances","instanceStart","attributes","instanceEnd","lineDistances","Float32Array","count","i","j","l","fromBufferAttribute","distanceTo","instanceDistanceBuffer","InstancedInterleavedBuffer","setAttribute","InterleavedBufferAttribute","raycast","raycaster","intersects","worldUnits","console","error","ray","matrixWorld","sphereMargin","boxMargin","linewidth","undefined","params","Line2","threshold","boundingSphere","computeBoundingSphere","copy","near","distanceToPoint","origin","radius","intersectsSphere","boundingBox","computeBoundingBox","expandByScalar","intersectsBox","lineSegments","min","instanceCount","start","end","pointOnLine","point","distanceSqToSegment","push","object","face","faceIndex","uv","uv1","raycastWorldUnits","segmentCount","at","matrixWorldInverse","z","multiplyMatrices","lerp","param","closestPointToPointParameter","zPos","MathUtils","isInClipSpace","isInside","raycastScreenSpace","onBeforeRender","renderer","uniforms","getViewport","value"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import"../../../build/three.module.js";import{InstancedBufferGeometry,Float32BufferAttribute,InstancedInterleavedBuffer,InterleavedBufferAttribute,WireframeGeometry,Box3,Sphere,Vector3}from"../../../build/three.core.js";const _box=new Box3,_vector=new Vector3;class LineSegmentsGeometry extends InstancedBufferGeometry{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry",this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.setAttribute("position",new Float32BufferAttribute([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.setAttribute("uv",new Float32BufferAttribute([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))}applyMatrix4(matrix){const start=this.attributes.instanceStart,end=this.attributes.instanceEnd;return void 0!==start&&(start.applyMatrix4(matrix),end.applyMatrix4(matrix),start.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}setPositions(array){let lineSegments;array instanceof Float32Array?lineSegments=array:Array.isArray(array)&&(lineSegments=new Float32Array(array));const instanceBuffer=new InstancedInterleavedBuffer(lineSegments,6,1);return this.setAttribute("instanceStart",new InterleavedBufferAttribute(instanceBuffer,3,0)),this.setAttribute("instanceEnd",new InterleavedBufferAttribute(instanceBuffer,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(array){let colors;array instanceof Float32Array?colors=array:Array.isArray(array)&&(colors=new Float32Array(array));const instanceColorBuffer=new InstancedInterleavedBuffer(colors,6,1);return this.setAttribute("instanceColorStart",new InterleavedBufferAttribute(instanceColorBuffer,3,0)),this.setAttribute("instanceColorEnd",new InterleavedBufferAttribute(instanceColorBuffer,3,3)),this}fromWireframeGeometry(geometry){return this.setPositions(geometry.attributes.position.array),this}fromEdgesGeometry(geometry){return this.setPositions(geometry.attributes.position.array),this}fromMesh(mesh){return this.fromWireframeGeometry(new WireframeGeometry(mesh.geometry)),this}fromLineSegments(lineSegments){return this.setPositions(lineSegments.geometry.attributes.position.array),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Box3);const start=this.attributes.instanceStart,end=this.attributes.instanceEnd;void 0!==start&&void 0!==end&&(this.boundingBox.setFromBufferAttribute(start),_box.setFromBufferAttribute(end),this.boundingBox.union(_box))}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Sphere),null===this.boundingBox&&this.computeBoundingBox();const start=this.attributes.instanceStart,end=this.attributes.instanceEnd;if(void 0!==start&&void 0!==end){const center=this.boundingSphere.center;this.boundingBox.getCenter(center);let maxRadiusSq=0;for(let i=0,il=start.count;i<il;i++)_vector.fromBufferAttribute(start,i),maxRadiusSq=Math.max(maxRadiusSq,center.distanceToSquared(_vector)),_vector.fromBufferAttribute(end,i),maxRadiusSq=Math.max(maxRadiusSq,center.distanceToSquared(_vector));this.boundingSphere.radius=Math.sqrt(maxRadiusSq),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}}export{LineSegmentsGeometry};
2
- //# sourceMappingURL=LineSegmentsGeometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineSegmentsGeometry.js","sources":["../../../../../../../../../../../../../node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js"],"sourcesContent":["import {\n\tBox3,\n\tFloat32BufferAttribute,\n\tInstancedBufferGeometry,\n\tInstancedInterleavedBuffer,\n\tInterleavedBufferAttribute,\n\tSphere,\n\tVector3,\n\tWireframeGeometry\n} from 'three';\n\nconst _box = new Box3();\nconst _vector = new Vector3();\n\n/**\n * A series of vertex pairs, forming line segments.\n *\n * This is used in {@link LineSegments2} to describe the shape.\n *\n * @augments InstancedBufferGeometry\n * @three_import import { LineSegmentsGeometry } from 'three/addons/lines/LineSegmentsGeometry.js';\n */\nclass LineSegmentsGeometry extends InstancedBufferGeometry {\n\n\t/**\n\t * Constructs a new line segments geometry.\n\t */\n\tconstructor() {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isLineSegmentsGeometry = true;\n\n\t\tthis.type = 'LineSegmentsGeometry';\n\n\t\tconst positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ];\n\t\tconst uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ];\n\t\tconst index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ];\n\n\t\tthis.setIndex( index );\n\t\tthis.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );\n\t\tthis.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );\n\n\t}\n\n\t/**\n\t * Applies the given 4x4 transformation matrix to the geometry.\n\t *\n\t * @param {Matrix4} matrix - The matrix to apply.\n\t * @return {LineSegmentsGeometry} A reference to this instance.\n\t */\n\tapplyMatrix4( matrix ) {\n\n\t\tconst start = this.attributes.instanceStart;\n\t\tconst end = this.attributes.instanceEnd;\n\n\t\tif ( start !== undefined ) {\n\n\t\t\tstart.applyMatrix4( matrix );\n\n\t\t\tend.applyMatrix4( matrix );\n\n\t\t\tstart.needsUpdate = true;\n\n\t\t}\n\n\t\tif ( this.boundingBox !== null ) {\n\n\t\t\tthis.computeBoundingBox();\n\n\t\t}\n\n\t\tif ( this.boundingSphere !== null ) {\n\n\t\t\tthis.computeBoundingSphere();\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the given line positions for this geometry. The length must be a multiple of six since\n\t * each line segment is defined by a start end vertex in the pattern `(xyz xyz)`.\n\t *\n\t * @param {Float32Array|Array<number>} array - The position data to set.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tsetPositions( array ) {\n\n\t\tlet lineSegments;\n\n\t\tif ( array instanceof Float32Array ) {\n\n\t\t\tlineSegments = array;\n\n\t\t} else if ( Array.isArray( array ) ) {\n\n\t\t\tlineSegments = new Float32Array( array );\n\n\t\t}\n\n\t\tconst instanceBuffer = new InstancedInterleavedBuffer( lineSegments, 6, 1 ); // xyz, xyz\n\n\t\tthis.setAttribute( 'instanceStart', new InterleavedBufferAttribute( instanceBuffer, 3, 0 ) ); // xyz\n\t\tthis.setAttribute( 'instanceEnd', new InterleavedBufferAttribute( instanceBuffer, 3, 3 ) ); // xyz\n\n\t\tthis.instanceCount = this.attributes.instanceStart.count;\n\n\t\t//\n\n\t\tthis.computeBoundingBox();\n\t\tthis.computeBoundingSphere();\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Sets the given line colors for this geometry. The length must be a multiple of six since\n\t * each line segment is defined by a start end color in the pattern `(rgb rgb)`.\n\t *\n\t * @param {Float32Array|Array<number>} array - The position data to set.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tsetColors( array ) {\n\n\t\tlet colors;\n\n\t\tif ( array instanceof Float32Array ) {\n\n\t\t\tcolors = array;\n\n\t\t} else if ( Array.isArray( array ) ) {\n\n\t\t\tcolors = new Float32Array( array );\n\n\t\t}\n\n\t\tconst instanceColorBuffer = new InstancedInterleavedBuffer( colors, 6, 1 ); // rgb, rgb\n\n\t\tthis.setAttribute( 'instanceColorStart', new InterleavedBufferAttribute( instanceColorBuffer, 3, 0 ) ); // rgb\n\t\tthis.setAttribute( 'instanceColorEnd', new InterleavedBufferAttribute( instanceColorBuffer, 3, 3 ) ); // rgb\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given wireframe geometry.\n\t *\n\t * @param {WireframeGeometry} geometry - The geometry that should be used as a data source for this geometry.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tfromWireframeGeometry( geometry ) {\n\n\t\tthis.setPositions( geometry.attributes.position.array );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given edges geometry.\n\t *\n\t * @param {EdgesGeometry} geometry - The geometry that should be used as a data source for this geometry.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tfromEdgesGeometry( geometry ) {\n\n\t\tthis.setPositions( geometry.attributes.position.array );\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given mesh.\n\t *\n\t * @param {Mesh} mesh - The mesh geometry that should be used as a data source for this geometry.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tfromMesh( mesh ) {\n\n\t\tthis.fromWireframeGeometry( new WireframeGeometry( mesh.geometry ) );\n\n\t\t// set colors, maybe\n\n\t\treturn this;\n\n\t}\n\n\t/**\n\t * Setups this line segments geometry from the given line segments.\n\t *\n\t * @param {LineSegments} lineSegments - The line segments that should be used as a data source for this geometry.\n\t * Assumes the source geometry is not using indices.\n\t * @return {LineSegmentsGeometry} A reference to this geometry.\n\t */\n\tfromLineSegments( lineSegments ) {\n\n\t\tconst geometry = lineSegments.geometry;\n\n\t\tthis.setPositions( geometry.attributes.position.array ); // assumes non-indexed\n\n\t\t// set colors, maybe\n\n\t\treturn this;\n\n\t}\n\n\tcomputeBoundingBox() {\n\n\t\tif ( this.boundingBox === null ) {\n\n\t\t\tthis.boundingBox = new Box3();\n\n\t\t}\n\n\t\tconst start = this.attributes.instanceStart;\n\t\tconst end = this.attributes.instanceEnd;\n\n\t\tif ( start !== undefined && end !== undefined ) {\n\n\t\t\tthis.boundingBox.setFromBufferAttribute( start );\n\n\t\t\t_box.setFromBufferAttribute( end );\n\n\t\t\tthis.boundingBox.union( _box );\n\n\t\t}\n\n\t}\n\n\tcomputeBoundingSphere() {\n\n\t\tif ( this.boundingSphere === null ) {\n\n\t\t\tthis.boundingSphere = new Sphere();\n\n\t\t}\n\n\t\tif ( this.boundingBox === null ) {\n\n\t\t\tthis.computeBoundingBox();\n\n\t\t}\n\n\t\tconst start = this.attributes.instanceStart;\n\t\tconst end = this.attributes.instanceEnd;\n\n\t\tif ( start !== undefined && end !== undefined ) {\n\n\t\t\tconst center = this.boundingSphere.center;\n\n\t\t\tthis.boundingBox.getCenter( center );\n\n\t\t\tlet maxRadiusSq = 0;\n\n\t\t\tfor ( let i = 0, il = start.count; i < il; i ++ ) {\n\n\t\t\t\t_vector.fromBufferAttribute( start, i );\n\t\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector ) );\n\n\t\t\t\t_vector.fromBufferAttribute( end, i );\n\t\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector ) );\n\n\t\t\t}\n\n\t\t\tthis.boundingSphere.radius = Math.sqrt( maxRadiusSq );\n\n\t\t\tif ( isNaN( this.boundingSphere.radius ) ) {\n\n\t\t\t\tconsole.error( 'THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.', this );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON() {\n\n\t\t// todo\n\n\t}\n\n}\n\nexport { LineSegmentsGeometry };\n"],"names":["_box","Box3","_vector","Vector3","LineSegmentsGeometry","InstancedBufferGeometry","constructor","super","this","isLineSegmentsGeometry","type","setIndex","setAttribute","Float32BufferAttribute","applyMatrix4","matrix","start","attributes","instanceStart","end","instanceEnd","undefined","needsUpdate","boundingBox","computeBoundingBox","boundingSphere","computeBoundingSphere","setPositions","array","lineSegments","Float32Array","Array","isArray","instanceBuffer","InstancedInterleavedBuffer","InterleavedBufferAttribute","instanceCount","count","setColors","colors","instanceColorBuffer","fromWireframeGeometry","geometry","position","fromEdgesGeometry","fromMesh","mesh","WireframeGeometry","fromLineSegments","setFromBufferAttribute","union","Sphere","center","getCenter","maxRadiusSq","i","il","fromBufferAttribute","Math","max","distanceToSquared","radius","sqrt","isNaN","console","error","toJSON"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import"../../../build/three.module.js";import{Loader,FileLoader,SRGBColorSpace,LinearSRGBColorSpace,BufferGeometry,BufferAttribute,InterleavedBuffer,Color,ColorManagement,InterleavedBufferAttribute}from"../../../build/three.core.js";const _taskCache=new WeakMap;class DRACOLoader extends Loader{constructor(manager){super(manager),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(path){return this.decoderPath=path,this}setDecoderConfig(config){return this.decoderConfig=config,this}setWorkerLimit(workerLimit){return this.workerLimit=workerLimit,this}load(url,onLoad,onProgress,onError){const loader=new FileLoader(this.manager);loader.setPath(this.path),loader.setResponseType("arraybuffer"),loader.setRequestHeader(this.requestHeader),loader.setWithCredentials(this.withCredentials),loader.load(url,buffer=>{this.parse(buffer,onLoad,onError)},onProgress,onError)}parse(buffer,onLoad,onError=()=>{}){this.decodeDracoFile(buffer,onLoad,null,null,SRGBColorSpace,onError).catch(onError)}decodeDracoFile(buffer,callback,attributeIDs,attributeTypes,vertexColorSpace=LinearSRGBColorSpace,onError=()=>{}){return this.decodeGeometry(buffer,{attributeIDs:attributeIDs||this.defaultAttributeIDs,attributeTypes:attributeTypes||this.defaultAttributeTypes,useUniqueIDs:!!attributeIDs,vertexColorSpace:vertexColorSpace}).then(callback).catch(onError)}decodeGeometry(buffer,taskConfig){const taskKey=JSON.stringify(taskConfig);if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);if(cachedTask.key===taskKey)return cachedTask.promise;if(0===buffer.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let worker;const taskID=this.workerNextTaskID++,geometryPending=this._getWorker(taskID,buffer.byteLength).then(_worker=>(worker=_worker,new Promise((resolve,reject)=>{worker._callbacks[taskID]={resolve:resolve,reject:reject},worker.postMessage({type:"decode",id:taskID,taskConfig:taskConfig,buffer:buffer},[buffer])}))).then(message=>this._createGeometry(message.geometry));return geometryPending.catch(()=>!0).then(()=>{worker&&taskID&&this._releaseTask(worker,taskID)}),_taskCache.set(buffer,{key:taskKey,promise:geometryPending}),geometryPending}_createGeometry(geometryData){const geometry=new BufferGeometry;geometryData.index&&geometry.setIndex(new BufferAttribute(geometryData.index.array,1));for(let i=0;i<geometryData.attributes.length;i++){const{name:name,array:array,itemSize:itemSize,stride:stride,vertexColorSpace:vertexColorSpace}=geometryData.attributes[i];let attribute;if(itemSize===stride)attribute=new BufferAttribute(array,itemSize);else{const buffer=new InterleavedBuffer(array,stride);attribute=new InterleavedBufferAttribute(buffer,itemSize,0)}"color"===name&&(this._assignVertexColorSpace(attribute,vertexColorSpace),attribute.normalized=array instanceof Float32Array==0),geometry.setAttribute(name,attribute)}return geometry}_assignVertexColorSpace(attribute,inputColorSpace){if(inputColorSpace!==SRGBColorSpace)return;const _color=new Color;for(let i=0,il=attribute.count;i<il;i++)_color.fromBufferAttribute(attribute,i),ColorManagement.colorSpaceToWorking(_color,SRGBColorSpace),attribute.setXYZ(i,_color.r,_color.g,_color.b)}_loadLibrary(url,responseType){const loader=new FileLoader(this.manager);return loader.setPath(this.decoderPath),loader.setResponseType(responseType),loader.setWithCredentials(this.withCredentials),new Promise((resolve,reject)=>{loader.load(url,resolve,void 0,reject)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const useJS="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,librariesPending=[];return useJS?librariesPending.push(this._loadLibrary("draco_decoder.js","text")):(librariesPending.push(this._loadLibrary("draco_wasm_wrapper.js","text")),librariesPending.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(librariesPending).then(libraries=>{const jsContent=libraries[0];useJS||(this.decoderConfig.wasmBinary=libraries[1]);const fn=DRACOWorker.toString(),body=["/* draco decoder */",jsContent,"","/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]))}),this.decoderPending}_getWorker(taskID,taskCost){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const worker=new Worker(this.workerSourceURL);worker._callbacks={},worker._taskCosts={},worker._taskLoad=0,worker.postMessage({type:"init",decoderConfig:this.decoderConfig}),worker.onmessage=function(e){const message=e.data;switch(message.type){case"decode":worker._callbacks[message.id].resolve(message);break;case"error":worker._callbacks[message.id].reject(message);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+message.type+'"')}},this.workerPool.push(worker)}else this.workerPool.sort(function(a,b){return a._taskLoad>b._taskLoad?-1:1});const worker=this.workerPool[this.workerPool.length-1];return worker._taskCosts[taskID]=taskCost,worker._taskLoad+=taskCost,worker})}_releaseTask(worker,taskID){worker._taskLoad-=worker._taskCosts[taskID],delete worker._callbacks[taskID],delete worker._taskCosts[taskID]}debug(){console.log("Task load: ",this.workerPool.map(worker=>worker._taskLoad))}dispose(){for(let i=0;i<this.workerPool.length;++i)this.workerPool[i].terminate();return this.workerPool.length=0,""!==this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),this}}function DRACOWorker(){let decoderConfig,decoderPending;function decodeAttribute(draco,decoder,dracoGeometry,attributeName,TypedArray,attribute){const count=dracoGeometry.num_points(),itemSize=attribute.num_components(),dracoDataType=function(draco,TypedArray){switch(TypedArray){case Float32Array:return draco.DT_FLOAT32;case Int8Array:return draco.DT_INT8;case Int16Array:return draco.DT_INT16;case Int32Array:return draco.DT_INT32;case Uint8Array:return draco.DT_UINT8;case Uint16Array:return draco.DT_UINT16;case Uint32Array:return draco.DT_UINT32}}(draco,TypedArray),srcByteStride=itemSize*TypedArray.BYTES_PER_ELEMENT,dstByteStride=4*Math.ceil(srcByteStride/4),dstStride=dstByteStride/TypedArray.BYTES_PER_ELEMENT,srcByteLength=count*srcByteStride,dstByteLength=count*dstByteStride,ptr=draco._malloc(srcByteLength);decoder.GetAttributeDataArrayForAllPoints(dracoGeometry,attribute,dracoDataType,srcByteLength,ptr);const srcArray=new TypedArray(draco.HEAPF32.buffer,ptr,srcByteLength/TypedArray.BYTES_PER_ELEMENT);let dstArray;if(srcByteStride===dstByteStride)dstArray=srcArray.slice();else{dstArray=new TypedArray(dstByteLength/TypedArray.BYTES_PER_ELEMENT);let dstOffset=0;for(let i=0,il=srcArray.length;i<il;i++){for(let j=0;j<itemSize;j++)dstArray[dstOffset+j]=srcArray[i*itemSize+j];dstOffset+=dstStride}}return draco._free(ptr),{name:attributeName,count:count,itemSize:itemSize,array:dstArray,stride:dstStride}}onmessage=function(e){const message=e.data;switch(message.type){case"init":decoderConfig=message.decoderConfig,decoderPending=new Promise(function(resolve){decoderConfig.onModuleLoaded=function(draco){resolve({draco:draco})},DracoDecoderModule(decoderConfig)});break;case"decode":const buffer=message.buffer,taskConfig=message.taskConfig;decoderPending.then(module=>{const draco=module.draco,decoder=new draco.Decoder;try{const geometry=function(draco,decoder,array,taskConfig){const attributeIDs=taskConfig.attributeIDs,attributeTypes=taskConfig.attributeTypes;let dracoGeometry,decodingStatus;const geometryType=decoder.GetEncodedGeometryType(array);if(geometryType===draco.TRIANGULAR_MESH)dracoGeometry=new draco.Mesh,decodingStatus=decoder.DecodeArrayToMesh(array,array.byteLength,dracoGeometry);else{if(geometryType!==draco.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");dracoGeometry=new draco.PointCloud,decodingStatus=decoder.DecodeArrayToPointCloud(array,array.byteLength,dracoGeometry)}if(!decodingStatus.ok()||0===dracoGeometry.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+decodingStatus.error_msg());const geometry={index:null,attributes:[]};for(const attributeName in attributeIDs){const attributeType=self[attributeTypes[attributeName]];let attribute,attributeID;if(taskConfig.useUniqueIDs)attributeID=attributeIDs[attributeName],attribute=decoder.GetAttributeByUniqueId(dracoGeometry,attributeID);else{if(attributeID=decoder.GetAttributeId(dracoGeometry,draco[attributeIDs[attributeName]]),-1===attributeID)continue;attribute=decoder.GetAttribute(dracoGeometry,attributeID)}const attributeResult=decodeAttribute(draco,decoder,dracoGeometry,attributeName,attributeType,attribute);"color"===attributeName&&(attributeResult.vertexColorSpace=taskConfig.vertexColorSpace),geometry.attributes.push(attributeResult)}return geometryType===draco.TRIANGULAR_MESH&&(geometry.index=function(draco,decoder,dracoGeometry){const numIndices=3*dracoGeometry.num_faces(),byteLength=4*numIndices,ptr=draco._malloc(byteLength);decoder.GetTrianglesUInt32Array(dracoGeometry,byteLength,ptr);const index=new Uint32Array(draco.HEAPF32.buffer,ptr,numIndices).slice();return draco._free(ptr),{array:index,itemSize:1}}(draco,decoder,dracoGeometry)),draco.destroy(dracoGeometry),geometry}(draco,decoder,new Int8Array(buffer),taskConfig),buffers=geometry.attributes.map(attr=>attr.array.buffer);geometry.index&&buffers.push(geometry.index.array.buffer),self.postMessage({type:"decode",id:message.id,geometry:geometry},buffers)}catch(error){console.error(error),self.postMessage({type:"error",id:message.id,error:error.message})}finally{draco.destroy(decoder)}})}}}export{DRACOLoader};
2
- //# sourceMappingURL=DRACOLoader.js.map