From 20f6af232ee578a69d716a4c3526d07d180ae507 Mon Sep 17 00:00:00 2001 From: duckietm Date: Fri, 5 Jun 2026 16:30:22 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=99=20Update=20to=20Pixi.js=208.19.0?= =?UTF-8?q?=20and=20alphablend=20is=20now=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- packages/room/src/RoomPreviewer.ts | 9 +++++---- .../furniture/FurnitureVisualization.ts | 18 ++---------------- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 60ecedc..4b70017 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "json5": "^2.2.3", "pako": "^2.1.0", "pixi-filters": "^6.1.5", - "pixi.js": "^8.18.1" + "pixi.js": "^8.19.0" }, "devDependencies": { "@eslint/js": "^9.13.0", diff --git a/packages/room/src/RoomPreviewer.ts b/packages/room/src/RoomPreviewer.ts index 67e9677..402fbf4 100644 --- a/packages/room/src/RoomPreviewer.ts +++ b/packages/room/src/RoomPreviewer.ts @@ -136,10 +136,6 @@ export class RoomPreviewer public updatePreviewModel(model: string, wallHeight: number, scale: boolean = true): void { - // Defensive: dispose() nulls _planeParser, and React 19 - // StrictMode dev double-mount can leave a stale reference - // briefly pointing at a disposed instance. Bail rather - // than crashing with "cannot read property reset of null". if(!this._planeParser) return; const parser = new FloorHeightMapMessageParser(); @@ -394,6 +390,11 @@ export class RoomPreviewer } } + public setAutomaticStateChange(enabled: boolean): void + { + this._automaticStateChange = enabled; + } + public changeRoomObjectDirection(): void { if(this.isRoomEngineReady) diff --git a/packages/room/src/object/visualization/furniture/FurnitureVisualization.ts b/packages/room/src/object/visualization/furniture/FurnitureVisualization.ts index 48713a6..dde333d 100644 --- a/packages/room/src/object/visualization/furniture/FurnitureVisualization.ts +++ b/packages/room/src/object/visualization/furniture/FurnitureVisualization.ts @@ -1,5 +1,5 @@ import { AlphaTolerance, IGraphicAsset, IObjectVisualizationData, IRoomGeometry, IRoomObjectSprite, RoomObjectVariable, RoomObjectVisualizationType } from '@nitrots/api'; -import { BlackToAlphaFilter, ChooserSelectionFilter } from '@nitrots/utils'; +import { ChooserSelectionFilter } from '@nitrots/utils'; import { BLEND_MODES, Filter, Texture } from 'pixi.js'; import { RoomObjectSpriteVisualization } from '../RoomObjectSpriteVisualization'; import { ColorData, LayerData } from '../data'; @@ -8,7 +8,6 @@ import { FurnitureVisualizationData } from './FurnitureVisualizationData'; export class FurnitureVisualization extends RoomObjectSpriteVisualization { protected static DEPTH_MULTIPLIER: number = Math.sqrt(0.5); - private static _blackToAlphaFilter: BlackToAlphaFilter = null; public static TYPE: string = RoomObjectVisualizationType.FURNITURE_STATIC; @@ -340,20 +339,7 @@ export class FurnitureVisualization extends RoomObjectSpriteVisualization const chooserFilters = (sprite.filters || []).filter(f => f instanceof ChooserSelectionFilter); - if(sprite.blendMode === 'add' && !this.isBackgroundColorBlack()) - { - if(!FurnitureVisualization._blackToAlphaFilter) FurnitureVisualization._blackToAlphaFilter = new BlackToAlphaFilter(); - - sprite.filters = chooserFilters.length > 0 - ? [FurnitureVisualization._blackToAlphaFilter, ...chooserFilters] - : [FurnitureVisualization._blackToAlphaFilter]; - } - else - { - sprite.filters = chooserFilters.length > 0 - ? [...this._filters, ...chooserFilters] - : this._filters; - } + sprite.filters = chooserFilters.length > 0 ? [...this._filters, ...chooserFilters] : this._filters; } else {