@gnsx/three 0.184.6 → 0.184.7

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.
@@ -21694,7 +21694,10 @@ class NodeMaterial extends Material {
21694
21694
 
21695
21695
  if ( materialLightsNode.length > 0 ) {
21696
21696
 
21697
- lightsN = builder.renderer.lighting.createNode( [ ...lightsN.getLights(), ...materialLightsNode ] );
21697
+ // WITH_GENESYS
21698
+ lightsN = builder.renderer.lighting.createMaterialNode( lightsN, materialLightsNode );
21699
+ // !WITH_GENESYS
21700
+ // lightsN = builder.renderer.lighting.createNode( [ ...lightsN.getLights(), ...materialLightsNode ] );
21698
21701
 
21699
21702
  }
21700
21703
 
@@ -30381,6 +30384,21 @@ class RenderObjects {
30381
30384
  */
30382
30385
  this.chainMaps = {};
30383
30386
 
30387
+ /**
30388
+ * Strongly tracks every render object created through {@link createRenderObject}
30389
+ * so {@link dispose} can iterate them. ChainMap is `WeakMap`-backed and not
30390
+ * iterable, so without this set the dispose listeners installed by
30391
+ * `RenderObject` on shared materials and geometries (e.g. PMREM, `QuadGeometry`)
30392
+ * would leak when the renderer is torn down while those singletons live on.
30393
+ *
30394
+ * Entries are removed in the same `onDispose` callback that cleans the chain
30395
+ * map entry, so steady-state behavior is unchanged.
30396
+ *
30397
+ * @private
30398
+ * @type {Set<RenderObject>}
30399
+ */
30400
+ this._renderObjects = new Set();
30401
+
30384
30402
  }
30385
30403
 
30386
30404
  /**
@@ -30481,6 +30499,18 @@ class RenderObjects {
30481
30499
  */
30482
30500
  dispose() {
30483
30501
 
30502
+ // Snapshot first: `RenderObject.dispose()` fires `onDispose` which
30503
+ // mutates `_renderObjects` (and the chain map). Iterating the live set
30504
+ // would skip entries.
30505
+ const renderObjects = Array.from( this._renderObjects );
30506
+ this._renderObjects.clear();
30507
+
30508
+ for ( const renderObject of renderObjects ) {
30509
+
30510
+ renderObject.dispose();
30511
+
30512
+ }
30513
+
30484
30514
  this.chainMaps = {};
30485
30515
 
30486
30516
  }
@@ -30507,6 +30537,8 @@ class RenderObjects {
30507
30537
 
30508
30538
  const renderObject = new RenderObject( nodes, geometries, renderer, object, material, scene, camera, lightsNode, renderContext, clippingContext );
30509
30539
 
30540
+ this._renderObjects.add( renderObject );
30541
+
30510
30542
  renderObject.onDispose = () => {
30511
30543
 
30512
30544
  this.pipelines.delete( renderObject );
@@ -30515,6 +30547,8 @@ class RenderObjects {
30515
30547
 
30516
30548
  chainMap.delete( renderObject.getChainArray() );
30517
30549
 
30550
+ this._renderObjects.delete( renderObject );
30551
+
30518
30552
  };
30519
30553
 
30520
30554
  return renderObject;
@@ -33600,6 +33634,28 @@ class Textures extends DataMap {
33600
33634
  */
33601
33635
  this._htmlTextures = new Set();
33602
33636
 
33637
+ /**
33638
+ * Strongly tracks every texture that has had a `'dispose'` listener
33639
+ * installed by {@link updateTexture}. `DataMap` is `WeakMap`-backed and
33640
+ * not iterable; without this set the listener (whose closure references
33641
+ * `Textures` → `renderer`) would leak when {@link dispose} is called
33642
+ * while shared textures live on.
33643
+ *
33644
+ * @private
33645
+ * @type {Set<Texture>}
33646
+ */
33647
+ this._textures = new Set();
33648
+
33649
+ /**
33650
+ * Strongly tracks every render target that has had a `'dispose'` listener
33651
+ * installed by {@link updateRenderTarget}. Same rationale as
33652
+ * {@link _textures}.
33653
+ *
33654
+ * @private
33655
+ * @type {Set<RenderTarget>}
33656
+ */
33657
+ this._renderTargets = new Set();
33658
+
33603
33659
  }
33604
33660
 
33605
33661
  /**
@@ -33726,6 +33782,8 @@ class Textures extends DataMap {
33726
33782
 
33727
33783
  renderTarget.addEventListener( 'dispose', renderTargetData.onDispose );
33728
33784
 
33785
+ this._renderTargets.add( renderTarget );
33786
+
33729
33787
  }
33730
33788
 
33731
33789
  }
@@ -33946,6 +34004,8 @@ class Textures extends DataMap {
33946
34004
 
33947
34005
  texture.addEventListener( 'dispose', textureData.onDispose );
33948
34006
 
34007
+ this._textures.add( texture );
34008
+
33949
34009
  }
33950
34010
 
33951
34011
  //
@@ -34114,6 +34174,8 @@ class Textures extends DataMap {
34114
34174
  this.delete( renderTarget );
34115
34175
  this.backend.delete( renderTarget );
34116
34176
 
34177
+ this._renderTargets.delete( renderTarget );
34178
+
34117
34179
  this.info.memory.renderTargets --;
34118
34180
 
34119
34181
  }
@@ -34163,12 +34225,50 @@ class Textures extends DataMap {
34163
34225
 
34164
34226
  this.delete( texture );
34165
34227
 
34228
+ this._textures.delete( texture );
34229
+
34166
34230
  this.info.destroyTexture( texture );
34167
34231
 
34168
34232
  }
34169
34233
 
34170
34234
  }
34171
34235
 
34236
+ /**
34237
+ * Frees internal resources. Destroys every tracked render target and
34238
+ * texture so the `'dispose'` listeners installed by {@link updateTexture}
34239
+ * and {@link updateRenderTarget} are removed; without this, listeners on
34240
+ * shared textures (PMREM, environment maps, etc.) would retain this
34241
+ * `Textures` instance (and its renderer) across renderer teardown.
34242
+ *
34243
+ * @override
34244
+ */
34245
+ dispose() {
34246
+
34247
+ // Snapshot first: `_destroy*` mutates the sets.
34248
+ const renderTargets = Array.from( this._renderTargets );
34249
+ this._renderTargets.clear();
34250
+
34251
+ for ( const renderTarget of renderTargets ) {
34252
+
34253
+ this._destroyRenderTarget( renderTarget );
34254
+
34255
+ }
34256
+
34257
+ const textures = Array.from( this._textures );
34258
+ this._textures.clear();
34259
+
34260
+ for ( const texture of textures ) {
34261
+
34262
+ this._destroyTexture( texture );
34263
+
34264
+ }
34265
+
34266
+ this._htmlTextures.clear();
34267
+
34268
+ super.dispose();
34269
+
34270
+ }
34271
+
34172
34272
  }
34173
34273
 
34174
34274
  /**
@@ -43349,6 +43449,112 @@ class LightsNode extends Node {
43349
43449
 
43350
43450
  }
43351
43451
 
43452
+ // WITH_GENESYS
43453
+ /**
43454
+ * A lights node that composes a live scene lights node with material-local
43455
+ * lighting nodes like environment, AO and light map lighting.
43456
+ *
43457
+ * @augments LightsNode
43458
+ */
43459
+ class MaterialLightsNode extends LightsNode {
43460
+
43461
+ static get type() {
43462
+
43463
+ return 'MaterialLightsNode';
43464
+
43465
+ }
43466
+
43467
+ /**
43468
+ * Constructs a new material lights node.
43469
+ *
43470
+ * @param {LightsNode} lightsNode - The live scene lights node.
43471
+ * @param {Array<LightingNode>} materialLights - Material-local lighting nodes.
43472
+ */
43473
+ constructor( lightsNode, materialLights = [] ) {
43474
+
43475
+ super();
43476
+
43477
+ this.lightsNode = lightsNode;
43478
+ this.materialLights = materialLights;
43479
+ this.updateType = lightsNode.getUpdateType();
43480
+ this.updateBeforeType = lightsNode.getUpdateBeforeType();
43481
+ this.updateAfterType = lightsNode.getUpdateAfterType();
43482
+
43483
+ }
43484
+
43485
+ customCacheKey() {
43486
+
43487
+ const hash = [ this.lightsNode.getCacheKey( true ) ];
43488
+
43489
+ for ( const lightNode of this.materialLights ) {
43490
+
43491
+ hash.push( lightNode.getCacheKey( true ) );
43492
+
43493
+ }
43494
+
43495
+ return hashArray( hash );
43496
+
43497
+ }
43498
+
43499
+ setupLights( builder, materialLights ) {
43500
+
43501
+ this.lightsNode.setupLights( builder, this.lightsNode.getLightNodes( builder ) );
43502
+
43503
+ for ( const lightNode of materialLights ) {
43504
+
43505
+ lightNode.build( builder );
43506
+
43507
+ }
43508
+
43509
+ }
43510
+
43511
+ update( frame ) {
43512
+
43513
+ if ( this.lightsNode.update ) this.lightsNode.update( frame );
43514
+
43515
+ }
43516
+
43517
+ updateBefore( frame ) {
43518
+
43519
+ if ( this.lightsNode.updateBefore ) this.lightsNode.updateBefore( frame );
43520
+
43521
+ }
43522
+
43523
+ updateAfter( frame ) {
43524
+
43525
+ if ( this.lightsNode.updateAfter ) this.lightsNode.updateAfter( frame );
43526
+
43527
+ }
43528
+
43529
+ dispose() {
43530
+
43531
+ super.dispose();
43532
+
43533
+ this.lightsNode = null;
43534
+ this.materialLights = null;
43535
+
43536
+ }
43537
+
43538
+ getLightNodes() {
43539
+
43540
+ return this.materialLights;
43541
+
43542
+ }
43543
+
43544
+ getLights() {
43545
+
43546
+ return this.lightsNode.getLights();
43547
+
43548
+ }
43549
+
43550
+ get hasLights() {
43551
+
43552
+ return this.lightsNode.getScope().hasLights || this.materialLights.length > 0;
43553
+
43554
+ }
43555
+
43556
+ }
43557
+
43352
43558
  /**
43353
43559
  * TSL function for creating an instance of `LightsNode` and configuring
43354
43560
  * it with the given array of lights.
@@ -47429,6 +47635,7 @@ var TSL = /*#__PURE__*/Object.freeze({
47429
47635
  INFINITY: INFINITY,
47430
47636
  If: If,
47431
47637
  Loop: Loop,
47638
+ MaterialLightsNode: MaterialLightsNode,
47432
47639
  NodeAccess: NodeAccess,
47433
47640
  NodeShaderStage: NodeShaderStage,
47434
47641
  NodeType: NodeType,
@@ -55690,6 +55897,22 @@ class Lighting {
55690
55897
 
55691
55898
  }
55692
55899
 
55900
+ // WITH_GENESYS
55901
+ /**
55902
+ * Creates a lights node that composes live scene lighting with material-local
55903
+ * lighting nodes such as environment, AO and light map lighting.
55904
+ *
55905
+ * @param {LightsNode} lightsNode - The live scene lights node.
55906
+ * @param {Array<LightingNode>} materialLights - Material-local lighting nodes.
55907
+ * @return {MaterialLightsNode} The material lights node.
55908
+ */
55909
+ createMaterialNode( lightsNode, materialLights = [] ) {
55910
+
55911
+ return new MaterialLightsNode( lightsNode, materialLights );
55912
+
55913
+ }
55914
+ // !WITH_GENESYS
55915
+
55693
55916
  /**
55694
55917
  * Returns a lights node for the given scene and camera.
55695
55918
  *
@@ -60296,6 +60519,11 @@ class Renderer {
60296
60519
 
60297
60520
  } );
60298
60521
 
60522
+ // Drop the strong reference to the active `RenderContext` so module-level
60523
+ // `WeakMap<RenderContext, …>` caches can release entries once
60524
+ // `_renderContexts.dispose()` has cleared its dictionary.
60525
+ this._currentRenderContext = null;
60526
+
60299
60527
  }
60300
60528
 
60301
60529
  this.setRenderTarget( null );
@@ -83699,4 +83927,4 @@ class ClippingGroup extends Group {
83699
83927
 
83700
83928
  }
83701
83929
 
83702
- 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, 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 };
83930
+ 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 };