diff --git a/renderer/viewer/lib/worldDataEmitter.ts b/renderer/viewer/lib/worldDataEmitter.ts index b66554a3..5edb9dc4 100644 --- a/renderer/viewer/lib/worldDataEmitter.ts +++ b/renderer/viewer/lib/worldDataEmitter.ts @@ -34,6 +34,10 @@ export type WorldDataEmitterEvents = { export class WorldDataEmitterWorker extends (EventEmitter as new () => TypedEmitter) { static readonly restorerName = 'WorldDataEmitterWorker' + + destroy () { + this.removeAllListeners() + } } export class WorldDataEmitter extends (EventEmitter as new () => TypedEmitter) { diff --git a/renderer/viewer/lib/worldrendererCommon.ts b/renderer/viewer/lib/worldrendererCommon.ts index 4112b570..046e1a1a 100644 --- a/renderer/viewer/lib/worldrendererCommon.ts +++ b/renderer/viewer/lib/worldrendererCommon.ts @@ -569,7 +569,7 @@ export abstract class WorldRendererCommon getMesherConfig (): MesherConfig { return { version: this.version, - enableLighting: this.worldRendererConfig.enableLighting && !this.playerState.lightingDisabled, + enableLighting: this.worldRendererConfig.enableLighting && !this.playerStateReactive.lightingDisabled, skyLight: this.skyLight, smoothLighting: this.worldRendererConfig.smoothLighting, outputFormat: this.outputFormat, diff --git a/src/appViewer.ts b/src/appViewer.ts index 51879175..47201b69 100644 --- a/src/appViewer.ts +++ b/src/appViewer.ts @@ -261,6 +261,7 @@ export class AppViewer { if (cleanState) { this.currentState = undefined this.currentDisplay = null + this.worldView?.destroy() this.worldView = undefined } if (this.backend) {