Merge latest duckie renderer main

This commit is contained in:
Lorenzune
2026-04-21 11:53:28 +02:00
29 changed files with 522 additions and 18 deletions
+2 -2
View File
@@ -239,8 +239,8 @@ export class RoomPreviewer
if(this.isRoomEngineReady)
{
if((this._currentPreviewObjectCategory === RoomObjectCategory.FLOOR) && (this._currentPreviewObjectType === classId) && (this._currentPreviewObjectData === (extra || ''))) return RoomPreviewer.PREVIEW_OBJECT_ID;
if((this._currentPreviewObjectCategory === RoomObjectCategory.FLOOR) && (this._currentPreviewObjectType === classId) && (this._currentPreviewObjectData === (extra || ''))) return RoomPreviewer.PREVIEW_OBJECT_ID;
this.reset(false);
this._currentPreviewObjectType = classId;
@@ -163,6 +163,18 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement
super.dispose();
if(this._avatarImage) this._avatarImage.dispose();
if(this._cachedAvatars)
{
for(const avatar of this._cachedAvatars.getValues()) avatar && avatar.dispose();
this._cachedAvatars.reset();
}
if(this._cachedAvatarEffects)
{
for(const avatar of this._cachedAvatarEffects.getValues()) avatar && avatar.dispose();
this._cachedAvatarEffects.reset();
}
if(this._reflectionOppositeTexture)
{
@@ -26,6 +26,17 @@ export class IsometricImageFurniVisualization extends FurnitureAnimatedVisualiza
this._uniqueId = `${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
this._photoUrl = null;
}
public dispose(): void {
if (this._thumbnailTexture instanceof RenderTexture) {
this._thumbnailTexture.destroy(true);
}
this._thumbnailTexture = null;
this._thumbnailImageNormal = null;
super.dispose();
}
public get hasThumbnailImage(): boolean {
return !(this._thumbnailImageNormal == null);
@@ -157,6 +157,16 @@ export class RoomPlane implements IRoomPlane
}
this._animationLayers = [];
}
this._windowReflectionLastVisible.clear();
this._windowReflectionFadeOut.clear();
this._windowReflectionFirstSeenAt.clear();
if(this._maskFilter)
{
this._maskFilter.destroy();
this._maskFilter = null;
}
this._disposed = true;
}