@gnsx/three 0.184.8 → 0.184.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,8 @@
3
3
  * Copyright 2010-2026 Three.js Authors
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
- import { Color, Vector2, Vector3, Vector4, Matrix2, Matrix3, Matrix4, error, EventDispatcher, MathUtils, warn, WebGLCoordinateSystem, WebGPUCoordinateSystem, ColorManagement, SRGBTransfer, NoToneMapping, StaticDrawUsage, InterleavedBufferAttribute, InterleavedBuffer, DynamicDrawUsage, NoColorSpace, log as log$1, warnOnce, Texture, UnsignedIntType, IntType, Compatibility, LessCompare, LessEqualCompare, GreaterCompare, GreaterEqualCompare, NearestFilter, Sphere, BackSide, DoubleSide, CubeTexture, CubeReflectionMapping, CubeRefractionMapping, TangentSpaceNormalMap, NoNormalPacking, NormalRGPacking, NormalGAPacking, ObjectSpaceNormalMap, RGFormat, RED_GREEN_RGTC2_Format, RG11_EAC_Format, InstancedBufferAttribute, InstancedInterleavedBuffer, DataArrayTexture, FloatType, FramebufferTexture, LinearMipmapLinearFilter, DepthTexture, Material, LineBasicMaterial, LineDashedMaterial, NoBlending, MeshNormalMaterial, SRGBColorSpace, RenderTarget, BoxGeometry, Mesh, Scene, LinearFilter, CubeCamera, EquirectangularReflectionMapping, EquirectangularRefractionMapping, AddOperation, MixOperation, MultiplyOperation, MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, DataTexture, HalfFloatType, ClampToEdgeWrapping, BufferGeometry, OrthographicCamera, PerspectiveCamera, LinearSRGBColorSpace, RGBAFormat, CubeUVReflectionMapping, BufferAttribute, MeshStandardMaterial, MeshPhysicalMaterial, MeshToonMaterial, MeshMatcapMaterial, SpriteMaterial, PointsMaterial, ShadowMaterial, Uint32BufferAttribute, Uint16BufferAttribute, ByteType, UnsignedByteType, ShortType, UnsignedShortType, AlphaFormat, RedFormat, RedIntegerFormat, DepthFormat, DepthStencilFormat, RGIntegerFormat, RGBFormat, RGBIntegerFormat, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedInt101111Type, NormalBlending, SrcAlphaFactor, OneMinusSrcAlphaFactor, AddEquation, MaterialBlending, Object3D, LinearMipMapLinearFilter, Plane, Float32BufferAttribute, UVMapping, PCFShadowMap, PCFSoftShadowMap, VSMShadowMap, BasicShadowMap, CubeDepthTexture, SphereGeometry, LinearMipmapNearestFilter, NearestMipmapLinearFilter, Float16BufferAttribute, yieldToMain, REVISION, ArrayCamera, PlaneGeometry, FrontSide, CustomBlending, ZeroFactor, CylinderGeometry, Quaternion, WebXRController, RAD2DEG, FrustumArray, Frustum, RGBAIntegerFormat, TimestampQuery, createCanvasElement, ReverseSubtractEquation, SubtractEquation, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcColorFactor, DstAlphaFactor, DstColorFactor, SrcAlphaSaturateFactor, SrcColorFactor, OneFactor, CullFaceNone, CullFaceBack, CullFaceFront, MultiplyBlending, SubtractiveBlending, AdditiveBlending, NotEqualDepth, GreaterDepth, GreaterEqualDepth, EqualDepth, LessEqualDepth, LessDepth, AlwaysDepth, NeverDepth, ReversedDepthFuncs, RGB_S3TC_DXT1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGB_PVRTC_4BPPV1_Format, RGB_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_PVRTC_2BPPV1_Format, RGB_ETC1_Format, RGB_ETC2_Format, RGBA_ETC2_EAC_Format, R11_EAC_Format, SIGNED_R11_EAC_Format, SIGNED_RG11_EAC_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_10x10_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_BPTC_Format, RED_RGTC1_Format, SIGNED_RED_RGTC1_Format, SIGNED_RED_GREEN_RGTC2_Format, MirroredRepeatWrapping, RepeatWrapping, NearestMipmapNearestFilter, NotEqualCompare, EqualCompare, AlwaysCompare, NeverCompare, LinearTransfer, getByteLength, isTypedArray, NotEqualStencilFunc, GreaterStencilFunc, GreaterEqualStencilFunc, EqualStencilFunc, LessEqualStencilFunc, LessStencilFunc, AlwaysStencilFunc, NeverStencilFunc, DecrementWrapStencilOp, IncrementWrapStencilOp, DecrementStencilOp, IncrementStencilOp, InvertStencilOp, ReplaceStencilOp, ZeroStencilOp, KeepStencilOp, MaxEquation, MinEquation, SpotLight, PointLight, DirectionalLight, RectAreaLight, AmbientLight, HemisphereLight, LightProbe, LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping, Group, Loader, FileLoader, MaterialLoader, ObjectLoader } from './three.core.js';
7
- export { AdditiveAnimationBlendMode, AnimationAction, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrowHelper, AttachedBindMode, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, BasicDepthPacking, BatchedMesh, BezierInterpolant, Bone, BooleanKeyframeTrack, Box2, Box3, Box3Helper, BoxHelper, BufferGeometryLoader, Cache, Camera, CameraHelper, CanvasTexture, CapsuleGeometry, CatmullRomCurve3, CircleGeometry, Clock, ColorKeyframeTrack, CompressedArrayTexture, CompressedCubeTexture, CompressedTexture, CompressedTextureLoader, ConeGeometry, ConstantAlphaFactor, ConstantColorFactor, Controls, CubeTextureLoader, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceFrontBack, Curve, CurvePath, CustomToneMapping, Cylindrical, Data3DTexture, DataTextureLoader, DataUtils, DefaultLoadingManager, DetachedBindMode, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry, DynamicCopyUsage, DynamicReadUsage, EdgesGeometry, EllipseCurve, Euler, ExternalTexture, ExtrudeGeometry, Fog, FogExp2, GLBufferAttribute, GLSL1, GLSL3, GridHelper, HTMLTexture, HemisphereLightHelper, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, InstancedBufferGeometry, InstancedMesh, Int16BufferAttribute, Int32BufferAttribute, Int8BufferAttribute, Interpolant, InterpolateBezier, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InterpolationSamplingMode, InterpolationSamplingType, KeyframeTrack, LOD, LatheGeometry, Layers, Light, Line, Line3, LineCurve, LineCurve3, LineLoop, LineSegments, LinearInterpolant, LinearMipMapNearestFilter, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, MOUSE, MeshDepthMaterial, MeshDistanceMaterial, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NormalAnimationBlendMode, NumberKeyframeTrack, OctahedronGeometry, OneMinusConstantAlphaFactor, OneMinusConstantColorFactor, Path, PlaneHelper, PointLightHelper, Points, PolarGridHelper, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, QuaternionKeyframeTrack, QuaternionLinearInterpolant, RGBADepthPacking, RGBDepthPacking, RGB_BPTC_SIGNED_Format, RGB_BPTC_UNSIGNED_Format, RGDepthPacking, RawShaderMaterial, Ray, Raycaster, RenderTarget3D, RingGeometry, ShaderMaterial, Shape, ShapeGeometry, ShapePath, ShapeUtils, Skeleton, SkeletonHelper, SkinnedMesh, Source, Spherical, SphericalHarmonics3, SplineCurve, SpotLightHelper, Sprite, StaticCopyUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, TOUCH, TetrahedronGeometry, TextureLoader, TextureUtils, Timer, TorusGeometry, TorusKnotGeometry, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry, Uint8BufferAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsGroup, VectorKeyframeTrack, VideoFrameTexture, VideoTexture, WebGL3DRenderTarget, WebGLArrayRenderTarget, WebGLRenderTarget, WireframeGeometry, WrapAroundEnding, ZeroCurvatureEnding, ZeroSlopeEnding, getConsoleFunction, setConsoleFunction } from './three.core.js';
6
+ import { Color, Vector2, Vector3, Vector4, Matrix2, Matrix3, Matrix4, error, EventDispatcher, MathUtils, warn, WebGLCoordinateSystem, WebGPUCoordinateSystem, ColorManagement, SRGBTransfer, NoToneMapping, StaticDrawUsage, InterleavedBufferAttribute, InterleavedBuffer, DynamicDrawUsage, NoColorSpace, log as log$1, warnOnce, Texture, UnsignedIntType, IntType, Compatibility, LessCompare, LessEqualCompare, GreaterCompare, GreaterEqualCompare, NearestFilter, Sphere, BackSide, DoubleSide, CubeTexture, CubeReflectionMapping, CubeRefractionMapping, TangentSpaceNormalMap, NoNormalPacking, NormalRGPacking, NormalGAPacking, ObjectSpaceNormalMap, RGFormat, RED_GREEN_RGTC2_Format, RG11_EAC_Format, InstancedBufferAttribute, InstancedInterleavedBuffer, DataArrayTexture, FloatType, FramebufferTexture, LinearMipmapLinearFilter, DepthTexture, Material, LineBasicMaterial, LineDashedMaterial, NoBlending, MeshNormalMaterial, SRGBColorSpace, RenderTarget, BoxGeometry, Mesh, Scene, LinearFilter, CubeCamera, EquirectangularReflectionMapping, EquirectangularRefractionMapping, AddOperation, MixOperation, MultiplyOperation, MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, DataTexture, HalfFloatType, ClampToEdgeWrapping, BufferGeometry, OrthographicCamera, PerspectiveCamera, LinearSRGBColorSpace, RGBAFormat, CubeUVReflectionMapping, BufferAttribute, MeshStandardMaterial, MeshPhysicalMaterial, MeshToonMaterial, MeshMatcapMaterial, SpriteMaterial, PointsMaterial, ShadowMaterial, Uint32BufferAttribute, Uint16BufferAttribute, ByteType, UnsignedByteType, ShortType, UnsignedShortType, AlphaFormat, RedFormat, RedIntegerFormat, DepthFormat, DepthStencilFormat, RGIntegerFormat, RGBFormat, RGBIntegerFormat, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedInt101111Type, NormalBlending, SrcAlphaFactor, OneMinusSrcAlphaFactor, AddEquation, MaterialBlending, Object3D, LinearMipMapLinearFilter, Plane, Float32BufferAttribute, UVMapping, Data3DTexture, PCFShadowMap, PCFSoftShadowMap, VSMShadowMap, BasicShadowMap, CubeDepthTexture, SphereGeometry, LinearMipmapNearestFilter, NearestMipmapLinearFilter, Float16BufferAttribute, yieldToMain, REVISION, ArrayCamera, PlaneGeometry, FrontSide, CustomBlending, ZeroFactor, CylinderGeometry, Quaternion, WebXRController, RAD2DEG, FrustumArray, Frustum, RGBAIntegerFormat, TimestampQuery, createCanvasElement, ReverseSubtractEquation, SubtractEquation, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcColorFactor, DstAlphaFactor, DstColorFactor, SrcAlphaSaturateFactor, SrcColorFactor, OneFactor, CullFaceNone, CullFaceBack, CullFaceFront, MultiplyBlending, SubtractiveBlending, AdditiveBlending, NotEqualDepth, GreaterDepth, GreaterEqualDepth, EqualDepth, LessEqualDepth, LessDepth, AlwaysDepth, NeverDepth, ReversedDepthFuncs, RGB_S3TC_DXT1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGB_PVRTC_4BPPV1_Format, RGB_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_PVRTC_2BPPV1_Format, RGB_ETC1_Format, RGB_ETC2_Format, RGBA_ETC2_EAC_Format, R11_EAC_Format, SIGNED_R11_EAC_Format, SIGNED_RG11_EAC_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_10x10_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_BPTC_Format, RED_RGTC1_Format, SIGNED_RED_RGTC1_Format, SIGNED_RED_GREEN_RGTC2_Format, MirroredRepeatWrapping, RepeatWrapping, NearestMipmapNearestFilter, NotEqualCompare, EqualCompare, AlwaysCompare, NeverCompare, LinearTransfer, getByteLength, isTypedArray, NotEqualStencilFunc, GreaterStencilFunc, GreaterEqualStencilFunc, EqualStencilFunc, LessEqualStencilFunc, LessStencilFunc, AlwaysStencilFunc, NeverStencilFunc, DecrementWrapStencilOp, IncrementWrapStencilOp, DecrementStencilOp, IncrementStencilOp, InvertStencilOp, ReplaceStencilOp, ZeroStencilOp, KeepStencilOp, MaxEquation, MinEquation, SpotLight, PointLight, DirectionalLight, RectAreaLight, AmbientLight, HemisphereLight, LightProbe, LinearToneMapping, ReinhardToneMapping, CineonToneMapping, ACESFilmicToneMapping, AgXToneMapping, NeutralToneMapping, Group, Loader, FileLoader, MaterialLoader, ObjectLoader } from './three.core.js';
7
+ export { AdditiveAnimationBlendMode, AnimationAction, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrowHelper, AttachedBindMode, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, BasicDepthPacking, BatchedMesh, BezierInterpolant, Bone, BooleanKeyframeTrack, Box2, Box3, Box3Helper, BoxHelper, BufferGeometryLoader, Cache, Camera, CameraHelper, CanvasTexture, CapsuleGeometry, CatmullRomCurve3, CircleGeometry, Clock, ColorKeyframeTrack, CompressedArrayTexture, CompressedCubeTexture, CompressedTexture, CompressedTextureLoader, ConeGeometry, ConstantAlphaFactor, ConstantColorFactor, Controls, CubeTextureLoader, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceFrontBack, Curve, CurvePath, CustomToneMapping, Cylindrical, DataTextureLoader, DataUtils, DefaultLoadingManager, DetachedBindMode, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry, DynamicCopyUsage, DynamicReadUsage, EdgesGeometry, EllipseCurve, Euler, ExternalTexture, ExtrudeGeometry, Fog, FogExp2, GLBufferAttribute, GLSL1, GLSL3, GridHelper, HTMLTexture, HemisphereLightHelper, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, InstancedBufferGeometry, InstancedMesh, Int16BufferAttribute, Int32BufferAttribute, Int8BufferAttribute, Interpolant, InterpolateBezier, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InterpolationSamplingMode, InterpolationSamplingType, KeyframeTrack, LOD, LatheGeometry, Layers, Light, Line, Line3, LineCurve, LineCurve3, LineLoop, LineSegments, LinearInterpolant, LinearMipMapNearestFilter, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, MOUSE, MeshDepthMaterial, MeshDistanceMaterial, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NormalAnimationBlendMode, NumberKeyframeTrack, OctahedronGeometry, OneMinusConstantAlphaFactor, OneMinusConstantColorFactor, Path, PlaneHelper, PointLightHelper, Points, PolarGridHelper, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, QuaternionKeyframeTrack, QuaternionLinearInterpolant, RGBADepthPacking, RGBDepthPacking, RGB_BPTC_SIGNED_Format, RGB_BPTC_UNSIGNED_Format, RGDepthPacking, RawShaderMaterial, Ray, Raycaster, RenderTarget3D, RingGeometry, ShaderMaterial, Shape, ShapeGeometry, ShapePath, ShapeUtils, Skeleton, SkeletonHelper, SkinnedMesh, Source, Spherical, SphericalHarmonics3, SplineCurve, SpotLightHelper, Sprite, StaticCopyUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, TOUCH, TetrahedronGeometry, TextureLoader, TextureUtils, Timer, TorusGeometry, TorusKnotGeometry, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry, Uint8BufferAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsGroup, VectorKeyframeTrack, VideoFrameTexture, VideoTexture, WebGL3DRenderTarget, WebGLArrayRenderTarget, WebGLRenderTarget, WireframeGeometry, WrapAroundEnding, ZeroCurvatureEnding, ZeroSlopeEnding, getConsoleFunction, setConsoleFunction } from './three.core.js';
8
8
 
9
9
  const refreshUniforms = [
10
10
  'alphaMap',
@@ -12482,7 +12482,23 @@ class TextureNode extends UniformNode {
12482
12482
 
12483
12483
  if ( this.updateMatrix === true ) {
12484
12484
 
12485
- uvNode = this.getTransformedUV( uvNode );
12485
+ // eslint-disable-next-line no-constant-condition
12486
+ {
12487
+
12488
+ // WITH_GENESYS: Do not apply UV matrix to integer texel coords or storage textures.
12489
+ const explicitUV = this.uvNode;
12490
+ const explicitUVType = explicitUV ? explicitUV.getNodeType( builder ) : null;
12491
+ const isIntegerTexelCoord = explicitUVType === 'uvec2' || explicitUVType === 'uvec3' || explicitUVType === 'ivec2' || explicitUVType === 'ivec3';
12492
+ const isStorageTexture = texture.isStorageTexture === true;
12493
+
12494
+ if ( isIntegerTexelCoord === false && isStorageTexture === false ) {
12495
+
12496
+ uvNode = this.getTransformedUV( uvNode );
12497
+
12498
+ }
12499
+ // !WITH_GENESYS
12500
+
12501
+ }
12486
12502
 
12487
12503
  }
12488
12504
 
@@ -15376,7 +15392,13 @@ class CubeTextureNode extends TextureNode {
15376
15392
 
15377
15393
  // rotate first
15378
15394
 
15379
- uvNode = materialEnvRotation.mul( uvNode );
15395
+ // WITH_GENESYS: Skip material/scene env rotation in compute — no material or scene context.
15396
+ if ( builder.shaderStage !== 'compute' ) {
15397
+
15398
+ uvNode = materialEnvRotation.mul( uvNode );
15399
+
15400
+ }
15401
+ // !WITH_GENESYS
15380
15402
 
15381
15403
  // flip
15382
15404
 
@@ -30545,6 +30567,53 @@ class RenderObjects {
30545
30567
 
30546
30568
  }
30547
30569
 
30570
+ // WITH_GENESYS
30571
+ /**
30572
+ * Disposes every {@link RenderObject} associated with `scene`.
30573
+ *
30574
+ * @param {Scene} scene - The scene being removed.
30575
+ */
30576
+ disposeSceneResources( scene ) {
30577
+
30578
+ const renderObjects = Array.from( this._renderObjects );
30579
+
30580
+ for ( const renderObject of renderObjects ) {
30581
+
30582
+ if ( renderObject.scene === scene ) {
30583
+
30584
+ renderObject.dispose();
30585
+
30586
+ }
30587
+
30588
+ }
30589
+
30590
+ }
30591
+
30592
+ /**
30593
+ * Disposes every {@link RenderObject} for `object` drawn with `scene`.
30594
+ * Call before disposing a renderer-owned mesh (e.g. background skybox) so WebGPU
30595
+ * bindings are released while the renderer keeps running.
30596
+ *
30597
+ * @param {Object3D} object - The 3D object.
30598
+ * @param {Scene} scene - The scene reference used when the object was rendered.
30599
+ */
30600
+ disposeObjectResources( object, scene ) {
30601
+
30602
+ const renderObjects = Array.from( this._renderObjects );
30603
+
30604
+ for ( const renderObject of renderObjects ) {
30605
+
30606
+ if ( renderObject.object === object && renderObject.scene === scene ) {
30607
+
30608
+ renderObject.dispose();
30609
+
30610
+ }
30611
+
30612
+ }
30613
+
30614
+ }
30615
+ // !WITH_GENESYS
30616
+
30548
30617
  /**
30549
30618
  * Factory method for creating render objects with the given list of parameters.
30550
30619
  *
@@ -32931,6 +33000,15 @@ class RenderList {
32931
33000
  */
32932
33001
  this.lightsArray = [];
32933
33002
 
33003
+ // WITH_GENESYS
33004
+ /**
33005
+ * The scene's light probe grids stored in an array.
33006
+ *
33007
+ * @type {Array<Object3D>}
33008
+ */
33009
+ this.lightProbeGridsArray = [];
33010
+ // !WITH_GENESYS
33011
+
32934
33012
  /**
32935
33013
  * The scene.
32936
33014
  *
@@ -32972,6 +33050,9 @@ class RenderList {
32972
33050
  this.bundles.length = 0;
32973
33051
 
32974
33052
  this.lightsArray.length = 0;
33053
+ // WITH_GENESYS
33054
+ this.lightProbeGridsArray.length = 0;
33055
+ // !WITH_GENESYS
32975
33056
 
32976
33057
  this.occlusionQueryCount = 0;
32977
33058
 
@@ -33123,6 +33204,19 @@ class RenderList {
33123
33204
 
33124
33205
  }
33125
33206
 
33207
+ // WITH_GENESYS
33208
+ /**
33209
+ * Pushes a light probe grid into the render list.
33210
+ *
33211
+ * @param {Object3D} lightProbeGrid - The light probe grid.
33212
+ */
33213
+ pushLightProbeGrid( lightProbeGrid ) {
33214
+
33215
+ this.lightProbeGridsArray.push( lightProbeGrid );
33216
+
33217
+ }
33218
+ // !WITH_GENESYS
33219
+
33126
33220
  /**
33127
33221
  * Sorts the internal render lists.
33128
33222
  *
@@ -33146,6 +33240,9 @@ class RenderList {
33146
33240
  // update lights
33147
33241
 
33148
33242
  this.lightsNode.setLights( this.lightsArray );
33243
+ // WITH_GENESYS
33244
+ this.lightsNode.setLightProbeGrids( this.lightProbeGridsArray );
33245
+ // !WITH_GENESYS
33149
33246
 
33150
33247
  // Clear references from inactive renderItems in the list
33151
33248
 
@@ -43080,6 +43177,198 @@ function lightViewPosition( light ) {
43080
43177
  */
43081
43178
  const lightTargetDirection = ( light ) => cameraViewMatrix.transformDirection( lightPosition( light ).sub( lightTargetPosition( light ) ) );
43082
43179
 
43180
+ const getLightProbeGridIrradianceAtUV = /*@__PURE__*/ Fn( ( { probesSH, probesResolution, gridUVW, worldNormal } ) => {
43181
+
43182
+ const res = probesResolution;
43183
+ const uvw = gridUVW.toVar();
43184
+
43185
+ const nz = res.z;
43186
+ const paddedSlices = nz.add( 2.0 );
43187
+ const atlasDepth = paddedSlices.mul( 7.0 );
43188
+ const uvZBase = uvw.z.mul( nz ).add( 1.0 );
43189
+
43190
+ const atlasUv = ( sliceOffset ) => vec3( uvw.x, uvw.y, uvZBase.add( paddedSlices.mul( sliceOffset ) ).div( atlasDepth ) );
43191
+
43192
+ const s0 = probesSH.sample( atlasUv( 0.0 ) );
43193
+ const s1 = probesSH.sample( atlasUv( 1.0 ) );
43194
+ const s2 = probesSH.sample( atlasUv( 2.0 ) );
43195
+ const s3 = probesSH.sample( atlasUv( 3.0 ) );
43196
+ const s4 = probesSH.sample( atlasUv( 4.0 ) );
43197
+ const s5 = probesSH.sample( atlasUv( 5.0 ) );
43198
+ const s6 = probesSH.sample( atlasUv( 6.0 ) );
43199
+
43200
+ const c0 = s0.xyz;
43201
+ const c1 = vec3( s0.w, s1.x, s1.y );
43202
+ const c2 = vec3( s1.z, s1.w, s2.x );
43203
+ const c3 = s2.yzw;
43204
+ const c4 = s3.xyz;
43205
+ const c5 = vec3( s3.w, s4.x, s4.y );
43206
+ const c6 = vec3( s4.z, s4.w, s5.x );
43207
+ const c7 = s5.yzw;
43208
+ const c8 = s6.xyz;
43209
+
43210
+ const x = worldNormal.x, y = worldNormal.y, z = worldNormal.z;
43211
+
43212
+ let result = c0.mul( 0.886227 );
43213
+ result = result.add( c1.mul( 2.0 * 0.511664 ).mul( y ) );
43214
+ result = result.add( c2.mul( 2.0 * 0.511664 ).mul( z ) );
43215
+ result = result.add( c3.mul( 2.0 * 0.511664 ).mul( x ) );
43216
+ result = result.add( c4.mul( 2.0 * 0.429043 ).mul( x ).mul( y ) );
43217
+ result = result.add( c5.mul( 2.0 * 0.429043 ).mul( y ).mul( z ) );
43218
+ result = result.add( c6.mul( z.mul( z ).mul( 0.743125 ).sub( 0.247708 ) ) );
43219
+ result = result.add( c7.mul( 2.0 * 0.429043 ).mul( x ).mul( z ) );
43220
+ result = result.add( c8.mul( 0.429043 ).mul( x.mul( x ).sub( y.mul( y ) ) ) );
43221
+
43222
+ return max$1( result, vec3( 0.0 ) );
43223
+
43224
+ } );
43225
+
43226
+ const getLightProbeGridIrradiance = /*@__PURE__*/ Fn( ( { probesSH, probesMin, probesMax, probesResolution, worldPosition, worldNormal } ) => {
43227
+
43228
+ const res = probesResolution;
43229
+ const gridRange = probesMax.sub( probesMin ).toVar();
43230
+ const resMinusOne = res.sub( 1.0 );
43231
+ const probeSpacing = gridRange.div( resMinusOne ).toVar();
43232
+
43233
+ const samplePos = worldPosition.add( worldNormal.mul( probeSpacing ).mul( 0.5 ) );
43234
+ const gridUVW = samplePos.sub( probesMin ).div( gridRange ).clamp( 0.0, 1.0 ).mul( resMinusOne.div( res ) ).add( vec3( 0.5 ).div( res ) );
43235
+
43236
+ return getLightProbeGridIrradianceAtUV( {
43237
+ probesSH,
43238
+ probesResolution,
43239
+ gridUVW,
43240
+ worldNormal
43241
+ } );
43242
+
43243
+ } );
43244
+
43245
+ const _objectPosition = /*@__PURE__*/ new Vector3();
43246
+ const _emptyTexture = /*@__PURE__*/ new Data3DTexture( new Float32Array( 1 * 1 * 28 * 4 ), 1, 1, 28 );
43247
+
43248
+ _emptyTexture.format = RGBAFormat;
43249
+ _emptyTexture.type = FloatType;
43250
+ _emptyTexture.minFilter = LinearFilter;
43251
+ _emptyTexture.magFilter = LinearFilter;
43252
+ _emptyTexture.needsUpdate = true;
43253
+
43254
+ function findLightProbeGrid( volumes, object ) {
43255
+
43256
+ if ( volumes.length === 0 ) return null;
43257
+
43258
+ if ( volumes.length === 1 ) {
43259
+
43260
+ return volumes[ 0 ].texture !== null ? volumes[ 0 ] : null;
43261
+
43262
+ }
43263
+
43264
+ _objectPosition.setFromMatrixPosition( object.matrixWorld );
43265
+
43266
+ for ( let i = 0, l = volumes.length; i < l; i ++ ) {
43267
+
43268
+ const volume = volumes[ i ];
43269
+
43270
+ if ( volume.texture !== null && volume.boundingBox.containsPoint( _objectPosition ) ) return volume;
43271
+
43272
+ }
43273
+
43274
+ return null;
43275
+
43276
+ }
43277
+
43278
+ /**
43279
+ * Adds diffuse irradiance from the active LightProbeGrid to WebGPU node materials.
43280
+ *
43281
+ * @augments LightingNode
43282
+ */
43283
+ class LightProbeGridNode extends LightingNode {
43284
+
43285
+ static get type() {
43286
+
43287
+ return 'LightProbeGridNode';
43288
+
43289
+ }
43290
+
43291
+ /**
43292
+ * Constructs a new light probe grid node.
43293
+ *
43294
+ * @param {Array<Object3D>} [lightProbeGrids=[]] - Light probe grids collected from the scene.
43295
+ */
43296
+ constructor( lightProbeGrids = [] ) {
43297
+
43298
+ super();
43299
+
43300
+ /**
43301
+ * This flag can be used for type testing.
43302
+ *
43303
+ * @type {boolean}
43304
+ * @readonly
43305
+ * @default true
43306
+ */
43307
+ this.isLightProbeGridNode = true;
43308
+
43309
+ this.lightProbeGrids = lightProbeGrids;
43310
+ this.activeLightProbeGrid = null;
43311
+
43312
+ this.probesSH = texture3D( _emptyTexture );
43313
+ this.probesMin = uniform( new Vector3() );
43314
+ this.probesMax = uniform( new Vector3( 1, 1, 1 ) );
43315
+ this.probesResolution = uniform( new Vector3( 2, 2, 2 ) );
43316
+
43317
+ this.updateType = NodeUpdateType.OBJECT;
43318
+
43319
+ }
43320
+
43321
+ update( frame ) {
43322
+
43323
+ const activeLightProbeGrid = findLightProbeGrid( this.lightProbeGrids, frame.object );
43324
+
43325
+ this.activeLightProbeGrid = activeLightProbeGrid;
43326
+
43327
+ if ( activeLightProbeGrid !== null ) {
43328
+
43329
+ activeLightProbeGrid.updateBoundingBox();
43330
+
43331
+ this.probesSH.value = activeLightProbeGrid.texture;
43332
+ this.probesMin.value.copy( activeLightProbeGrid.boundingBox.min );
43333
+ this.probesMax.value.copy( activeLightProbeGrid.boundingBox.max );
43334
+ this.probesResolution.value.copy( activeLightProbeGrid.resolution );
43335
+
43336
+ } else {
43337
+
43338
+ this.probesSH.value = _emptyTexture;
43339
+ this.probesMin.value.set( 0, 0, 0 );
43340
+ this.probesMax.value.set( 1, 1, 1 );
43341
+ this.probesResolution.value.set( 2, 2, 2 );
43342
+
43343
+ }
43344
+
43345
+ }
43346
+
43347
+ setup( builder ) {
43348
+
43349
+ const irradiance = getLightProbeGridIrradiance( {
43350
+ probesSH: this.probesSH,
43351
+ probesMin: this.probesMin,
43352
+ probesMax: this.probesMax,
43353
+ probesResolution: this.probesResolution,
43354
+ worldPosition: positionWorld,
43355
+ worldNormal: normalWorld
43356
+ } );
43357
+
43358
+ builder.context.irradiance.addAssign( irradiance );
43359
+
43360
+ }
43361
+
43362
+ getHash() {
43363
+
43364
+ return `lightProbeGrid-${ this.lightProbeGrids.map( ( lightProbeGrid ) => lightProbeGrid.id ).join( ',' ) }`;
43365
+
43366
+ }
43367
+
43368
+ }
43369
+
43370
+ // !WITH_GENESYS
43371
+
43083
43372
  const sortLights = ( lights ) => {
43084
43373
 
43085
43374
  return lights.sort( ( a, b ) => a.id - b.id );
@@ -43156,6 +43445,25 @@ class LightsNode extends Node {
43156
43445
  */
43157
43446
  this._lights = [];
43158
43447
 
43448
+ // WITH_GENESYS
43449
+ /**
43450
+ * A list of light probe grids collected from the scene.
43451
+ *
43452
+ * @private
43453
+ * @type {Array<Object3D>}
43454
+ */
43455
+ this._lightProbeGrids = [];
43456
+
43457
+ /**
43458
+ * Cached light probe grid node reused across {@link LightsNode#setupLightsNode} calls.
43459
+ *
43460
+ * @private
43461
+ * @type {?LightProbeGridNode}
43462
+ * @default null
43463
+ */
43464
+ this._lightProbeGridNode = null;
43465
+ // !WITH_GENESYS
43466
+
43159
43467
  /**
43160
43468
  * For each light in the scene, this node will create a
43161
43469
  * corresponding light node.
@@ -43213,6 +43521,18 @@ class LightsNode extends Node {
43213
43521
 
43214
43522
  }
43215
43523
 
43524
+ // WITH_GENESYS
43525
+ const lightProbeGrids = this._lightProbeGrids;
43526
+
43527
+ for ( let i = 0; i < lightProbeGrids.length; i ++ ) {
43528
+
43529
+ const lightProbeGrid = lightProbeGrids[ i ];
43530
+
43531
+ _hashData.push( lightProbeGrid.id );
43532
+
43533
+ }
43534
+ // !WITH_GENESYS
43535
+
43216
43536
  const cacheKey = hashArray( _hashData );
43217
43537
 
43218
43538
  _hashData.length = 0;
@@ -43321,10 +43641,44 @@ class LightsNode extends Node {
43321
43641
 
43322
43642
  }
43323
43643
 
43644
+ // WITH_GENESYS
43645
+ this._appendLightProbeGridNode( lightNodes );
43646
+ // !WITH_GENESYS
43647
+
43324
43648
  this._lightNodes = lightNodes;
43325
43649
 
43326
43650
  }
43327
43651
 
43652
+ // WITH_GENESYS
43653
+ /**
43654
+ * Appends the cached {@link LightProbeGridNode} for the current probe grids.
43655
+ *
43656
+ * @private
43657
+ * @param {Array<LightingNode>} lightNodes - The light nodes array being built.
43658
+ */
43659
+ _appendLightProbeGridNode( lightNodes ) {
43660
+
43661
+ if ( this._lightProbeGrids.length === 0 ) {
43662
+
43663
+ return;
43664
+
43665
+ }
43666
+
43667
+ if ( this._lightProbeGridNode === null ) {
43668
+
43669
+ this._lightProbeGridNode = new LightProbeGridNode( this._lightProbeGrids );
43670
+
43671
+ } else {
43672
+
43673
+ this._lightProbeGridNode.lightProbeGrids = this._lightProbeGrids;
43674
+
43675
+ }
43676
+
43677
+ lightNodes.push( this._lightProbeGridNode );
43678
+
43679
+ }
43680
+ // !WITH_GENESYS
43681
+
43328
43682
  /**
43329
43683
  * Sets up a direct light in the lighting model.
43330
43684
  *
@@ -43471,6 +43825,31 @@ class LightsNode extends Node {
43471
43825
 
43472
43826
  }
43473
43827
 
43828
+ // WITH_GENESYS
43829
+ /**
43830
+ * Configures this node with an array of light probe grids.
43831
+ *
43832
+ * @param {Array<Object3D>} lightProbeGrids - An array of light probe grids.
43833
+ * @return {LightsNode} A reference to this node.
43834
+ */
43835
+ setLightProbeGrids( lightProbeGrids ) {
43836
+
43837
+ this._lightProbeGrids = lightProbeGrids;
43838
+
43839
+ if ( this._lightProbeGridNode !== null ) {
43840
+
43841
+ this._lightProbeGridNode.lightProbeGrids = lightProbeGrids;
43842
+
43843
+ }
43844
+
43845
+ this._lightNodes = null;
43846
+ this._lightNodesHash = null;
43847
+
43848
+ return this;
43849
+
43850
+ }
43851
+ // !WITH_GENESYS
43852
+
43474
43853
  /**
43475
43854
  * Returns an array of the scene's lights.
43476
43855
  *
@@ -43489,7 +43868,11 @@ class LightsNode extends Node {
43489
43868
  */
43490
43869
  get hasLights() {
43491
43870
 
43492
- return this._lights.length > 0;
43871
+ return this._lights.length > 0
43872
+ // WITH_GENESYS
43873
+ || this._lightProbeGrids.length > 0
43874
+ // !WITH_GENESYS
43875
+ ;
43493
43876
 
43494
43877
  }
43495
43878
 
@@ -47875,6 +48258,8 @@ var TSL = /*#__PURE__*/Object.freeze({
47875
48258
  getDirection: getDirection,
47876
48259
  getDistanceAttenuation: getDistanceAttenuation,
47877
48260
  getGeometryRoughness: getGeometryRoughness,
48261
+ getLightProbeGridIrradiance: getLightProbeGridIrradiance,
48262
+ getLightProbeGridIrradianceAtUV: getLightProbeGridIrradianceAtUV,
47878
48263
  getNormalFromDepth: getNormalFromDepth,
47879
48264
  getParallaxCorrectNormal: getParallaxCorrectNormal,
47880
48265
  getRoughness: getRoughness,
@@ -48347,6 +48732,39 @@ class Background extends DataMap {
48347
48732
 
48348
48733
  }
48349
48734
 
48735
+ // WITH_GENESYS
48736
+ /**
48737
+ * Disposes the renderer-owned background skybox mesh (material and geometry)
48738
+ * for `scene` and clears cached mesh state.
48739
+ *
48740
+ * Does not dispose {@link Scene#background}.
48741
+ *
48742
+ * @param {Scene} scene - The scene.
48743
+ */
48744
+ disposeScene( scene ) {
48745
+
48746
+ if ( this.has( scene ) === false ) return;
48747
+
48748
+ const sceneData = this.get( scene );
48749
+
48750
+ const backgroundMesh = sceneData.backgroundMesh;
48751
+
48752
+ if ( backgroundMesh !== undefined ) {
48753
+
48754
+ this.renderer._objects.disposeObjectResources( backgroundMesh, scene );
48755
+
48756
+ backgroundMesh.material.dispose();
48757
+ backgroundMesh.geometry.dispose();
48758
+
48759
+ delete sceneData.backgroundMesh;
48760
+ delete sceneData.backgroundMeshNode;
48761
+ delete sceneData.backgroundCacheKey;
48762
+
48763
+ }
48764
+
48765
+ }
48766
+ // !WITH_GENESYS
48767
+
48350
48768
  /**
48351
48769
  * Updates the background for the given scene. Depending on how `Scene.background`
48352
48770
  * or `Scene.backgroundNode` are configured, this method might configure a simple clear
@@ -55089,6 +55507,30 @@ class NodeManager extends DataMap {
55089
55507
 
55090
55508
  }
55091
55509
 
55510
+ // WITH_GENESYS
55511
+ /**
55512
+ * Clears cached background and environment node state for `scene`.
55513
+ *
55514
+ * Does not call `texture.dispose()` on {@link Scene#background} or
55515
+ * {@link Scene#environment}.
55516
+ *
55517
+ * @param {Scene} scene - The scene.
55518
+ */
55519
+ clearSceneBackgroundAndEnvironmentNodes( scene ) {
55520
+
55521
+ if ( this.has( scene ) === false ) return;
55522
+
55523
+ const sceneData = this.get( scene );
55524
+
55525
+ delete sceneData.backgroundNode;
55526
+ delete sceneData.background;
55527
+ delete sceneData.backgroundBlurriness;
55528
+ delete sceneData.environmentNode;
55529
+ delete sceneData.environment;
55530
+
55531
+ }
55532
+ // !WITH_GENESYS
55533
+
55092
55534
  /**
55093
55535
  * This method is part of the caching of nodes which are used to represents the
55094
55536
  * scene's background, fog or environment.
@@ -58968,7 +59410,11 @@ class Renderer {
58968
59410
 
58969
59411
  renderList.pushLight( object );
58970
59412
 
58971
- }
59413
+ } else if ( object.isLightProbeGrid && object.layers.test( camera.layers ) ) { // WITH_GENESYS
59414
+
59415
+ renderList.pushLightProbeGrid( object );
59416
+
59417
+ } // !WITH_GENESYS
58972
59418
 
58973
59419
  } );
58974
59420
 
@@ -60585,6 +61031,28 @@ class Renderer {
60585
61031
 
60586
61032
  }
60587
61033
 
61034
+ // WITH_GENESYS
61035
+ /**
61036
+ * Releases renderer resources scoped to `scene` when the scene is removed but
61037
+ * this renderer instance continues to run. Disposes matching {@link RenderObject}s,
61038
+ * the internal background skybox mesh, and cached background/environment nodes.
61039
+ *
61040
+ * Does not call `texture.dispose()` on {@link Scene#background} or
61041
+ * {@link Scene#environment}; the caller remains responsible for those textures.
61042
+ *
61043
+ * @param {Scene} scene - The scene being removed.
61044
+ */
61045
+ disposeSceneResources( scene ) {
61046
+
61047
+ if ( this._initialized !== true ) return;
61048
+
61049
+ this._objects.disposeSceneResources( scene );
61050
+ this._nodes.clearSceneBackgroundAndEnvironmentNodes( scene );
61051
+ this._background.disposeScene( scene );
61052
+
61053
+ }
61054
+ // !WITH_GENESYS
61055
+
60588
61056
  /**
60589
61057
  * Sets the given render target. Calling this method means the renderer does not
60590
61058
  * target the default framebuffer (meaning the canvas) anymore but a custom framebuffer.
@@ -61118,7 +61586,11 @@ class Renderer {
61118
61586
 
61119
61587
  renderList.pushLight( object );
61120
61588
 
61121
- } else if ( object.isSprite ) {
61589
+ } else if ( object.isLightProbeGrid ) { // WITH_GENESYS
61590
+
61591
+ renderList.pushLightProbeGrid( object );
61592
+
61593
+ } else if ( object.isSprite ) { // !WITH_GENESYS
61122
61594
 
61123
61595
  const frustum = camera.isArrayCamera ? _frustumArray : _frustum;
61124
61596
 
@@ -83981,4 +84453,4 @@ class ClippingGroup extends Group {
83981
84453
 
83982
84454
  }
83983
84455
 
83984
- export { ACESFilmicToneMapping, AONode, AddEquation, AddOperation, AdditiveBlending, AgXToneMapping, AlphaFormat, AlwaysCompare, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AmbientLightNode, AnalyticLightNode, ArrayCamera, ArrayElementNode, ArrayNode, AssignNode, AtomicFunctionNode, AttributeNode, BackSide, BarrierNode, BasicEnvironmentNode, BasicLightMapNode, BasicShadowMap, BatchNode, BitcastNode, BitcountNode, BlendMode, BoxGeometry, BufferAttribute, BufferAttributeNode, BufferGeometry, BufferNode, BuiltinNode, BumpMapNode, BundleGroup, BypassNode, ByteType, CanvasTarget, CineonToneMapping, ClampToEdgeWrapping, ClippingGroup, ClippingNode, CodeNode, Color, ColorManagement, ColorSpaceNode, Compatibility, ComputeBuiltinNode, ComputeNode, ConditionalNode, ConstNode, ContextNode, ConvertNode, CubeCamera, CubeDepthTexture, CubeMapNode, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureNode, CubeUVReflectionMapping, CullFaceBack, CullFaceFront, CullFaceNone, CustomBlending, CylinderGeometry, DataArrayTexture, DataTexture, DebugNode, DecrementStencilOp, DecrementWrapStencilOp, DepthFormat, DepthStencilFormat, DepthTexture, DirectionalLight, DirectionalLightNode, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicDrawUsage, EnvironmentNode, EqualCompare, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, EventDispatcher, EventNode, ExpressionNode, FileLoader, FlipNode, Float16BufferAttribute, Float32BufferAttribute, FloatType, FramebufferTexture, FrontFacingNode, FrontSide, Frustum, FrustumArray, FunctionCallNode, FunctionNode, FunctionOverloadingNode, GLSLNodeParser, GreaterCompare, GreaterDepth, GreaterEqualCompare, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, Group, HalfFloatType, HemisphereLight, HemisphereLightNode, IESSpotLight, IESSpotLightNode, IncrementStencilOp, IncrementWrapStencilOp, IndexNode, IndirectStorageBufferAttribute, InputNode, InspectorBase, InspectorNode, InstanceNode, InstancedBufferAttribute, InstancedInterleavedBuffer, InstancedMeshNode, IntType, InterleavedBuffer, InterleavedBufferAttribute, InvertStencilOp, IrradianceNode, IsolateNode, JoinNode, KeepStencilOp, LessCompare, LessDepth, LessEqualCompare, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, LightProbe, LightProbeNode, Lighting, LightingContextNode, LightingModel, LightingNode, LightsNode, Line2NodeMaterial, LineBasicMaterial, LineBasicNodeMaterial, LineDashedMaterial, LineDashedNodeMaterial, LinearFilter, LinearMipMapLinearFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearSRGBColorSpace, LinearToneMapping, LinearTransfer, Loader, LoopNode, MRTNode, Material, MaterialBlending, MaterialLightsNode, MaterialLoader, MaterialNode, MaterialReferenceNode, MathNode, MathUtils, Matrix2, Matrix3, Matrix4, MaxEquation, MaxMipLevelNode, MemberNode, Mesh, MeshBasicMaterial, MeshBasicNodeMaterial, MeshLambertMaterial, MeshLambertNodeMaterial, MeshMatcapMaterial, MeshMatcapNodeMaterial, MeshNormalMaterial, MeshNormalNodeMaterial, MeshPhongMaterial, MeshPhongNodeMaterial, MeshPhysicalMaterial, MeshPhysicalNodeMaterial, MeshSSSNodeMaterial, MeshStandardMaterial, MeshStandardNodeMaterial, MeshToonMaterial, MeshToonNodeMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, ModelNode, MorphNode, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeutralToneMapping, NeverCompare, NeverDepth, NeverStencilFunc, NoBlending, NoColorSpace, NoNormalPacking, NoToneMapping, Node, NodeAccess, NodeAttribute, NodeBuilder, NodeCache, NodeCode, NodeError, NodeFrame, NodeFunctionInput, NodeLoader, NodeMaterial, NodeMaterialLoader, NodeMaterialObserver, NodeObjectLoader, NodeShaderStage, NodeType, NodeUniform, NodeUpdateType, NodeUtils, NodeVar, NodeVarying, NormalBlending, NormalGAPacking, NormalMapNode, NormalRGPacking, NotEqualCompare, NotEqualDepth, NotEqualStencilFunc, Object3D, Object3DNode, ObjectLoader, ObjectSpaceNormalMap, OneFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OperatorNode, OrthographicCamera, OutputStructNode, PCFShadowMap, PCFSoftShadowMap, PMREMGenerator, PMREMNode, PackFloatNode, ParameterNode, PassNode, PerspectiveCamera, PhongLightingModel, PhysicalLightingModel, Plane, PlaneGeometry, PointLight, PointLightNode, PointShadowNode, PointUVNode, PointsMaterial, PointsNodeMaterial, PostProcessing, ProjectorLight, ProjectorLightNode, PropertyNode, QuadMesh, Quaternion, R11_EAC_Format, RED_GREEN_RGTC2_Format, RED_RGTC1_Format, REVISION, RG11_EAC_Format, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGBIntegerFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, RTTNode, RangeNode, ReadbackBuffer, RectAreaLight, RectAreaLightNode, RedFormat, RedIntegerFormat, ReferenceBaseNode, ReferenceNode, ReflectorNode, ReinhardToneMapping, RenderOutputNode, RenderPipeline, RenderTarget, RendererReferenceNode, RendererUtils, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RotateNode, SIGNED_R11_EAC_Format, SIGNED_RED_GREEN_RGTC2_Format, SIGNED_RED_RGTC1_Format, SIGNED_RG11_EAC_Format, SRGBColorSpace, SRGBTransfer, SampleNode, Scene, ScreenNode, SetNode, ShadowBaseNode, ShadowMaterial, ShadowNode, ShadowNodeMaterial, ShortType, SkinningNode, Sphere, SphereGeometry, SplitNode, SpotLight, SpotLightNode, SpriteMaterial, SpriteNodeMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StackNode, StackTrace, StaticDrawUsage, StorageArrayElementNode, StorageBufferAttribute, StorageBufferNode, StorageInstancedBufferAttribute, StorageTexture, StorageTextureNode, StructNode, StructTypeNode, SubBuildNode, SubgroupFunctionNode, SubtractEquation, SubtractiveBlending, TSL, TangentSpaceNormalMap, TempNode, Texture, Texture3DNode, TextureNode, TextureSizeNode, TimestampQuery, ToneMappingNode, ToonOutlinePassNode, UVMapping, Uint16BufferAttribute, Uint32BufferAttribute, UniformArrayNode, UniformGroupNode, UniformNode, UnpackFloatNode, UnsignedByteType, UnsignedInt101111Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, UserDataNode, VSMShadowMap, VarNode, VaryingNode, Vector2, Vector3, Vector4, VelocityNode, VertexColorNode, ViewportDepthNode, ViewportDepthTextureNode, ViewportSharedTextureNode, ViewportTextureNode, VolumeNodeMaterial, WebGLBackend, WebGLCoordinateSystem, WebGPUBackend, WebGPUCoordinateSystem, WebGPURenderer, WebXRController, WorkgroupInfoNode, ZeroFactor, ZeroStencilOp, createCanvasElement, defaultBuildStages, defaultShaderStages, error, log$1 as log, shaderStages, vectorComponents, warn, warnOnce };
84456
+ export { ACESFilmicToneMapping, AONode, AddEquation, AddOperation, AdditiveBlending, AgXToneMapping, AlphaFormat, AlwaysCompare, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AmbientLightNode, AnalyticLightNode, ArrayCamera, ArrayElementNode, ArrayNode, AssignNode, AtomicFunctionNode, AttributeNode, BackSide, BarrierNode, BasicEnvironmentNode, BasicLightMapNode, BasicShadowMap, BatchNode, BitcastNode, BitcountNode, BlendMode, BoxGeometry, BufferAttribute, BufferAttributeNode, BufferGeometry, BufferNode, BuiltinNode, BumpMapNode, BundleGroup, BypassNode, ByteType, CanvasTarget, CineonToneMapping, ClampToEdgeWrapping, ClippingGroup, ClippingNode, CodeNode, Color, ColorManagement, ColorSpaceNode, Compatibility, ComputeBuiltinNode, ComputeNode, ConditionalNode, ConstNode, ContextNode, ConvertNode, CubeCamera, CubeDepthTexture, CubeMapNode, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureNode, CubeUVReflectionMapping, CullFaceBack, CullFaceFront, CullFaceNone, CustomBlending, CylinderGeometry, Data3DTexture, DataArrayTexture, DataTexture, DebugNode, DecrementStencilOp, DecrementWrapStencilOp, DepthFormat, DepthStencilFormat, DepthTexture, DirectionalLight, DirectionalLightNode, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicDrawUsage, EnvironmentNode, EqualCompare, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, EventDispatcher, EventNode, ExpressionNode, FileLoader, FlipNode, Float16BufferAttribute, Float32BufferAttribute, FloatType, FramebufferTexture, FrontFacingNode, FrontSide, Frustum, FrustumArray, FunctionCallNode, FunctionNode, FunctionOverloadingNode, GLSLNodeParser, GreaterCompare, GreaterDepth, GreaterEqualCompare, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, Group, HalfFloatType, HemisphereLight, HemisphereLightNode, IESSpotLight, IESSpotLightNode, IncrementStencilOp, IncrementWrapStencilOp, IndexNode, IndirectStorageBufferAttribute, InputNode, InspectorBase, InspectorNode, InstanceNode, InstancedBufferAttribute, InstancedInterleavedBuffer, InstancedMeshNode, IntType, InterleavedBuffer, InterleavedBufferAttribute, InvertStencilOp, IrradianceNode, IsolateNode, JoinNode, KeepStencilOp, LessCompare, LessDepth, LessEqualCompare, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, LightProbe, LightProbeGridNode, LightProbeNode, Lighting, LightingContextNode, LightingModel, LightingNode, LightsNode, Line2NodeMaterial, LineBasicMaterial, LineBasicNodeMaterial, LineDashedMaterial, LineDashedNodeMaterial, LinearFilter, LinearMipMapLinearFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearSRGBColorSpace, LinearToneMapping, LinearTransfer, Loader, LoopNode, MRTNode, Material, MaterialBlending, MaterialLightsNode, MaterialLoader, MaterialNode, MaterialReferenceNode, MathNode, MathUtils, Matrix2, Matrix3, Matrix4, MaxEquation, MaxMipLevelNode, MemberNode, Mesh, MeshBasicMaterial, MeshBasicNodeMaterial, MeshLambertMaterial, MeshLambertNodeMaterial, MeshMatcapMaterial, MeshMatcapNodeMaterial, MeshNormalMaterial, MeshNormalNodeMaterial, MeshPhongMaterial, MeshPhongNodeMaterial, MeshPhysicalMaterial, MeshPhysicalNodeMaterial, MeshSSSNodeMaterial, MeshStandardMaterial, MeshStandardNodeMaterial, MeshToonMaterial, MeshToonNodeMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, ModelNode, MorphNode, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeutralToneMapping, NeverCompare, NeverDepth, NeverStencilFunc, NoBlending, NoColorSpace, NoNormalPacking, NoToneMapping, Node, NodeAccess, NodeAttribute, NodeBuilder, NodeCache, NodeCode, NodeError, NodeFrame, NodeFunctionInput, NodeLoader, NodeMaterial, NodeMaterialLoader, NodeMaterialObserver, NodeObjectLoader, NodeShaderStage, NodeType, NodeUniform, NodeUpdateType, NodeUtils, NodeVar, NodeVarying, NormalBlending, NormalGAPacking, NormalMapNode, NormalRGPacking, NotEqualCompare, NotEqualDepth, NotEqualStencilFunc, Object3D, Object3DNode, ObjectLoader, ObjectSpaceNormalMap, OneFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OperatorNode, OrthographicCamera, OutputStructNode, PCFShadowMap, PCFSoftShadowMap, PMREMGenerator, PMREMNode, PackFloatNode, ParameterNode, PassNode, PerspectiveCamera, PhongLightingModel, PhysicalLightingModel, Plane, PlaneGeometry, PointLight, PointLightNode, PointShadowNode, PointUVNode, PointsMaterial, PointsNodeMaterial, PostProcessing, ProjectorLight, ProjectorLightNode, PropertyNode, QuadMesh, Quaternion, R11_EAC_Format, RED_GREEN_RGTC2_Format, RED_RGTC1_Format, REVISION, RG11_EAC_Format, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGBIntegerFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, RTTNode, RangeNode, ReadbackBuffer, RectAreaLight, RectAreaLightNode, RedFormat, RedIntegerFormat, ReferenceBaseNode, ReferenceNode, ReflectorNode, ReinhardToneMapping, RenderOutputNode, RenderPipeline, RenderTarget, RendererReferenceNode, RendererUtils, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RotateNode, SIGNED_R11_EAC_Format, SIGNED_RED_GREEN_RGTC2_Format, SIGNED_RED_RGTC1_Format, SIGNED_RG11_EAC_Format, SRGBColorSpace, SRGBTransfer, SampleNode, Scene, ScreenNode, SetNode, ShadowBaseNode, ShadowMaterial, ShadowNode, ShadowNodeMaterial, ShortType, SkinningNode, Sphere, SphereGeometry, SplitNode, SpotLight, SpotLightNode, SpriteMaterial, SpriteNodeMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StackNode, StackTrace, StaticDrawUsage, StorageArrayElementNode, StorageBufferAttribute, StorageBufferNode, StorageInstancedBufferAttribute, StorageTexture, StorageTextureNode, StructNode, StructTypeNode, SubBuildNode, SubgroupFunctionNode, SubtractEquation, SubtractiveBlending, TSL, TangentSpaceNormalMap, TempNode, Texture, Texture3DNode, TextureNode, TextureSizeNode, TimestampQuery, ToneMappingNode, ToonOutlinePassNode, UVMapping, Uint16BufferAttribute, Uint32BufferAttribute, UniformArrayNode, UniformGroupNode, UniformNode, UnpackFloatNode, UnsignedByteType, UnsignedInt101111Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, UserDataNode, VSMShadowMap, VarNode, VaryingNode, Vector2, Vector3, Vector4, VelocityNode, VertexColorNode, ViewportDepthNode, ViewportDepthTextureNode, ViewportSharedTextureNode, ViewportTextureNode, VolumeNodeMaterial, WebGLBackend, WebGLCoordinateSystem, WebGPUBackend, WebGPUCoordinateSystem, WebGPURenderer, WebXRController, WorkgroupInfoNode, ZeroFactor, ZeroStencilOp, createCanvasElement, defaultBuildStages, defaultShaderStages, error, log$1 as log, shaderStages, vectorComponents, warn, warnOnce };