@woosh/meep-engine 2.33.23 → 2.33.27

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 (302) hide show
  1. package/core/binary/BitSet.js +151 -167
  2. package/core/binary/BitSet.spec.js +99 -1
  3. package/core/binary/ValidatingBitSetWrapper.js +81 -0
  4. package/core/bvh2/BinaryNode.js +1 -1
  5. package/core/bvh2/aabb3/AABB3.js +21 -10
  6. package/core/bvh2/aabb3/AABB3Math.js +1 -1
  7. package/core/bvh2/binary/2/BinaryUint32BVH.js +498 -0
  8. package/core/bvh2/binary/2/BinaryUint32BVH.spec.js +54 -0
  9. package/core/bvh2/binary/IndexedBinaryBVH.js +22 -26
  10. package/core/bvh2/traversal/ThreeClippingPlaneComputingBVHVisitor.js +5 -1
  11. package/core/bvh2/traversal/__detailed_box_volume_intersection.js +22 -5
  12. package/core/cache/Cache.d.ts +4 -2
  13. package/core/cache/Cache.js +5 -2
  14. package/core/collection/ArrayUtils.js +1 -1
  15. package/core/collection/HashMap.d.ts +9 -2
  16. package/core/collection/HashSet.d.ts +7 -2
  17. package/core/collection/HashSet.js +7 -2
  18. package/core/collection/array/arrayQuickSort.js +9 -6
  19. package/core/collection/array/array_swap.js +22 -0
  20. package/core/collection/array/binarySearchHighIndex.js +1 -1
  21. package/core/collection/array/computeHashArray.js +22 -0
  22. package/core/collection/array/computeHashIntegerArray.js +15 -0
  23. package/core/collection/array/copyArray.js +2 -2
  24. package/core/collection/array/typed/typed_array_copy.js +1 -1
  25. package/core/collection/table/DataType2TypedArrayConstructorMapping.js +15 -0
  26. package/core/color/Color.js +2 -1
  27. package/core/function/FunctionCompiler.js +2 -1
  28. package/core/geom/3d/aabb/aabb3_computeDistanceAbovePlane.js +9 -33
  29. package/core/geom/3d/frustum/array_setFromProjectionMatrix.js +3 -3
  30. package/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +1 -1
  31. package/core/geom/3d/line/line3_computeSegmentPointDistance_sqr.js +41 -0
  32. package/core/geom/3d/morton/mortonEncode_magicbits.js +2 -1
  33. package/core/geom/3d/morton/reinterpret_float32_as_int32.js +13 -0
  34. package/core/geom/3d/morton/v3_morton_encode_transformed.js +33 -0
  35. package/core/geom/3d/normal/hemioct/unit_hemioct.spec.js +1 -1
  36. package/core/geom/3d/ray/ray_computeNearestPointToPoint.js +37 -0
  37. package/core/geom/3d/shape/AbstractShape3D.js +65 -0
  38. package/core/geom/3d/shape/TransformedShape3D.js +181 -0
  39. package/core/geom/3d/shape/TransformedShape3D.spec.js +33 -0
  40. package/core/geom/3d/shape/UnionShape3D.js +255 -0
  41. package/core/geom/3d/shape/UnitCubeShape3D.js +101 -0
  42. package/core/geom/3d/shape/UnitCubeShape3D.spec.js +42 -0
  43. package/core/geom/3d/shape/UnitSphereShape3D.js +55 -0
  44. package/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js +48 -0
  45. package/core/geom/3d/shape/util/shape_to_visual_entity.js +159 -0
  46. package/core/geom/AABB2.js +1 -1
  47. package/core/geom/ConicRay.js +3 -1
  48. package/core/geom/LineSegment.js +0 -78
  49. package/core/geom/Matrix4.js +7 -8
  50. package/core/geom/Rectangle.js +2 -1
  51. package/core/geom/Vector1.js +1 -1
  52. package/core/geom/Vector3.js +2 -1
  53. package/core/geom/Vector4.js +2 -1
  54. package/core/geom/random/randomPointInBox.js +7 -3
  55. package/core/geom/random/randomPointInPoint.js +6 -3
  56. package/core/geom/random/randomPointInSphere.js +9 -5
  57. package/core/geom/random/randomPointOnBox.js +7 -3
  58. package/core/geom/random/randomPointOnSphere.js +6 -3
  59. package/core/geom/v3_length.js +8 -3
  60. package/core/graph/graph_k_means_cluster.js +1 -1
  61. package/core/json/resolvePathByArray.js +2 -2
  62. package/core/math/MathUtils.js +0 -354
  63. package/core/math/MathUtils.spec.js +7 -1
  64. package/core/math/gaussian.js +9 -0
  65. package/core/math/hash/computeHashFloat.js +17 -0
  66. package/core/math/hash/computeHashFloatArray.js +34 -0
  67. package/core/math/hash/computeObjectHash.js +54 -0
  68. package/core/math/intersects1D.js +19 -0
  69. package/core/math/interval/NumericInterval.js +2 -2
  70. package/core/math/isValueBetween.js +10 -0
  71. package/core/math/isValueBetweenInclusive.js +10 -0
  72. package/core/math/noise/curl_noise_3dt.js +1 -1
  73. package/core/math/noise/sdnoise.js +10 -10
  74. package/core/math/overlap1D.js +19 -0
  75. package/core/math/pingpong.js +17 -0
  76. package/core/math/random/makeRangedRandom.js +19 -0
  77. package/core/math/random/randomFloatBetween.js +14 -0
  78. package/core/math/random/randomFromArray.js +19 -0
  79. package/core/math/random/randomGaussian.js +15 -0
  80. package/core/math/random/randomIntegerBetween.js +14 -0
  81. package/core/math/random/roundFair.js +15 -0
  82. package/core/math/separation1D.js +21 -0
  83. package/core/math/solveQuadratic.js +25 -0
  84. package/core/model/BoundedValue.js +1 -1
  85. package/core/model/node-graph/node/NodeInstancePortReference.js +1 -1
  86. package/core/model/node-graph/node/Port.js +1 -1
  87. package/core/model/reactive/evaluation/MultiPredicateEvaluator.spec.js +3 -1
  88. package/core/model/reactive/model/ReactiveBinaryExpression.js +1 -1
  89. package/core/model/reactive/model/terminal/ReactiveLiteralNumber.js +1 -1
  90. package/core/model/reactive/model/terminal/ReactiveReference.js +1 -1
  91. package/core/model/reactive/model/util/createRandomReactiveExpression.js +1 -1
  92. package/core/model/stat/LinearModifier.js +1 -1
  93. package/core/parser/simple/Token.d.ts +13 -0
  94. package/core/parser/simple/Token.js +61 -27
  95. package/{engine/graphics/render/forward_plus/materials → core/primitives/strings}/insert_after.js +3 -0
  96. package/core/primitives/strings/insert_after_or_replace.js +27 -0
  97. package/editor/process/symbolic/makeHelperBoxGeometry.js +44 -0
  98. package/editor/tools/FoliagePaintTool.js +4 -4
  99. package/editor/view/ecs/EntityEditor.js +2 -2
  100. package/editor/view/ecs/components/particles/ParticleEmitterController.js +2 -2
  101. package/engine/EngineHarness.js +1 -0
  102. package/engine/animation/AnimationUtils.js +5 -5
  103. package/engine/animation/curve/AnimationCurve.js +72 -0
  104. package/engine/animation/curve/Keyframe.js +27 -0
  105. package/engine/animation/keyed2/AnimationTrack.js +27 -3
  106. package/engine/asset/Asset.js +1 -1
  107. package/engine/asset/loaders/GLTFAssetLoader.d.ts +1 -1
  108. package/engine/asset/loaders/GLTFAssetLoader.js +62 -1
  109. package/engine/asset/loaders/image/ImageDecoderWorker.js +4 -3
  110. package/engine/asset/loaders/image/ImageRGBADataAsset.js +10 -2
  111. package/engine/asset/loaders/image/ImageRGBADataLoader.js +3 -3
  112. package/engine/asset/loaders/image/codec/NativeImageDecoder.js +2 -1
  113. package/engine/asset/loaders/image/png/PNG.js +113 -6
  114. package/engine/asset/loaders/image/png/PNGReader.js +5 -0
  115. package/engine/asset/loaders/material/bitmap2sampler_gl.js +1 -1
  116. package/engine/asset/loaders/material/computeImageBitmapEquality.js +6 -1
  117. package/engine/asset/loaders/material/computeMaterialHash.js +3 -1
  118. package/engine/asset/loaders/material/computeTextureEquality.js +40 -49
  119. package/engine/asset/loaders/material/computeTextureHash.js +2 -1
  120. package/engine/ecs/EntityBuilder.js +25 -5
  121. package/engine/ecs/EntityComponentDataset.js +1 -1
  122. package/engine/ecs/animation/Animation.js +2 -1
  123. package/engine/ecs/animation/InverseKinematics.js +2 -1
  124. package/engine/ecs/attachment/AttachmentBinding.js +8 -0
  125. package/engine/ecs/attachment/AttachmentSystem.js +4 -0
  126. package/engine/ecs/attachment/TransformAttachmentBinding.js +14 -44
  127. package/engine/ecs/components/Tag.js +27 -6
  128. package/engine/ecs/dynamic_actions/DynamicActorSystem.js +2 -1
  129. package/engine/ecs/dynamic_actions/DynamicRuleDescriptionTable.spec.js +3 -5
  130. package/engine/ecs/dynamic_actions/actions/definition/WeightedRandomActionDescription.js +1 -1
  131. package/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +1 -1
  132. package/engine/ecs/foliage/InstancedFoliage.js +277 -266
  133. package/engine/ecs/foliage/ecs/Foliage2System.js +7 -7
  134. package/engine/ecs/foliage/ecs/InstancedMeshComponent.js +37 -0
  135. package/engine/ecs/foliage/ecs/{Foliage2.js → InstancedMeshLayer.js} +3 -45
  136. package/engine/ecs/foliage/ecs/InstancedMeshSerializationAdapter.js +6 -5
  137. package/engine/ecs/foliage/ecs/InstancedMeshUtils.js +7 -6
  138. package/engine/ecs/fow/FogOfWar.js +4 -0
  139. package/engine/ecs/fow/FogOfWarSystem.js +2 -0
  140. package/engine/ecs/fow/shader/FogOfWarRenderer.js +1 -1
  141. package/engine/ecs/gui/GUIElement.js +1 -1
  142. package/engine/ecs/gui/hud/HeadsUpDisplay.js +1 -1
  143. package/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +2 -0
  144. package/engine/ecs/gui/position/ViewportPosition.js +2 -1
  145. package/engine/ecs/storage/binary/BinarySerializationRegistry.js +1 -1
  146. package/engine/ecs/system/AbstractContextSystem.js +1 -1
  147. package/engine/ecs/systems/RangedAttackSystem.js +1 -1
  148. package/engine/ecs/systems/SteeringSystem.js +1 -1
  149. package/engine/ecs/systems/TagSystem.js +17 -0
  150. package/engine/ecs/terrain/ecs/layers/TerrainLayer.js +12 -16
  151. package/engine/ecs/terrain/tiles/TerrainTileManager.js +1 -1
  152. package/engine/ecs/tooltip/TooltipComponent.js +15 -0
  153. package/engine/ecs/transform/Transform.js +19 -6
  154. package/engine/graphics/GraphicsEngine.js +11 -6
  155. package/engine/graphics/composit/CompositLayer.js +17 -4
  156. package/engine/graphics/composit/CompositingStages.js +8 -0
  157. package/engine/graphics/composit/LayerCompositer.js +35 -6
  158. package/engine/graphics/ecs/animation/animator/AnimationClip.js +2 -1
  159. package/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +2 -1
  160. package/engine/graphics/ecs/animation/animator/AnimationNotification.js +2 -1
  161. package/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +2 -1
  162. package/engine/graphics/ecs/animation/animator/graph/AnimationGraph.js +2 -1
  163. package/engine/graphics/ecs/animation/animator/graph/definition/AnimationGraphDefinition.js +2 -1
  164. package/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +1 -1
  165. package/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +2 -1
  166. package/engine/graphics/ecs/camera/CameraClippingPlaneComputer.js +1 -1
  167. package/engine/graphics/ecs/highlight/HighlightDefinition.js +2 -1
  168. package/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.js +11 -7
  169. package/engine/graphics/ecs/light/Light.d.ts +1 -1
  170. package/engine/graphics/ecs/light/Light.js +5 -0
  171. package/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js +5 -1
  172. package/engine/graphics/ecs/mesh/Mesh.js +2 -1
  173. package/engine/graphics/ecs/mesh-v2/DrawMode.js +5 -0
  174. package/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts +13 -0
  175. package/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +32 -18
  176. package/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +6 -0
  177. package/engine/graphics/geometry/AttributeSpec.js +105 -0
  178. package/engine/graphics/{micron/format/MicronVertexDataSpec.js → geometry/VertexDataSpec.js} +56 -25
  179. package/engine/graphics/geometry/instancing/InstancedMeshGroup.js +14 -72
  180. package/engine/graphics/geometry/instancing/rewriteMaterial.js +70 -0
  181. package/engine/graphics/material/manager/MaterialManager.js +2 -1
  182. package/engine/graphics/micron/build/buildMicronGeometryFromBufferGeometry.js +7 -7
  183. package/engine/graphics/micron/build/fill_patch_geometry_data.js +1 -1
  184. package/engine/graphics/micron/buildPatchwork.js +1 -1
  185. package/engine/graphics/micron/format/MicronGeometry.js +3 -3
  186. package/engine/graphics/micron/format/serialization/MicronGeometryBinarySerializationAdapter.js +2 -2
  187. package/engine/graphics/micron/format/serialization/deserialize_attribute_spec.js +1 -1
  188. package/engine/graphics/micron/format/serialization/serialize_attribute_spec.js +1 -1
  189. package/engine/graphics/micron/render/PatchCacheKey.js +1 -1
  190. package/engine/graphics/micron/render/instanced/AttributeDataTexture.js +11 -9
  191. package/engine/graphics/micron/render/instanced/ThreeInstancedAdapter.js +0 -2
  192. package/engine/graphics/micron/render/v1/ThreeVirtualGeometryAdapter.js +1 -1
  193. package/engine/graphics/particles/ParticleEmitterLibrary.js +3 -0
  194. package/engine/graphics/particles/ecs/{ParticleEmitterSystem2.js → ParticleEmitterSystem.js} +17 -9
  195. package/engine/graphics/particles/particular/engine/ParticularEngine.js +8 -2
  196. package/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +80 -16
  197. package/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +71 -77
  198. package/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +5 -0
  199. package/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +2 -1
  200. package/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +141 -14
  201. package/engine/graphics/particles/particular/engine/emitter/ParticlePool.spec.js +8 -7
  202. package/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +1 -1
  203. package/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +8 -2
  204. package/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +2 -1
  205. package/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +1 -1
  206. package/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +1 -1
  207. package/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +24 -0
  208. package/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +262 -71
  209. package/engine/graphics/particles/particular/engine/renderers/billboard/prototypeBillboardRenderer.js +9 -9
  210. package/engine/graphics/particles/particular/engine/shader/ShaderManager.js +81 -48
  211. package/engine/graphics/particles/particular/engine/shader/debugAtlas.js +14 -0
  212. package/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +2 -5
  213. package/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +2 -6
  214. package/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +2 -7
  215. package/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +2 -5
  216. package/engine/graphics/particles/particular/engine/simulator/update_parameters.js +1 -1
  217. package/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +1 -1
  218. package/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +1 -1
  219. package/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +141 -0
  220. package/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.js +478 -0
  221. package/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.js +27 -0
  222. package/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +938 -0
  223. package/engine/graphics/particles/particular/group/Operation.js +18 -0
  224. package/engine/graphics/particles/particular/group/OperationType.js +9 -0
  225. package/engine/graphics/particles/particular/group/ParticleAttribute.js +2 -1
  226. package/engine/graphics/particles/particular/group/ParticleAttributeType.js +11 -0
  227. package/engine/graphics/particles/particular/group/ParticleDataType.js +10 -0
  228. package/engine/graphics/particles/particular/group/ParticleGroup.js +7 -245
  229. package/engine/graphics/particles/particular/group/ParticleGroup.spec.js +3 -1
  230. package/engine/graphics/particles/particular/group/ParticleSpecification.js +21 -14
  231. package/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +20 -0
  232. package/engine/graphics/particles/particular/group/optimizeCommandQueue.js +162 -0
  233. package/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +19 -0
  234. package/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js +16 -11
  235. package/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameter.js +2 -1
  236. package/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterSet.js +1 -1
  237. package/engine/graphics/render/forward_plus/LightManager.js +117 -94
  238. package/engine/graphics/render/forward_plus/PointLight.js +9 -0
  239. package/engine/graphics/render/forward_plus/PointLightData.js +1 -1
  240. package/engine/graphics/render/forward_plus/SpotLight.js +9 -0
  241. package/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +2 -2
  242. package/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.js +1 -0
  243. package/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.js +32 -0
  244. package/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.js +51 -0
  245. package/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.js +25 -0
  246. package/engine/graphics/render/forward_plus/materials/FPlusDebugMaterial.js +3 -3
  247. package/engine/graphics/render/forward_plus/materials/ForwardPlusThreeMaterial.js +1 -1
  248. package/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.js +31 -120
  249. package/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.js +35 -0
  250. package/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.js +4 -5
  251. package/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.js +1 -1
  252. package/engine/graphics/render/forward_plus/plugin/MaterialTransformer.js +10 -3
  253. package/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +594 -59
  254. package/engine/graphics/render/forward_plus/prototypeLightManager.js +208 -89
  255. package/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +8 -0
  256. package/engine/graphics/render/forward_plus/query/cube_mapping.js +38 -0
  257. package/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +86 -0
  258. package/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +74 -0
  259. package/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_objects.js +131 -0
  260. package/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +129 -0
  261. package/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +33 -0
  262. package/engine/graphics/render/forward_plus/read_frustum_corner.js +14 -0
  263. package/engine/graphics/render/forward_plus/testClusterEquality.js +22 -0
  264. package/engine/graphics/render/visibility/IncrementalDeltaSet.js +11 -0
  265. package/engine/graphics/render/visibility/hiz/prototypeHiZ.js +1 -1
  266. package/engine/graphics/shaders/TerrainShader.js +4 -5
  267. package/engine/graphics/shadows/ShadowMapRenderer.js +8 -2
  268. package/engine/graphics/texture/atlas/ManagedTextureAtlas.js +12 -1
  269. package/engine/graphics/texture/sampler/HarmonicDiffusionGrid.spec.js +1 -1
  270. package/engine/graphics/texture/sampler/SampleTraverser.js +1 -1
  271. package/engine/graphics/texture/sampler/Sampler2D.js +3 -1
  272. package/engine/graphics/texture/sampler/convertTexture2Sampler2D.js +1 -1
  273. package/engine/graphics/texture/sampler/copy_Sampler2D_channel_data.js +66 -0
  274. package/engine/graphics/texture/sampler/distanceField.spec.js +1 -1
  275. package/engine/graphics/util/composeMatrix4.js +33 -23
  276. package/engine/graphics/util/decompose_matrix_4_array.js +61 -0
  277. package/engine/grid/components/GridObstacle.js +1 -1
  278. package/engine/intelligence/behavior/ecs/BehaviorComponent.js +30 -14
  279. package/engine/intelligence/behavior/selector/WeightedElement.js +2 -1
  280. package/engine/intelligence/optimization/RandomOptimizer.js +1 -1
  281. package/engine/knowledge/database/StaticKnowledgeDataTable.js +6 -1
  282. package/engine/navigation/ecs/components/Path.js +1 -6
  283. package/engine/navigation/grid/FastBinaryHeap.spec.js +1 -1
  284. package/engine/sound/ecs/emitter/SoundEmitter.js +2 -1
  285. package/engine/sound/ecs/emitter/SoundTrack.js +2 -1
  286. package/engine/sound/material/concrete/RandomSoundMaterial.js +1 -1
  287. package/engine/ui/notification/notificationGenerator.js +1 -1
  288. package/generation/filtering/numeric/complex/CellFilterGaussianBlur.js +1 -1
  289. package/generation/grid/generation/GridTaskExecuteRuleTimes.js +2 -1
  290. package/generation/markers/actions/MarkerNodeActionSelectRandom.js +1 -1
  291. package/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +1 -1
  292. package/generation/placement/action/random/CellActionSelectRandom.js +1 -1
  293. package/generation/theme/ThemeEngine.js +1 -1
  294. package/misc/makeMaterialIconCached.js +2 -2
  295. package/package.json +1 -1
  296. package/view/elements/image/HTMLElementCacheKey.js +2 -1
  297. package/view/elements/radial/RadialText.js +2 -1
  298. package/view/minimap/gl/MinimapMarkersGL.js +6 -100
  299. package/view/minimap/gl/MinimapWorldGL.js +12 -5
  300. package/view/minimap/gl/buildMaterial.js +94 -0
  301. package/engine/graphics/micron/format/MicronGeometryBufferAttributeSpec.js +0 -71
  302. package/engine/graphics/render/forward_plus/queryBVH_Frustum.js +0 -357
@@ -161,7 +161,7 @@ function grad2(result, hash) {
161
161
  * @param {number[]} result
162
162
  * @param {number} hash
163
163
  */
164
- function grad3(result, hash,) {
164
+ function grad3(result, hash) {
165
165
  const h = hash & 15;
166
166
 
167
167
  const h3 = h * 3;
@@ -253,8 +253,8 @@ function sdnoise1(derivatives, x) {
253
253
  * F2 = 0.5*(sqrt(3.0)-1.0)
254
254
  * G2 = (3.0-Math.sqrt(3.0))/6.0
255
255
  */
256
- const F2 = .366025403;
257
- const G2 = .211324865;
256
+ const F2 = 0.3660254037844386;
257
+ const G2 = 0.21132486540518713;
258
258
 
259
259
  /** 2D simplex noise with derivatives.
260
260
  * If the last two arguments are not null, the analytic derivative
@@ -398,8 +398,8 @@ function sdnoise2(derivatives, x, y) {
398
398
  /* Skewing factors for 3D simplex grid:
399
399
  * F3 = 1/3
400
400
  * G3 = 1/6 */
401
- const F3 = .333333333;
402
- const G3 = .166666667;
401
+ const F3 = 0.3333333333333333;
402
+ const G3 = 0.16666666666666666;
403
403
 
404
404
 
405
405
  /** 3D simplex noise with derivatives.
@@ -519,9 +519,9 @@ export function sdnoise3(derivatives, x, y, z) {
519
519
  const z3 = z0 - 1.0 + G9;
520
520
 
521
521
  /* Wrap the integer indices at 256, to avoid indexing perm[] out of bounds */
522
- const ii = i % 256;
523
- const jj = j % 256;
524
- const kk = k % 256;
522
+ const ii = i & 255;
523
+ const jj = j & 255;
524
+ const kk = k & 255;
525
525
 
526
526
  /* Calculate the contribution from the four corners */
527
527
  t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0;
@@ -652,8 +652,8 @@ export function sdnoise3(derivatives, x, y, z) {
652
652
  }
653
653
 
654
654
  // The skewing and unskewing factors are hairy again for the 4D case
655
- const F4 = 0.309016994;// F4 = (Math.sqrt(5.0)-1.0)/4.0
656
- const G4 = 0.138196601; // G4 = (5.0-Math.sqrt(5.0))/20.0
655
+ const F4 = 0.30901699437494745;// F4 = (Math.sqrt(5.0)-1.0)/4.0
656
+ const G4 = 0.1381966011250105; // G4 = (5.0-Math.sqrt(5.0))/20.0
657
657
 
658
658
  /**
659
659
  * 4D simplex noise with derivatives.
@@ -0,0 +1,19 @@
1
+ import { assert } from "../assert.js";
2
+
3
+ /**
4
+ * Returns true if two 1D lines overlap, touch is not considered overlap
5
+ * Parameters are assumed to be ordered, a1 > a0, b1 > b0
6
+ * @param {Number} a0
7
+ * @param {Number} a1
8
+ * @param {Number} b0
9
+ * @param {Number} b1
10
+ * @returns {boolean}
11
+ */
12
+ export function overlap1D(a0, a1, b0, b1) {
13
+ assert.isNumber(a0, "a0");
14
+ assert.isNumber(a1, "a1");
15
+ assert.isNumber(b0, "b0");
16
+ assert.isNumber(b1, "b1");
17
+
18
+ return a1 > b0 && b1 > a0;
19
+ }
@@ -0,0 +1,17 @@
1
+ // compute euclidian modulo of m % n
2
+ // https://en.wikipedia.org/wiki/Modulo_operation
3
+ function euclideanModulo(n, m) {
4
+
5
+ return ((n % m) + m) % m;
6
+
7
+ }
8
+
9
+ /**
10
+ *
11
+ * @param {number} x
12
+ * @param {number} length
13
+ * @return {number}
14
+ */
15
+ export function pingpong(x, length = 1) {
16
+ return length - Math.abs(euclideanModulo(x, length * 2) - length);
17
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ *
3
+ * @param {function():number} random returns a number between 0 and 1
4
+ * @param {number} min
5
+ * @param {number} max
6
+ * @returns {function():number} returns number between min and max
7
+ */
8
+ export function makeRangedRandom(random, min, max) {
9
+
10
+ if (min === 0 && max === 1) {
11
+ //input already returns values in correct range
12
+ return random;
13
+ }
14
+
15
+ const scale = max - min;
16
+ return function () {
17
+ return random() * scale + min;
18
+ };
19
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ *
3
+ * @param {function} random
4
+ * @param {number} min
5
+ * @param {number} max
6
+ * @returns {number}
7
+ */
8
+ export function randomFloatBetween(random, min, max) {
9
+ const span = max - min;
10
+
11
+ const roll = random();
12
+
13
+ return roll * span + min;
14
+ }
@@ -0,0 +1,19 @@
1
+ import { assert } from "../../assert.js";
2
+ import { min2 } from "../min2.js";
3
+
4
+ /**
5
+ * @template T
6
+ * @param {function} random
7
+ * @param {T[]} array
8
+ * @returns {T}
9
+ */
10
+ export function randomFromArray(random, array) {
11
+ assert.isArray(array, 'array');
12
+ assert.isFunction(random, 'random');
13
+
14
+ const length = array.length;
15
+
16
+ const i = min2(length - 1, Math.floor(random() * length));
17
+
18
+ return array[i];
19
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a random number within a normal distribution (Bell/Gaussian curve)
3
+ * @param {int} [quality=6] controls number of "die rolls" used to approximate curve, more rolls - better approximation but higher cost of computation
4
+ * @param {function():number} random
5
+ * @returns {number} value between 0 and 1 with normal weight at 0.5
6
+ */
7
+ export function randomGaussian(random, quality = 6) {
8
+ let s = 0;
9
+
10
+ for (let i = 0; i < quality; i++) {
11
+ s += random();
12
+ }
13
+
14
+ return s / quality;
15
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Inclusive random between two boundaries, result is integer
3
+ * @param {function} random
4
+ * @param {number} min lower boundary, must be an integer
5
+ * @param {number} max upper boundary, must be an integer
6
+ * @returns {number}
7
+ */
8
+ export function randomIntegerBetween(random, min, max) {
9
+ const span = max - min;
10
+
11
+ const roll = random();
12
+
13
+ return Math.round(roll * span) + min;
14
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Performs a probabilistic rounding where a fraction is rounded up or down with probability equal to the fraction
3
+ * @param {number} number
4
+ * @param {function} random
5
+ * @returns {int}
6
+ */
7
+ export function roundFair(number, random) {
8
+ const mantissa = number % 1;
9
+ const roll = random();
10
+ if (roll < mantissa) {
11
+ return Math.ceil(number);
12
+ } else {
13
+ return Math.floor(number);
14
+ }
15
+ }
@@ -0,0 +1,21 @@
1
+ import { assert } from "../assert.js";
2
+ import { min2 } from "./min2.js";
3
+ import { max2 } from "./max2.js";
4
+
5
+ /**
6
+ * Returns a number representing overlap distance between two 1D line segments.
7
+ * Positive number indicates overlap, negative number indicates that segments do not overlap; 0 indicates that segments are touching.
8
+ * @param {Number} a0
9
+ * @param {Number} a1
10
+ * @param {Number} b0
11
+ * @param {Number} b1
12
+ * @returns {number}
13
+ */
14
+ export function separation1D(a0, a1, b0, b1) {
15
+ assert.isNumber(a0, "a0");
16
+ assert.isNumber(a1, "a1");
17
+ assert.isNumber(b0, "b0");
18
+ assert.isNumber(b1, "b1");
19
+
20
+ return min2(a1, b1) - max2(a0, b0);
21
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Return solutions for quadratic
3
+ * @param {number} a
4
+ * @param {number} b
5
+ * @param {number} c
6
+ * @returns {number[]|null}
7
+ */
8
+ export function solveQuadratic(a, b, c) {
9
+ let sol = null;
10
+ if (Math.abs(a) < 1e-6) {
11
+ if (Math.abs(b) < 1e-6) {
12
+ sol = Math.abs(c) < 1e-6 ? [0, 0] : null;
13
+ } else {
14
+ sol = [-c / b, -c / b];
15
+ }
16
+ } else {
17
+ let disc = b * b - 4 * a * c;
18
+ if (disc >= 0) {
19
+ disc = Math.sqrt(disc);
20
+ a = 2 * a;
21
+ sol = [(-b - disc) / a, (-b + disc) / a];
22
+ }
23
+ }
24
+ return sol;
25
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  import Signal from "../events/signal/Signal.js";
7
7
  import { inverseLerp } from "../math/inverseLerp.js";
8
- import { computeHashFloat } from "../math/MathUtils.js";
8
+ import { computeHashFloat } from "../math/hash/computeHashFloat.js";
9
9
 
10
10
  /**
11
11
  *
@@ -1,5 +1,5 @@
1
1
  import { assert } from "../../../assert.js";
2
- import { computeHashIntegerArray } from "../../../math/MathUtils.js";
2
+ import { computeHashIntegerArray } from "../../../collection/array/computeHashIntegerArray.js";
3
3
 
4
4
  /**
5
5
  * Reference for a port of a node instance
@@ -1,6 +1,6 @@
1
- import { computeHashIntegerArray } from "../../../math/MathUtils.js";
2
1
  import { computeStringHash } from "../../../primitives/strings/computeStringHash.js";
3
2
  import { PortDirection } from "./PortDirection.js";
3
+ import { computeHashIntegerArray } from "../../../collection/array/computeHashIntegerArray.js";
4
4
 
5
5
  export class Port {
6
6
  constructor() {
@@ -1,4 +1,3 @@
1
- import { randomFloatBetween, randomFromArray, randomIntegerBetween } from "../../../math/MathUtils.js";
2
1
  import { seededRandom } from "../../../math/random/seededRandom.js";
3
2
  import DataType from "../../../parser/simple/DataType.js";
4
3
  import { ReactiveLiteralBoolean } from "../model/terminal/ReactiveLiteralBoolean.js";
@@ -7,6 +6,9 @@ import { ReactiveLiteralString } from "../model/terminal/ReactiveLiteralString.j
7
6
  import { ReactiveReference } from "../model/terminal/ReactiveReference.js";
8
7
  import { createRandomReactiveExpression } from "../model/util/createRandomReactiveExpression.js";
9
8
  import { MultiPredicateEvaluator } from "./MultiPredicateEvaluator.js";
9
+ import { randomFromArray } from "../../../math/random/randomFromArray.js";
10
+ import { randomFloatBetween } from "../../../math/random/randomFloatBetween.js";
11
+ import { randomIntegerBetween } from "../../../math/random/randomIntegerBetween.js";
10
12
 
11
13
  test.skip('performance', () => {
12
14
  const random = seededRandom(12319);
@@ -1,6 +1,6 @@
1
1
  import { assert } from "../../../assert.js";
2
- import { computeHashIntegerArray } from "../../../math/MathUtils.js";
3
2
  import { ReactiveExpression } from "./ReactiveExpression.js";
3
+ import { computeHashIntegerArray } from "../../../collection/array/computeHashIntegerArray.js";
4
4
 
5
5
  /**
6
6
  * @extends {ReactiveExpression}
@@ -1,8 +1,8 @@
1
1
  import { assert } from "../../../../assert.js";
2
2
  import Signal from "../../../../events/signal/Signal.js";
3
- import { computeHashFloat } from "../../../../math/MathUtils.js";
4
3
  import DataType from "../../../../parser/simple/DataType.js";
5
4
  import { ReactiveExpression } from "../ReactiveExpression.js";
5
+ import { computeHashFloat } from "../../../../math/hash/computeHashFloat.js";
6
6
 
7
7
  const dummySignal = new Signal();
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { assert } from "../../../../assert.js";
2
- import { computeHashIntegerArray } from "../../../../math/MathUtils.js";
3
2
  import DataType from "../../../../parser/simple/DataType.js";
4
3
  import { computeStringHash } from "../../../../primitives/strings/computeStringHash.js";
5
4
  import { ReactiveExpression } from "../ReactiveExpression.js";
5
+ import { computeHashIntegerArray } from "../../../../collection/array/computeHashIntegerArray.js";
6
6
 
7
7
 
8
8
  /**
@@ -4,7 +4,6 @@
4
4
  * @param {ReactiveExpression} b
5
5
  * @returns {ReactiveExpression}
6
6
  */
7
- import { randomFromArray } from "../../../../math/MathUtils.js";
8
7
  import DataType from "../../../../parser/simple/DataType.js";
9
8
  import { ReactiveAdd } from "../arithmetic/ReactiveAdd.js";
10
9
  import { ReactiveDivide } from "../arithmetic/ReactiveDivide.js";
@@ -20,6 +19,7 @@ import { ReactiveAnd } from "../logic/ReactiveAnd.js";
20
19
  import { ReactiveOr } from "../logic/ReactiveOr.js";
21
20
  import { ReactiveLiteralNumber } from "../terminal/ReactiveLiteralNumber.js";
22
21
  import { ReactiveLiteralString } from "../terminal/ReactiveLiteralString.js";
22
+ import { randomFromArray } from "../../../../math/random/randomFromArray.js";
23
23
 
24
24
  /**
25
25
  *
@@ -1,5 +1,5 @@
1
1
  import { assert } from "../../assert.js";
2
- import { computeHashFloat } from "../../math/MathUtils.js";
2
+ import { computeHashFloat } from "../../math/hash/computeHashFloat.js";
3
3
 
4
4
 
5
5
  /**
@@ -0,0 +1,13 @@
1
+ export class Token<V = string, T = string> {
2
+ readonly value: V
3
+ readonly start: number
4
+ readonly end: number
5
+ readonly name: string
6
+ readonly type: T
7
+
8
+ constructor(value: V, start: number, end: number, name: string, type: T)
9
+
10
+ equals(other: Token<V, T>): boolean
11
+
12
+ hash(): number
13
+ }
@@ -1,31 +1,65 @@
1
- function Token(value, start, end, name, type) {
2
- this.value = value;
3
- this.start = start;
4
- this.end = end;
5
- this.name = name;
6
- this.type = type;
7
- }
1
+ class Token {
2
+ /**
3
+ * @template V,T
4
+ * @param {V} value
5
+ * @param {number} start
6
+ * @param {number} end
7
+ * @param {string} name
8
+ * @param {T} type
9
+ */
10
+ constructor(value, start, end, name, type) {
11
+ /**
12
+ * @readonly
13
+ * @type {V}
14
+ */
15
+ this.value = value;
16
+ /**
17
+ * Starting position in the input
18
+ * @readonly
19
+ * @type {number}
20
+ */
21
+ this.start = start;
22
+ /**
23
+ * End position in the input
24
+ * @readonly
25
+ * @type {number}
26
+ */
27
+ this.end = end;
28
+ /**
29
+ * @readonly
30
+ * @type {string}
31
+ */
32
+ this.name = name;
33
+ /**
34
+ * Token type
35
+ * @readonly
36
+ * @type {T}
37
+ */
38
+ this.type = type;
39
+ }
8
40
 
9
- /**
10
- *
11
- * @param {Token} other
12
- * @returns {boolean}
13
- */
14
- Token.prototype.equals = function (other) {
15
- return this.value === other.value &&
16
- this.start === other.start &&
17
- this.end === other.end &&
18
- this.name === other.name &&
19
- this.type === other.type
20
- ;
21
- };
41
+ /**
42
+ *
43
+ * @param {Token} other
44
+ * @returns {boolean}
45
+ */
46
+ equals(other) {
47
+ return this.value === other.value &&
48
+ this.start === other.start &&
49
+ this.end === other.end &&
50
+ this.name === other.name &&
51
+ this.type === other.type
52
+ ;
53
+ }
22
54
 
23
- /**
24
- *
25
- * @return {number}
26
- */
27
- Token.prototype.hash = function () {
28
- return 0;
29
- };
55
+ /**
56
+ *
57
+ * @return {number}
58
+ */
59
+ hash() {
60
+ // TODO make an actual hash
61
+ return 0;
62
+ }
63
+ }
30
64
 
31
65
  export default Token;
@@ -3,6 +3,7 @@
3
3
  * @param {string} source
4
4
  * @param {string} term
5
5
  * @param {string} extra
6
+ * @returns {string}
6
7
  */
7
8
  export function insert_after(source, term, extra) {
8
9
  const i = source.indexOf(term);
@@ -16,3 +17,5 @@ export function insert_after(source, term, extra) {
16
17
 
17
18
  return source.slice(0, end) + extra + source.slice(end);
18
19
  }
20
+
21
+
@@ -0,0 +1,27 @@
1
+ /**
2
+ *
3
+ * @param {string} source
4
+ * @param {string} insert_term
5
+ * @param {string} replace_term
6
+ * @param {string} value
7
+ * @returns {string}
8
+ */
9
+ export function insert_after_or_replace(source, insert_term, replace_term, value) {
10
+ const insert_term_index = source.indexOf(insert_term);
11
+
12
+ if (insert_term_index !== -1) {
13
+ const end = insert_term_index + insert_term.length;
14
+ return source.slice(0, end) + value + source.slice(end);
15
+ }
16
+
17
+ const replace_term_index = source.indexOf(replace_term);
18
+
19
+ if (replace_term_index === -1) {
20
+ // not found
21
+ console.warn(`Neither insert term '${insert_term}', nor replacement term '${replace_term}' were found in the source`, source, value);
22
+ return source;
23
+ }
24
+
25
+
26
+ return source.slice(0, replace_term_index) + value + source.slice(replace_term_index + replace_term.length);
27
+ }
@@ -0,0 +1,44 @@
1
+ import { BufferAttribute, BufferGeometry, Float32BufferAttribute } from "three";
2
+
3
+ export function makeHelperBoxGeometry(sx = 1, sy = 1, sz = 1) {
4
+
5
+ const geometry = new BufferGeometry();
6
+
7
+ const dx = sx / 2;
8
+ const dy = sy / 2;
9
+ const dz = sz / 2;
10
+
11
+ const vertices = new Float32Array([
12
+ -dx, -dy, -dz,
13
+ dx, -dy, -dz,
14
+ dx, dy, -dz,
15
+ -dx, dy, -dz,
16
+
17
+ -dx, dy, dz,
18
+ dx, dy, dz,
19
+ dx, -dy, dz,
20
+ -dx, -dy, dz
21
+ ]);
22
+
23
+ geometry.setAttribute("position", new Float32BufferAttribute(vertices, 3));
24
+
25
+ geometry.setIndex(new BufferAttribute(new Uint8Array([
26
+ 0, 1,
27
+ 1, 2,
28
+ 2, 3,
29
+ 3, 0,
30
+
31
+ 4, 5,
32
+ 5, 6,
33
+ 6, 7,
34
+ 7, 4,
35
+
36
+
37
+ 0, 7,
38
+ 1, 6,
39
+ 2, 5,
40
+ 3, 4
41
+ ]), 1, false));
42
+
43
+ return geometry;
44
+ }
@@ -6,7 +6,7 @@ import { parseHex } from "../../core/color/ColorUtils.js";
6
6
  import Vector4 from "../../core/geom/Vector4.js";
7
7
  import loadSampler2D from "../../engine/graphics/texture/sampler/loadSampler2D.js";
8
8
  import convertSampler2D2Canvas from "../../engine/graphics/texture/sampler/Sampler2D2Canvas.js";
9
- import { Foliage2 } from "../../engine/ecs/foliage/ecs/Foliage2.js";
9
+ import { InstancedMeshComponent } from "../../engine/ecs/foliage/ecs/InstancedMeshComponent.js";
10
10
 
11
11
  class FoliagePaintTool extends Tool {
12
12
  constructor() {
@@ -100,7 +100,7 @@ class FoliagePaintTool extends Tool {
100
100
 
101
101
  /**
102
102
  *
103
- * @param {Foliage2} foliage
103
+ * @param {InstancedMeshComponent} foliage
104
104
  * @param {Number} entity
105
105
  */
106
106
  function visit(foliage, entity) {
@@ -149,9 +149,9 @@ class FoliagePaintTool extends Tool {
149
149
 
150
150
  /**
151
151
  *
152
- * @type {Foliage2}
152
+ * @type {InstancedMeshComponent}
153
153
  */
154
- const foliage = entityManger.getComponent(entity, Foliage2);
154
+ const foliage = entityManger.getComponent(entity, InstancedMeshComponent);
155
155
 
156
156
 
157
157
  if (foliage === null) {
@@ -38,7 +38,7 @@ import { HeadsUpDisplayController } from "./components/HeadsUpDisplayController.
38
38
  import { BlackboardController } from "./components/BlackboardController.js";
39
39
  import { GridObstacleController } from "./components/GridObstacleController.js";
40
40
  import { AttachmentSocketsController } from "./components/sockets/AttachmentSocketsController.js";
41
- import { ParticleEmitterSystem2 } from "../../../engine/graphics/particles/ecs/ParticleEmitterSystem2.js";
41
+ import { ParticleEmitterSystem } from "../../../engine/graphics/particles/ecs/ParticleEmitterSystem.js";
42
42
 
43
43
  /**
44
44
  *
@@ -82,7 +82,7 @@ function prepareComponentFactory(factory, editor) {
82
82
  .register('ParticleEmitter', () => {
83
83
  const em = editor.engine.entityManager;
84
84
 
85
- const particleEmitterSystem = em.getSystem(ParticleEmitterSystem2);
85
+ const particleEmitterSystem = em.getSystem(ParticleEmitterSystem);
86
86
 
87
87
  return new ParticleEmitterController(particleEmitterSystem);
88
88
  })
@@ -24,7 +24,7 @@ export function enumNameByValue(value, enumerable) {
24
24
  /**
25
25
  *
26
26
  * @param {ParticleEmitter} emitter
27
- * @param {ParticleEmitterSystem2} system
27
+ * @param {ParticleEmitterSystem} system
28
28
  * @param {function} op
29
29
  * @param {*} [arg0]
30
30
  */
@@ -61,7 +61,7 @@ function applyEmitterChanges(emitter, system, op, arg0) {
61
61
  export class ParticleEmitterController extends EmptyView {
62
62
  /**
63
63
  *
64
- * @param {ParticleEmitterSystem2} particleEmitterSystem
64
+ * @param {ParticleEmitterSystem} particleEmitterSystem
65
65
  * @constructor
66
66
  */
67
67
  constructor(particleEmitterSystem) {
@@ -367,6 +367,7 @@ export class EngineHarness {
367
367
  sensitivity
368
368
  });
369
369
 
370
+ eb.add(Tag.fromJSON(['CameraController']));
370
371
  eb.add(SerializationMetadata.Transient);
371
372
 
372
373
  eb.build(ecd);
@@ -7,7 +7,7 @@ import { removeComponentsExcept } from "../ecs/util/removeComponentsExcept.js";
7
7
  import { createSound, createTimer } from "../EntityCreator.js";
8
8
  import Mesh from "../graphics/ecs/mesh/Mesh.js";
9
9
  import Trail2D, { Trail2DFlags } from "../graphics/ecs/trail2d/Trail2D.js";
10
- import { ParticleEmitterSystem2 } from "../graphics/particles/ecs/ParticleEmitterSystem2.js";
10
+ import { ParticleEmitterSystem } from "../graphics/particles/ecs/ParticleEmitterSystem.js";
11
11
  import { ParticleEmitter } from "../graphics/particles/particular/engine/emitter/ParticleEmitter.js";
12
12
  import { ParticleEmitterFlag } from "../graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js";
13
13
  import { distributeParticlesOnObject3D } from "../graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js";
@@ -137,9 +137,9 @@ export function removeEntityWithMeshParticlesEffect(
137
137
 
138
138
  /**
139
139
  *
140
- * @type {ParticleEmitterSystem2}
140
+ * @type {ParticleEmitterSystem}
141
141
  */
142
- const sPE = entityManager.getSystem(ParticleEmitterSystem2);
142
+ const sPE = entityManager.getSystem(ParticleEmitterSystem);
143
143
 
144
144
  /**
145
145
  *
@@ -214,9 +214,9 @@ export function removeEntityGenericEffect(
214
214
 
215
215
  /**
216
216
  *
217
- * @type {ParticleEmitterSystem2}
217
+ * @type {ParticleEmitterSystem}
218
218
  */
219
- const sPE = engine.entityManager.getSystem(ParticleEmitterSystem2);
219
+ const sPE = engine.entityManager.getSystem(ParticleEmitterSystem);
220
220
 
221
221
  /**
222
222
  *