@mml-io/3d-web-client-core 0.0.0-experimental-ad4b20a-20240208 → 0.0.0-experimental-8ac7fdd-20240221

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.
@@ -24,6 +24,7 @@ export declare class CollisionsManager {
24
24
  private tempSegment2;
25
25
  collisionMeshState: Map<Group, CollisionMeshState>;
26
26
  private collisionTrigger;
27
+ private previouslyCollidingElements;
27
28
  constructor(scene: Scene);
28
29
  raycastFirst(ray: Ray): [number, Vector3, CollisionMeshState] | null;
29
30
  private createCollisionMeshState;
package/build/index.js CHANGED
@@ -4943,13 +4943,10 @@ var CollisionsManager = class {
4943
4943
  return collisionPosition;
4944
4944
  }
4945
4945
  applyColliders(tempSegment, radius) {
4946
- let collidedElements = null;
4946
+ const collidedElements = /* @__PURE__ */ new Map();
4947
4947
  for (const meshState of this.collisionMeshState.values()) {
4948
4948
  const collisionPosition = this.applyCollider(tempSegment, radius, meshState);
4949
4949
  if (collisionPosition && meshState.trackCollisions) {
4950
- if (collidedElements === null) {
4951
- collidedElements = /* @__PURE__ */ new Map();
4952
- }
4953
4950
  const relativePosition = getRelativePositionAndRotationRelativeToObject(
4954
4951
  {
4955
4952
  position: collisionPosition,
@@ -4962,7 +4959,16 @@ var CollisionsManager = class {
4962
4959
  });
4963
4960
  }
4964
4961
  }
4965
- this.collisionTrigger.setCurrentCollisions(collidedElements);
4962
+ const reportedCollidingElements = new Map(collidedElements);
4963
+ if (this.previouslyCollidingElements) {
4964
+ for (const [element, position] of this.previouslyCollidingElements) {
4965
+ if (!reportedCollidingElements.has(element)) {
4966
+ reportedCollidingElements.set(element, position);
4967
+ }
4968
+ }
4969
+ }
4970
+ this.previouslyCollidingElements = collidedElements;
4971
+ this.collisionTrigger.setCurrentCollisions(reportedCollidingElements);
4966
4972
  }
4967
4973
  };
4968
4974
  export {