From 31658a011f9b2ba99bb8bb300b1ae7fa897edabf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Feb 2026 09:53:08 +0100 Subject: [PATCH 1/7] Bump basic-ftp from 5.1.0 to 5.2.0 (#33065) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 261b849ff364e8..c79c754f6f51f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1197,9 +1197,9 @@ } }, "node_modules/basic-ftp": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.1.0.tgz", - "integrity": "sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.2.0.tgz", + "integrity": "sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==", "dev": true, "license": "MIT", "engines": { From 20a6a8947d0fa9242f62799d71ac3c98c025b9f3 Mon Sep 17 00:00:00 2001 From: PoseidonEnergy <109360495+PoseidonEnergy@users.noreply.github.com> Date: Thu, 26 Feb 2026 02:53:58 -0600 Subject: [PATCH 2/7] Using the correct class type for JSDoc NodeManager (#33067) --- src/renderers/common/Animation.js | 4 ++-- src/renderers/common/Background.js | 4 ++-- src/renderers/common/Bindings.js | 4 ++-- src/renderers/common/Pipelines.js | 4 ++-- src/renderers/common/RenderObject.js | 4 ++-- src/renderers/common/RenderObjects.js | 6 +++--- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/renderers/common/Animation.js b/src/renderers/common/Animation.js index 50d57b30d4102f..9fc359f4edc022 100644 --- a/src/renderers/common/Animation.js +++ b/src/renderers/common/Animation.js @@ -10,7 +10,7 @@ class Animation { * Constructs a new animation loop management component. * * @param {Renderer} renderer - A reference to the main renderer. - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. * @param {Info} info - Renderer component for managing metrics and monitoring data. */ constructor( renderer, nodes, info ) { @@ -25,7 +25,7 @@ class Animation { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} */ this.nodes = nodes; diff --git a/src/renderers/common/Background.js b/src/renderers/common/Background.js index 358958762d4ca2..65bf6e475fc04a 100644 --- a/src/renderers/common/Background.js +++ b/src/renderers/common/Background.js @@ -22,7 +22,7 @@ class Background extends DataMap { * Constructs a new background management component. * * @param {Renderer} renderer - The renderer. - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. */ constructor( renderer, nodes ) { @@ -38,7 +38,7 @@ class Background extends DataMap { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} */ this.nodes = nodes; diff --git a/src/renderers/common/Bindings.js b/src/renderers/common/Bindings.js index 6c188fc1cf3787..3ccc9191836b40 100644 --- a/src/renderers/common/Bindings.js +++ b/src/renderers/common/Bindings.js @@ -13,7 +13,7 @@ class Bindings extends DataMap { * Constructs a new bindings management component. * * @param {Backend} backend - The renderer's backend. - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. * @param {Textures} textures - Renderer component for managing textures. * @param {Attributes} attributes - Renderer component for managing attributes. * @param {Pipelines} pipelines - Renderer component for managing pipelines. @@ -54,7 +54,7 @@ class Bindings extends DataMap { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} */ this.nodes = nodes; diff --git a/src/renderers/common/Pipelines.js b/src/renderers/common/Pipelines.js index a965abe9a11219..89cb7db33206b6 100644 --- a/src/renderers/common/Pipelines.js +++ b/src/renderers/common/Pipelines.js @@ -15,7 +15,7 @@ class Pipelines extends DataMap { * Constructs a new pipeline management component. * * @param {Backend} backend - The renderer's backend. - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. */ constructor( backend, nodes ) { @@ -31,7 +31,7 @@ class Pipelines extends DataMap { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} */ this.nodes = nodes; diff --git a/src/renderers/common/RenderObject.js b/src/renderers/common/RenderObject.js index cadb07fb572539..14bf7600751605 100644 --- a/src/renderers/common/RenderObject.js +++ b/src/renderers/common/RenderObject.js @@ -59,7 +59,7 @@ class RenderObject { /** * Constructs a new render object. * - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. * @param {Geometries} geometries - Renderer component for managing geometries. * @param {Renderer} renderer - The renderer. * @param {Object3D} object - The 3D object. @@ -77,7 +77,7 @@ class RenderObject { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} * @private */ this._nodes = nodes; diff --git a/src/renderers/common/RenderObjects.js b/src/renderers/common/RenderObjects.js index fc742b42a2f967..676cc2bd416942 100644 --- a/src/renderers/common/RenderObjects.js +++ b/src/renderers/common/RenderObjects.js @@ -14,7 +14,7 @@ class RenderObjects { * Constructs a new render object management component. * * @param {Renderer} renderer - The renderer. - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. * @param {Geometries} geometries - Renderer component for managing geometries. * @param {Pipelines} pipelines - Renderer component for managing pipelines. * @param {Bindings} bindings - Renderer component for managing bindings. @@ -32,7 +32,7 @@ class RenderObjects { /** * Renderer component for managing nodes related logic. * - * @type {Nodes} + * @type {NodeManager} */ this.nodes = nodes; @@ -179,7 +179,7 @@ class RenderObjects { /** * Factory method for creating render objects with the given list of parameters. * - * @param {Nodes} nodes - Renderer component for managing nodes related logic. + * @param {NodeManager} nodes - Renderer component for managing nodes related logic. * @param {Geometries} geometries - Renderer component for managing geometries. * @param {Renderer} renderer - The renderer. * @param {Object3D} object - The 3D object. From 7f8a21668681df808efeacf1f105585e3988da05 Mon Sep 17 00:00:00 2001 From: PoseidonEnergy <109360495+PoseidonEnergy@users.noreply.github.com> Date: Thu, 26 Feb 2026 02:54:47 -0600 Subject: [PATCH 3/7] Simpler bool check in Triangle.isFrontFacing() (#33071) --- src/math/Triangle.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/math/Triangle.js b/src/math/Triangle.js index d568d443686b88..02128369e7370f 100644 --- a/src/math/Triangle.js +++ b/src/math/Triangle.js @@ -228,7 +228,7 @@ class Triangle { _v1.subVectors( a, b ); // strictly front facing - return ( _v0.cross( _v1 ).dot( direction ) < 0 ) ? true : false; + return _v0.cross( _v1 ).dot( direction ) < 0; } From 5c7d23872b28c95f65f033247225b572be7995b5 Mon Sep 17 00:00:00 2001 From: PoseidonEnergy <109360495+PoseidonEnergy@users.noreply.github.com> Date: Thu, 26 Feb 2026 02:57:41 -0600 Subject: [PATCH 4/7] CubeRenderTarget: Restore `generateMipmaps` correctly. (#33069) --- src/renderers/common/CubeRenderTarget.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderers/common/CubeRenderTarget.js b/src/renderers/common/CubeRenderTarget.js index 596c8bdb7d1021..b88f962490a21e 100644 --- a/src/renderers/common/CubeRenderTarget.js +++ b/src/renderers/common/CubeRenderTarget.js @@ -109,7 +109,7 @@ class CubeRenderTarget extends RenderTarget { renderer.setMRT( currentMRT ); texture.minFilter = currentMinFilter; - texture.currentGenerateMipmaps = currentGenerateMipmaps; + texture.generateMipmaps = currentGenerateMipmaps; mesh.geometry.dispose(); mesh.material.dispose(); From 7e290dd46ec321ccbb02d518f0cd4f8d8625a74b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20H=C3=A4nsler?= Date: Thu, 26 Feb 2026 03:00:18 -0600 Subject: [PATCH 5/7] WebGPURenderer: Honor layerUpdates for array textures (#33072) Co-authored-by: user --- .../webgpu/utils/WebGPUTextureUtils.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/renderers/webgpu/utils/WebGPUTextureUtils.js b/src/renderers/webgpu/utils/WebGPUTextureUtils.js index 6aff79ec827e5f..9a23d4250fc2c3 100644 --- a/src/renderers/webgpu/utils/WebGPUTextureUtils.js +++ b/src/renderers/webgpu/utils/WebGPUTextureUtils.js @@ -538,9 +538,23 @@ class WebGPUTextureUtils { } else if ( texture.isArrayTexture || texture.isDataArrayTexture || texture.isData3DTexture ) { - for ( let i = 0; i < options.image.depth; i ++ ) { + if ( texture.layerUpdates.size > 0 ) { - this._copyBufferToTexture( options.image, textureData.texture, textureDescriptorGPU, i, texture.flipY, i ); + for ( const layerIndex of texture.layerUpdates ) { + + this._copyBufferToTexture( options.image, textureData.texture, textureDescriptorGPU, layerIndex, texture.flipY, layerIndex ); + + } + + texture.clearLayerUpdates(); + + } else { + + for ( let i = 0; i < options.image.depth; i ++ ) { + + this._copyBufferToTexture( options.image, textureData.texture, textureDescriptorGPU, i, texture.flipY, i ); + + } } From b86ec644c67b6bbe9eab2a39f75325bdf4360167 Mon Sep 17 00:00:00 2001 From: PoseidonEnergy <109360495+PoseidonEnergy@users.noreply.github.com> Date: Thu, 26 Feb 2026 03:00:40 -0600 Subject: [PATCH 6/7] Fixed warning message in WebGLTimestampQueryPool (#33068) --- src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js b/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js index 3997207f0ccdf7..96973bc28a3ec4 100644 --- a/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +++ b/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js @@ -61,7 +61,7 @@ class WebGLTimestampQueryPool extends TimestampQueryPool { // Check if we have enough space for a new query pair if ( this.currentQueryIndex + 2 > this.maxQueries ) { - warnOnce( `WebGPUTimestampQueryPool [${ this.type }]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${ this.type.toUpperCase() } ).` ); + warnOnce( `WebGLTimestampQueryPool [${ this.type }]: Maximum number of queries exceeded, when using trackTimestamp it is necessary to resolves the queries via renderer.resolveTimestampsAsync( THREE.TimestampQuery.${ this.type.toUpperCase() } ).` ); return null; } From d8cf11efc90f3ee67b640d6418b74607167c23fb Mon Sep 17 00:00:00 2001 From: PoseidonEnergy <109360495+PoseidonEnergy@users.noreply.github.com> Date: Thu, 26 Feb 2026 03:01:07 -0600 Subject: [PATCH 7/7] MaterialLoader: Simplified bool check. (#33066) --- src/loaders/MaterialLoader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/loaders/MaterialLoader.js b/src/loaders/MaterialLoader.js index 6a6c08d39ea650..2422c4a0af4626 100644 --- a/src/loaders/MaterialLoader.js +++ b/src/loaders/MaterialLoader.js @@ -215,7 +215,7 @@ class MaterialLoader extends Loader { if ( typeof json.vertexColors === 'number' ) { - material.vertexColors = ( json.vertexColors > 0 ) ? true : false; + material.vertexColors = json.vertexColors > 0; } else {