From 30143ce7117f9b620eb15d08a2de1c0ed3eec44d Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Mon, 25 May 2026 15:16:11 +0900 Subject: [PATCH 1/5] Remove "needs-rerender" --- src/three/plugins/images/ImageOverlayPlugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/three/plugins/images/ImageOverlayPlugin.js b/src/three/plugins/images/ImageOverlayPlugin.js index 0b82eea47..aea52c093 100644 --- a/src/three/plugins/images/ImageOverlayPlugin.js +++ b/src/three/plugins/images/ImageOverlayPlugin.js @@ -204,7 +204,7 @@ export class ImageOverlayPlugin { this.resetVirtualChildren( ! this.enableTileSplitting ); tiles.recalculateBytesUsed(); - tiles.dispatchEvent( { type: 'needs-rerender' } ); + tiles.dispatchEvent( { type: 'needs-render' } ); } From 69247b655fae59a1b63f8692481b24512152a71e Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Mon, 25 May 2026 15:24:58 +0900 Subject: [PATCH 2/5] Remove "load-content" --- src/core/renderer/tiles/TilesRendererBase.d.ts | 1 + src/core/renderer/tiles/TilesRendererBase.js | 7 ------- test/three/TilesRenderer.test.ts | 1 - 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/core/renderer/tiles/TilesRendererBase.d.ts b/src/core/renderer/tiles/TilesRendererBase.d.ts index c64c47789..d709ef66f 100644 --- a/src/core/renderer/tiles/TilesRendererBase.d.ts +++ b/src/core/renderer/tiles/TilesRendererBase.d.ts @@ -6,6 +6,7 @@ import { Tileset } from './Tileset.js'; // Events dispatched by TilesRendererBase, available across all renderer implementations. export interface TilesRendererBaseEventMap { 'needs-update': {}; + /** @deprecated */ 'load-content': {}; 'load-tileset': { tileset : Tileset, /* @deprecated Use tileset instead */ tileSet? : Tileset, url : string }; /* @deprecated Use 'load-tileset' instead */ diff --git a/src/core/renderer/tiles/TilesRendererBase.js b/src/core/renderer/tiles/TilesRendererBase.js index 9adf05aab..5722bd8a3 100644 --- a/src/core/renderer/tiles/TilesRendererBase.js +++ b/src/core/renderer/tiles/TilesRendererBase.js @@ -251,11 +251,6 @@ const unifiedPriorityCallback = ( a, b ) => { * @event TilesRendererBase#needs-update */ -/** - * Fired when any tile content (model or external tileset) finishes loading. - * @event TilesRendererBase#load-content - */ - /** * Fired when any tileset JSON finishes loading. * @event TilesRendererBase#load-tileset @@ -835,7 +830,6 @@ export class TilesRendererBase { this.rootLoadingState = LOADED; this.rootTileset = root; this.dispatchEvent( { type: 'needs-update' } ); - this.dispatchEvent( { type: 'load-content' } ); this.dispatchEvent( { type: 'load-tileset', tileset: root, @@ -1800,7 +1794,6 @@ export class TilesRendererBase { // dispatch an event indicating that this model has completed and that a new // call to "update" is needed. this.dispatchEvent( { type: 'needs-update' } ); - this.dispatchEvent( { type: 'load-content' } ); if ( isExternalTileset ) { this.dispatchEvent( { diff --git a/test/three/TilesRenderer.test.ts b/test/three/TilesRenderer.test.ts index b6300067e..b16c84088 100644 --- a/test/three/TilesRenderer.test.ts +++ b/test/three/TilesRenderer.test.ts @@ -33,7 +33,6 @@ function typecheck( renderer: TilesRenderer ) { renderer.addEventListener( 'load-tileset', loadTileset ); renderer.addEventListener( 'tiles-load-start', emptyEvent ); renderer.addEventListener( 'tiles-load-end', emptyEvent ); - renderer.addEventListener( 'load-content', emptyEvent ); renderer.addEventListener( 'load-model', loadModel ); renderer.addEventListener( 'dispose-model', disposeModel ); renderer.addEventListener( 'tile-visibility-change', tileVisibilityChange ); From 97b14e9b4505b656bbc4a1e526c571351ee5d300 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Mon, 25 May 2026 15:28:45 +0900 Subject: [PATCH 3/5] Add field --- src/three/plugins/images/ImageOverlayPlugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/three/plugins/images/ImageOverlayPlugin.js b/src/three/plugins/images/ImageOverlayPlugin.js index aea52c093..2eed3d7f2 100644 --- a/src/three/plugins/images/ImageOverlayPlugin.js +++ b/src/three/plugins/images/ImageOverlayPlugin.js @@ -1191,7 +1191,7 @@ export class ImageOverlayPlugin { } info.failed = true; - tiles.dispatchEvent( { type: 'load-error', tile, overlay, error: err } ); + tiles.dispatchEvent( { type: 'load-error', tile, overlay, error: err, url: null } ); return null; } ); From e8408a88ed50689ffcf62f85cb837bf592c64f03 Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Mon, 25 May 2026 15:29:31 +0900 Subject: [PATCH 4/5] Add log of deprecated warnings --- src/core/renderer/tiles/TilesRendererBase.js | 8 ++++++++ src/three/renderer/tiles/TilesRenderer.js | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/core/renderer/tiles/TilesRendererBase.js b/src/core/renderer/tiles/TilesRendererBase.js index 5722bd8a3..d76a547b1 100644 --- a/src/core/renderer/tiles/TilesRendererBase.js +++ b/src/core/renderer/tiles/TilesRendererBase.js @@ -251,6 +251,12 @@ const unifiedPriorityCallback = ( a, b ) => { * @event TilesRendererBase#needs-update */ +/** + * Fired when any tile content (model or external tileset) finishes loading. + * @deprecated + * @event TilesRendererBase#load-content + */ + /** * Fired when any tileset JSON finishes loading. * @event TilesRendererBase#load-tileset @@ -830,6 +836,7 @@ export class TilesRendererBase { this.rootLoadingState = LOADED; this.rootTileset = root; this.dispatchEvent( { type: 'needs-update' } ); + this.dispatchEvent( { type: 'load-content' } ); // @deprecated this.dispatchEvent( { type: 'load-tileset', tileset: root, @@ -1794,6 +1801,7 @@ export class TilesRendererBase { // dispatch an event indicating that this model has completed and that a new // call to "update" is needed. this.dispatchEvent( { type: 'needs-update' } ); + this.dispatchEvent( { type: 'load-content' } ); // @deprecated if ( isExternalTileset ) { this.dispatchEvent( { diff --git a/src/three/renderer/tiles/TilesRenderer.js b/src/three/renderer/tiles/TilesRenderer.js index af8e722d9..2738dc790 100644 --- a/src/three/renderer/tiles/TilesRenderer.js +++ b/src/three/renderer/tiles/TilesRenderer.js @@ -146,6 +146,10 @@ export class TilesRenderer extends TilesRendererBase { console.warn( 'TilesRenderer: "load-tile-set" event has been deprecated. Use "load-tileset" instead.' ); type = 'load-tileset'; + } else if ( type === 'load-content' ) { + + console.warn( 'TilesRenderer: "load-content" event has been deprecated. Use "load-model" or "load-tileset" instead.' ); + } EventDispatcher.prototype.addEventListener.call( this, type, listener ); @@ -159,6 +163,10 @@ export class TilesRenderer extends TilesRendererBase { console.warn( 'TilesRenderer: "load-tile-set" event has been deprecated. Use "load-tileset" instead.' ); type = 'load-tileset'; + } else if ( type === 'load-content' ) { + + console.warn( 'TilesRenderer: "load-content" event has been deprecated. Use "load-model" or "load-tileset" instead.' ); + } return EventDispatcher.prototype.hasEventListener.call( this, type, listener ); From 70363b41b8577eca0a8176a918ca36e508e4f7fc Mon Sep 17 00:00:00 2001 From: Garrett Johnson Date: Mon, 25 May 2026 15:35:10 +0900 Subject: [PATCH 5/5] Add final deprecation --- src/three/renderer/tiles/TilesRenderer.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/three/renderer/tiles/TilesRenderer.js b/src/three/renderer/tiles/TilesRenderer.js index 2738dc790..0ad61caa5 100644 --- a/src/three/renderer/tiles/TilesRenderer.js +++ b/src/three/renderer/tiles/TilesRenderer.js @@ -180,6 +180,10 @@ export class TilesRenderer extends TilesRendererBase { console.warn( 'TilesRenderer: "load-tile-set" event has been deprecated. Use "load-tileset" instead.' ); type = 'load-tileset'; + } else if ( type === 'load-content' ) { + + console.warn( 'TilesRenderer: "load-content" event has been deprecated. Use "load-model" or "load-tileset" instead.' ); + } EventDispatcher.prototype.removeEventListener.call( this, type, listener );