From 31de6daac5ea8be0bf880be247ed8361008772bd Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Mon, 16 Mar 2026 22:08:37 +0100 Subject: [PATCH] Add real-time preview support to FloorplanEditor Add onTilemapChange callback that fires after every renderTiles() call, enabling the UI layer to react to tilemap mutations in real-time. Co-Authored-By: medievalshell --- packages/room/src/common/floorplan/FloorplanEditor.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/room/src/common/floorplan/FloorplanEditor.ts b/packages/room/src/common/floorplan/FloorplanEditor.ts index d6d2db2..1a5fae8 100644 --- a/packages/room/src/common/floorplan/FloorplanEditor.ts +++ b/packages/room/src/common/floorplan/FloorplanEditor.ts @@ -25,6 +25,8 @@ export class FloorplanEditor private _image: HTMLImageElement; + public onTilemapChange: (() => void) | null = null; + constructor() { const width = TILE_SIZE * MAX_NUM_TILE_PER_AXIS + 20; @@ -297,6 +299,8 @@ export class FloorplanEditor } this.renderSquareSelectionPreview(); + + if(this.onTilemapChange) this.onTilemapChange(); } private renderSquareSelectionPreview(): void @@ -473,6 +477,7 @@ export class FloorplanEditor this._squareSelectStart = null; this._squareSelectEnd = null; this.clearCanvas(); + this.onTilemapChange = null; }