From 3bf9862c512d9231cc07030c25f7014fa5f3c67f Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Sun, 12 Jul 2026 19:45:00 +0300 Subject: [PATCH] fix(): dynamicAnchor memory leak --- packages/core/src/core/Worlds/src/simple-world.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/core/src/core/Worlds/src/simple-world.ts b/packages/core/src/core/Worlds/src/simple-world.ts index e37f425d6..2b89c933b 100644 --- a/packages/core/src/core/Worlds/src/simple-world.ts +++ b/packages/core/src/core/Worlds/src/simple-world.ts @@ -73,6 +73,7 @@ export class SimpleWorld< } else { container.removeEventListener("pointerdown", this.onPointerDown); } + this._dynamicAnchor = value; } get dynamicAnchor() { @@ -234,6 +235,13 @@ export class SimpleWorld< this.enabled = false; this.isDisposing = true; + // Remove the dynamic anchoring listener before the renderer is disposed + const container = this.renderer?.three.domElement.parentElement; + if (container) { + container.removeEventListener("pointerdown", this.onPointerDown); + } + this._dynamicAnchor = false; + this.scene.onWorldChanged.trigger({ world: this, action: "removed" }); this.camera.onWorldChanged.trigger({ world: this, action: "removed" }); if (this.renderer) {