@babylonjs/core 8.1.1 → 8.2.1
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.
- package/Actions/abstractActionManager.d.ts +4 -4
- package/Actions/action.d.ts +9 -9
- package/Actions/actionEvent.d.ts +5 -5
- package/Actions/actionManager.d.ts +6 -6
- package/Actions/condition.d.ts +1 -1
- package/Actions/directActions.d.ts +3 -3
- package/Actions/directAudioActions.d.ts +3 -3
- package/Actions/index.d.ts +8 -8
- package/Actions/interpolateValueAction.d.ts +3 -3
- package/Animations/animatable.core.d.ts +2 -2
- package/Animations/animatable.d.ts +8 -8
- package/Animations/animatable.interface.d.ts +2 -2
- package/Animations/animation.d.ts +13 -13
- package/Animations/animationGroup.d.ts +8 -8
- package/Animations/animationKey.d.ts +1 -1
- package/Animations/index.d.ts +12 -12
- package/Animations/pathCursor.d.ts +2 -2
- package/Animations/runtimeAnimation.d.ts +4 -4
- package/Audio/Interfaces/IAudioEngine.d.ts +4 -4
- package/Audio/analyser.d.ts +2 -2
- package/Audio/audioEngine.d.ts +4 -4
- package/Audio/audioSceneComponent.d.ts +8 -8
- package/Audio/index.d.ts +8 -8
- package/Audio/sound.d.ts +6 -6
- package/Audio/soundTrack.d.ts +4 -4
- package/Audio/weightedsound.d.ts +1 -1
- package/AudioV2/abstractAudio/abstractAudioBus.d.ts +5 -5
- package/AudioV2/abstractAudio/abstractAudioNode.d.ts +2 -2
- package/AudioV2/abstractAudio/abstractSound.d.ts +12 -12
- package/AudioV2/abstractAudio/abstractSound.js +1 -1
- package/AudioV2/abstractAudio/abstractSound.js.map +1 -1
- package/AudioV2/abstractAudio/abstractSoundInstance.d.ts +4 -4
- package/AudioV2/abstractAudio/audioBus.d.ts +7 -7
- package/AudioV2/abstractAudio/audioEngineV2.d.ts +8 -8
- package/AudioV2/abstractAudio/components/spatialAudioAttacherComponent.d.ts +5 -5
- package/AudioV2/abstractAudio/index.d.ts +10 -10
- package/AudioV2/abstractAudio/mainAudioBus.d.ts +3 -3
- package/AudioV2/abstractAudio/mainAudioOut.d.ts +2 -2
- package/AudioV2/abstractAudio/staticSound.d.ts +5 -5
- package/AudioV2/abstractAudio/staticSoundBuffer.d.ts +1 -1
- package/AudioV2/abstractAudio/staticSoundInstance.d.ts +3 -3
- package/AudioV2/abstractAudio/streamingSound.d.ts +4 -4
- package/AudioV2/abstractAudio/streamingSoundInstance.d.ts +4 -4
- package/AudioV2/abstractAudio/subNodes/abstractAudioSubGraph.d.ts +3 -3
- package/AudioV2/abstractAudio/subNodes/abstractAudioSubNode.d.ts +2 -2
- package/AudioV2/abstractAudio/subNodes/audioAnalyzerSubNode.d.ts +6 -6
- package/AudioV2/abstractAudio/subNodes/spatialAudioSubNode.d.ts +9 -9
- package/AudioV2/abstractAudio/subNodes/stereoAudioSubNode.d.ts +6 -6
- package/AudioV2/abstractAudio/subNodes/volumeAudioSubNode.d.ts +4 -4
- package/AudioV2/abstractAudio/subProperties/abstractSpatialAudio.d.ts +4 -4
- package/AudioV2/abstractAudio/subProperties/abstractSpatialAudioListener.d.ts +4 -4
- package/AudioV2/abstractAudio/subProperties/audioAnalyzer.d.ts +3 -3
- package/AudioV2/abstractAudio/subProperties/index.d.ts +4 -4
- package/AudioV2/abstractAudio/subProperties/spatialAudio.d.ts +6 -6
- package/AudioV2/abstractAudio/subProperties/spatialAudioListener.d.ts +6 -6
- package/AudioV2/abstractAudio/subProperties/stereoAudio.d.ts +2 -2
- package/AudioV2/index.d.ts +4 -4
- package/AudioV2/webAudio/index.d.ts +5 -5
- package/AudioV2/webAudio/subNodes/spatialWebAudioSubNode.d.ts +4 -4
- package/AudioV2/webAudio/subNodes/stereoWebAudioSubNode.d.ts +3 -3
- package/AudioV2/webAudio/subNodes/volumeWebAudioSubNode.d.ts +3 -3
- package/AudioV2/webAudio/subNodes/webAudioAnalyzerSubNode.d.ts +4 -4
- package/AudioV2/webAudio/subNodes/webAudioBaseSubGraph.d.ts +7 -7
- package/AudioV2/webAudio/subNodes/webAudioBusAndSoundSubGraph.d.ts +7 -7
- package/AudioV2/webAudio/subProperties/spatialWebAudio.d.ts +2 -2
- package/AudioV2/webAudio/subProperties/spatialWebAudioListener.d.ts +2 -2
- package/AudioV2/webAudio/webAudioBus.d.ts +7 -7
- package/AudioV2/webAudio/webAudioEngine.d.ts +11 -11
- package/AudioV2/webAudio/webAudioMainBus.d.ts +6 -6
- package/AudioV2/webAudio/webAudioMainOut.d.ts +3 -3
- package/AudioV2/webAudio/webAudioNode.d.ts +4 -4
- package/AudioV2/webAudio/webAudioStaticSound.d.ts +13 -13
- package/AudioV2/webAudio/webAudioStreamingSound.d.ts +10 -10
- package/AudioV2/webAudio/webAudioUnmuteUI.d.ts +1 -1
- package/BakedVertexAnimation/bakedVertexAnimationManager.d.ts +5 -5
- package/BakedVertexAnimation/index.d.ts +2 -2
- package/BakedVertexAnimation/vertexAnimationBaker.d.ts +4 -4
- package/Behaviors/Cameras/autoRotationBehavior.d.ts +3 -3
- package/Behaviors/Cameras/bouncingBehavior.d.ts +3 -3
- package/Behaviors/Cameras/framingBehavior.d.ts +7 -7
- package/Behaviors/Cameras/index.d.ts +3 -3
- package/Behaviors/Meshes/attachToBoxBehavior.d.ts +3 -3
- package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +9 -9
- package/Behaviors/Meshes/fadeInOutBehavior.d.ts +2 -2
- package/Behaviors/Meshes/followBehavior.d.ts +4 -4
- package/Behaviors/Meshes/handConstraintBehavior.d.ts +4 -4
- package/Behaviors/Meshes/index.d.ts +9 -9
- package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +2 -2
- package/Behaviors/Meshes/pointerDragBehavior.d.ts +8 -8
- package/Behaviors/Meshes/sixDofDragBehavior.d.ts +4 -4
- package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -5
- package/Behaviors/behavior.d.ts +1 -1
- package/Behaviors/index.d.ts +3 -3
- package/Bones/bone.d.ts +8 -8
- package/Bones/boneIKController.d.ts +4 -4
- package/Bones/boneLookController.d.ts +4 -4
- package/Bones/index.d.ts +4 -4
- package/Bones/skeleton.d.ts +13 -13
- package/Buffers/buffer.align.d.ts +2 -2
- package/Buffers/buffer.d.ts +3 -3
- package/Buffers/buffer.nonFloatVertexBuffers.d.ts +3 -3
- package/Buffers/bufferUtils.d.ts +1 -1
- package/Buffers/index.d.ts +5 -5
- package/Buffers/storageBuffer.d.ts +2 -2
- package/Cameras/Inputs/BaseCameraMouseWheelInput.d.ts +3 -3
- package/Cameras/Inputs/BaseCameraPointersInput.d.ts +5 -5
- package/Cameras/Inputs/arcRotateCameraGamepadInput.d.ts +4 -4
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.d.ts +2 -2
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.d.ts +4 -4
- package/Cameras/Inputs/arcRotateCameraPointersInput.d.ts +5 -5
- package/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.d.ts +3 -3
- package/Cameras/Inputs/flyCameraKeyboardInput.d.ts +2 -2
- package/Cameras/Inputs/flyCameraMouseInput.d.ts +2 -2
- package/Cameras/Inputs/followCameraKeyboardMoveInput.d.ts +2 -2
- package/Cameras/Inputs/followCameraMouseWheelInput.d.ts +2 -2
- package/Cameras/Inputs/followCameraPointersInput.d.ts +4 -4
- package/Cameras/Inputs/freeCameraDeviceOrientationInput.d.ts +5 -5
- package/Cameras/Inputs/freeCameraGamepadInput.d.ts +4 -4
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.d.ts +2 -2
- package/Cameras/Inputs/freeCameraMouseInput.d.ts +3 -3
- package/Cameras/Inputs/freeCameraMouseWheelInput.d.ts +4 -4
- package/Cameras/Inputs/freeCameraTouchInput.d.ts +2 -2
- package/Cameras/Inputs/freeCameraVirtualJoystickInput.d.ts +4 -4
- package/Cameras/Inputs/index.d.ts +19 -19
- package/Cameras/RigModes/index.d.ts +3 -3
- package/Cameras/RigModes/stereoscopicAnaglyphRigMode.d.ts +1 -1
- package/Cameras/RigModes/stereoscopicRigMode.d.ts +1 -1
- package/Cameras/RigModes/vrRigMode.d.ts +1 -1
- package/Cameras/Stereoscopic/anaglyphArcRotateCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/anaglyphFreeCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/anaglyphGamepadCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/anaglyphUniversalCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/index.d.ts +9 -9
- package/Cameras/Stereoscopic/stereoscopicArcRotateCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/stereoscopicFreeCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/stereoscopicGamepadCamera.d.ts +3 -3
- package/Cameras/Stereoscopic/stereoscopicScreenUniversalCamera.d.ts +5 -5
- package/Cameras/Stereoscopic/stereoscopicUniversalCamera.d.ts +3 -3
- package/Cameras/VR/index.d.ts +5 -5
- package/Cameras/VR/vrCameraMetrics.d.ts +1 -1
- package/Cameras/VR/vrDeviceOrientationArcRotateCamera.d.ts +5 -5
- package/Cameras/VR/vrDeviceOrientationFreeCamera.d.ts +4 -4
- package/Cameras/VR/vrDeviceOrientationGamepadCamera.d.ts +5 -5
- package/Cameras/VR/vrExperienceHelper.d.ts +15 -15
- package/Cameras/arcRotateCamera.d.ts +12 -12
- package/Cameras/arcRotateCameraInputsManager.d.ts +2 -2
- package/Cameras/camera.d.ts +16 -16
- package/Cameras/cameraInputsManager.d.ts +2 -2
- package/Cameras/deviceOrientationCamera.d.ts +5 -5
- package/Cameras/flyCamera.d.ts +6 -6
- package/Cameras/flyCameraInputsManager.d.ts +2 -2
- package/Cameras/followCamera.d.ts +6 -6
- package/Cameras/followCameraInputsManager.d.ts +2 -2
- package/Cameras/freeCamera.d.ts +5 -5
- package/Cameras/freeCameraInputsManager.d.ts +5 -5
- package/Cameras/gamepadCamera.d.ts +3 -3
- package/Cameras/index.d.ts +20 -20
- package/Cameras/targetCamera.d.ts +4 -4
- package/Cameras/touchCamera.d.ts +3 -3
- package/Cameras/universalCamera.d.ts +4 -4
- package/Cameras/virtualJoysticksCamera.d.ts +4 -4
- package/Collisions/collider.d.ts +4 -4
- package/Collisions/collisionCoordinator.d.ts +5 -5
- package/Collisions/index.d.ts +10 -10
- package/Collisions/intersectionInfo.d.ts +1 -1
- package/Collisions/meshCollisionData.d.ts +5 -5
- package/Collisions/pickingInfo.d.ts +6 -6
- package/Compat/index.d.ts +1 -1
- package/Compute/computeEffect.d.ts +4 -4
- package/Compute/computeShader.d.ts +8 -8
- package/Compute/index.d.ts +2 -2
- package/Culling/Helper/computeShaderBoundingHelper.d.ts +2 -2
- package/Culling/Helper/transformFeedbackBoundingHelper.d.ts +3 -3
- package/Culling/Octrees/index.d.ts +3 -3
- package/Culling/Octrees/octree.d.ts +7 -7
- package/Culling/Octrees/octreeBlock.d.ts +4 -4
- package/Culling/Octrees/octreeSceneComponent.d.ts +9 -9
- package/Culling/boundingBox.d.ts +6 -6
- package/Culling/boundingInfo.d.ts +7 -7
- package/Culling/boundingSphere.d.ts +3 -3
- package/Culling/index.d.ts +8 -8
- package/Culling/ray.core.d.ts +4 -4
- package/Culling/ray.core.js +1 -1
- package/Culling/ray.core.js.map +1 -1
- package/Culling/ray.d.ts +1 -1
- package/Debug/ISkeletonViewer.d.ts +2 -2
- package/Debug/axesViewer.d.ts +4 -4
- package/Debug/boneAxesViewer.d.ts +6 -6
- package/Debug/debugLayer.d.ts +4 -4
- package/Debug/debugLayer.js +8 -1
- package/Debug/debugLayer.js.map +1 -1
- package/Debug/directionalLightFrustumViewer.d.ts +3 -3
- package/Debug/index.d.ts +8 -8
- package/Debug/physicsViewer.d.ts +11 -11
- package/Debug/rayHelper.d.ts +6 -6
- package/Debug/skeletonViewer.d.ts +9 -9
- package/Decorators/nodeDecorator.d.ts +2 -2
- package/DeviceInput/InputDevices/deviceSource.d.ts +5 -5
- package/DeviceInput/InputDevices/deviceSourceManager.d.ts +8 -8
- package/DeviceInput/InputDevices/deviceTypes.d.ts +1 -1
- package/DeviceInput/eventFactory.d.ts +4 -4
- package/DeviceInput/index.d.ts +4 -4
- package/DeviceInput/inputInterfaces.d.ts +2 -2
- package/DeviceInput/internalDeviceSourceManager.d.ts +8 -8
- package/DeviceInput/nativeDeviceInputSystem.d.ts +3 -3
- package/DeviceInput/webDeviceInputSystem.d.ts +4 -4
- package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +1 -1
- package/Engines/AbstractEngine/abstractEngine.cubeTexture.d.ts +4 -4
- package/Engines/AbstractEngine/abstractEngine.dom.d.ts +3 -3
- package/Engines/AbstractEngine/abstractEngine.loadingScreen.d.ts +2 -2
- package/Engines/AbstractEngine/abstractEngine.query.d.ts +3 -3
- package/Engines/AbstractEngine/abstractEngine.renderPass.d.ts +1 -1
- package/Engines/AbstractEngine/abstractEngine.states.d.ts +3 -3
- package/Engines/AbstractEngine/abstractEngine.texture.d.ts +4 -4
- package/Engines/AbstractEngine/abstractEngine.timeQuery.d.ts +3 -3
- package/Engines/AbstractEngine/abstractEngine.views.d.ts +4 -4
- package/Engines/AbstractEngine/index.d.ts +10 -10
- package/Engines/Extensions/engine.alpha.d.ts +1 -1
- package/Engines/Extensions/engine.computeShader.d.ts +7 -7
- package/Engines/Extensions/engine.cubeTexture.d.ts +5 -5
- package/Engines/Extensions/engine.debugging.d.ts +1 -1
- package/Engines/Extensions/engine.dynamicBuffer.d.ts +3 -3
- package/Engines/Extensions/engine.dynamicTexture.d.ts +4 -4
- package/Engines/Extensions/engine.multiRender.d.ts +5 -5
- package/Engines/Extensions/engine.multiview.d.ts +9 -9
- package/Engines/Extensions/engine.prefilteredCubeTexture.d.ts +4 -4
- package/Engines/Extensions/engine.query.d.ts +7 -7
- package/Engines/Extensions/engine.rawTexture.d.ts +4 -4
- package/Engines/Extensions/engine.readTexture.d.ts +4 -4
- package/Engines/Extensions/engine.renderTarget.d.ts +6 -6
- package/Engines/Extensions/engine.renderTargetCube.d.ts +3 -3
- package/Engines/Extensions/engine.renderTargetTexture.d.ts +3 -3
- package/Engines/Extensions/engine.textureSelector.d.ts +2 -2
- package/Engines/Extensions/engine.transformFeedback.d.ts +3 -3
- package/Engines/Extensions/engine.uniformBuffer.d.ts +4 -4
- package/Engines/Extensions/engine.videoTexture.d.ts +4 -4
- package/Engines/Extensions/engine.views.d.ts +1 -1
- package/Engines/Extensions/index.d.ts +20 -20
- package/Engines/IPipelineContext.d.ts +4 -4
- package/Engines/Native/index.d.ts +2 -2
- package/Engines/Native/nativeDataStream.d.ts +1 -1
- package/Engines/Native/nativeHardwareTexture.d.ts +3 -3
- package/Engines/Native/nativeInterfaces.d.ts +6 -6
- package/Engines/Native/nativePipelineContext.d.ts +8 -8
- package/Engines/Native/nativeRenderTargetWrapper.d.ts +5 -5
- package/Engines/Native/nativeShaderProcessingContext.d.ts +1 -1
- package/Engines/Native/nativeShaderProcessors.d.ts +4 -4
- package/Engines/Native/validatedNativeDataStream.d.ts +2 -2
- package/Engines/Processors/Expressions/Operators/index.d.ts +4 -4
- package/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js +2 -6
- package/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.js.map +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.d.ts +1 -1
- package/Engines/Processors/Expressions/index.d.ts +2 -2
- package/Engines/Processors/iShaderProcessor.d.ts +8 -4
- package/Engines/Processors/iShaderProcessor.js.map +1 -1
- package/Engines/Processors/index.d.ts +9 -9
- package/Engines/Processors/shaderCodeConditionNode.d.ts +5 -3
- package/Engines/Processors/shaderCodeConditionNode.js +2 -2
- package/Engines/Processors/shaderCodeConditionNode.js.map +1 -1
- package/Engines/Processors/shaderCodeNode.d.ts +4 -2
- package/Engines/Processors/shaderCodeNode.js +3 -2
- package/Engines/Processors/shaderCodeNode.js.map +1 -1
- package/Engines/Processors/shaderCodeTestNode.d.ts +2 -2
- package/Engines/Processors/shaderProcessingOptions.d.ts +2 -2
- package/Engines/Processors/shaderProcessor.d.ts +6 -6
- package/Engines/Processors/shaderProcessor.js +16 -14
- package/Engines/Processors/shaderProcessor.js.map +1 -1
- package/Engines/WebGL/webGL2ShaderProcessors.d.ts +2 -2
- package/Engines/WebGL/webGLHardwareTexture.d.ts +2 -2
- package/Engines/WebGL/webGLPipelineContext.d.ts +6 -6
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +5 -5
- package/Engines/WebGL/webGLShaderProcessors.d.ts +4 -4
- package/Engines/WebGPU/Extensions/engine.alpha.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +7 -7
- package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +5 -5
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +4 -4
- package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +5 -5
- package/Engines/WebGPU/Extensions/engine.query.d.ts +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +4 -4
- package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +3 -3
- package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +6 -6
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +3 -3
- package/Engines/WebGPU/Extensions/engine.renderTargetTexture.d.ts +3 -3
- package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +4 -4
- package/Engines/WebGPU/Extensions/index.d.ts +13 -13
- package/Engines/WebGPU/webgpuBufferManager.d.ts +4 -4
- package/Engines/WebGPU/webgpuBundleList.d.ts +1 -1
- package/Engines/WebGPU/webgpuCacheBindGroups.d.ts +5 -5
- package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +5 -5
- package/Engines/WebGPU/webgpuCacheRenderPipelineString.d.ts +2 -2
- package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +2 -2
- package/Engines/WebGPU/webgpuCacheSampler.d.ts +2 -2
- package/Engines/WebGPU/webgpuClearQuad.d.ts +7 -7
- package/Engines/WebGPU/webgpuComputeContext.d.ts +3 -3
- package/Engines/WebGPU/webgpuComputePipelineContext.d.ts +3 -3
- package/Engines/WebGPU/webgpuDepthCullingState.d.ts +3 -3
- package/Engines/WebGPU/webgpuDrawContext.d.ts +4 -4
- package/Engines/WebGPU/webgpuExternalTexture.d.ts +1 -1
- package/Engines/WebGPU/webgpuHardwareTexture.d.ts +3 -3
- package/Engines/WebGPU/webgpuMaterialContext.d.ts +5 -5
- package/Engines/WebGPU/webgpuOcclusionQuery.d.ts +2 -2
- package/Engines/WebGPU/webgpuPerfCounter.d.ts +1 -1
- package/Engines/WebGPU/webgpuPipelineContext.d.ts +8 -8
- package/Engines/WebGPU/webgpuQuerySet.d.ts +3 -3
- package/Engines/WebGPU/webgpuRenderTargetWrapper.d.ts +4 -4
- package/Engines/WebGPU/webgpuShaderProcessingContext.d.ts +2 -2
- package/Engines/WebGPU/webgpuShaderProcessor.d.ts +4 -4
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +5 -5
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +22 -18
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +64 -21
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +2 -2
- package/Engines/WebGPU/webgpuStencilStateComposer.d.ts +2 -2
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +2 -2
- package/Engines/WebGPU/webgpuTextureManager.d.ts +6 -6
- package/Engines/WebGPU/webgpuTimestampQuery.d.ts +4 -4
- package/Engines/abstractEngine.d.ts +41 -41
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/engine.common.d.ts +3 -3
- package/Engines/engine.d.ts +30 -30
- package/Engines/engineFactory.d.ts +1 -1
- package/Engines/engineStore.d.ts +4 -4
- package/Engines/index.d.ts +39 -39
- package/Engines/nativeEngine.d.ts +27 -27
- package/Engines/nullEngine.d.ts +13 -13
- package/Engines/renderTargetWrapper.d.ts +4 -4
- package/Engines/shaderStore.d.ts +1 -1
- package/Engines/thinEngine.d.ts +27 -27
- package/Engines/thinEngine.functions.d.ts +5 -5
- package/Engines/thinWebGPUEngine.d.ts +8 -8
- package/Engines/webgpuEngine.d.ts +48 -48
- package/Events/deviceInputEvents.d.ts +1 -1
- package/Events/index.d.ts +4 -4
- package/Events/keyboardEvents.d.ts +1 -1
- package/Events/pointerEvents.d.ts +6 -6
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.d.ts +12 -7
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js +26 -7
- package/FlowGraph/Blocks/Data/Math/flowGraphMathBlocks.js.map +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMathCombineExtractBlocks.d.ts +1 -1
- package/FlowGraph/Blocks/Data/Math/flowGraphMatrixMathBlocks.d.ts +2 -2
- package/FlowGraph/Blocks/Data/Math/flowGraphVectorMathBlocks.d.ts +3 -3
- package/FlowGraph/Blocks/Data/Math/index.d.ts +4 -4
- package/FlowGraph/Blocks/Data/Transformers/flowGraphJsonPointerParserBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/Transformers/flowGraphTypeToTypeBlocks.d.ts +1 -1
- package/FlowGraph/Blocks/Data/Transformers/index.d.ts +2 -2
- package/FlowGraph/Blocks/Data/Utils/index.d.ts +5 -5
- package/FlowGraph/Blocks/Data/flowGraphBinaryOperationBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Data/flowGraphCachedOperationBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Data/flowGraphConditionalDataBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Data/flowGraphConstantBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphConstantOperationBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Data/flowGraphGetPropertyBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Data/flowGraphGetVariableBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Data/flowGraphTernaryOperationBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Data/flowGraphTransformCoordinatesSystemBlock.d.ts +6 -6
- package/FlowGraph/Blocks/Data/flowGraphUnaryOperationBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Data/index.d.ts +12 -12
- package/FlowGraph/Blocks/Event/flowGraphMeshPickEventBlock.d.ts +6 -6
- package/FlowGraph/Blocks/Event/flowGraphPointerOutEventBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Event/flowGraphPointerOverEventBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Event/flowGraphReceiveCustomEventBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Event/flowGraphSceneReadyEventBlock.d.ts +2 -2
- package/FlowGraph/Blocks/Event/flowGraphSceneTickEventBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Event/flowGraphSendCustomEventBlock.d.ts +3 -3
- package/FlowGraph/Blocks/Event/index.d.ts +7 -7
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphInterpolationBlock.js.map +1 -1
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPauseAnimationBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/Animation/flowGraphPlayAnimationBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/Animation/flowGraphStopAnimationBlock.d.ts +3 -3
- package/FlowGraph/Blocks/Execution/Animation/index.d.ts +6 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphBranchBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCancelDelayBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphCounterBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDoNBlock.d.ts +6 -6
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphFlipFlopBlock.d.ts +1 -1
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphForLoopBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphMultiGateBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSequenceBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSetDelayBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphSwitchBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphThrottleBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWaitAllBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/ControlFlow/flowGraphWhileLoopBlock.d.ts +5 -5
- package/FlowGraph/Blocks/Execution/ControlFlow/index.d.ts +14 -14
- package/FlowGraph/Blocks/Execution/flowGraphConsoleLogBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/flowGraphSetVariableBlock.d.ts +4 -4
- package/FlowGraph/Blocks/Execution/index.d.ts +3 -3
- package/FlowGraph/Blocks/flowGraphBlockFactory.d.ts +2 -2
- package/FlowGraph/Blocks/index.d.ts +5 -5
- package/FlowGraph/CustomTypes/index.d.ts +2 -2
- package/FlowGraph/flowGraph.d.ts +9 -9
- package/FlowGraph/flowGraphAsyncExecutionBlock.d.ts +4 -4
- package/FlowGraph/flowGraphBlock.d.ts +7 -7
- package/FlowGraph/flowGraphContext.d.ts +10 -10
- package/FlowGraph/flowGraphCoordinator.d.ts +4 -4
- package/FlowGraph/flowGraphDataConnection.d.ts +4 -4
- package/FlowGraph/flowGraphEventBlock.d.ts +3 -3
- package/FlowGraph/flowGraphExecutionBlock.d.ts +4 -4
- package/FlowGraph/flowGraphExecutionBlockWithOutSignal.d.ts +3 -3
- package/FlowGraph/flowGraphParser.d.ts +10 -10
- package/FlowGraph/flowGraphPathConverter.d.ts +3 -3
- package/FlowGraph/flowGraphPathConverterComponent.d.ts +6 -6
- package/FlowGraph/flowGraphPathConverterComponent.js +1 -1
- package/FlowGraph/flowGraphPathConverterComponent.js.map +1 -1
- package/FlowGraph/flowGraphRichTypes.d.ts +4 -4
- package/FlowGraph/flowGraphSceneEventCoordinator.d.ts +1 -1
- package/FlowGraph/flowGraphSignalConnection.d.ts +3 -3
- package/FlowGraph/index.d.ts +18 -18
- package/FlowGraph/serialization.d.ts +2 -2
- package/FlowGraph/typeDefinitions.d.ts +1 -1
- package/FlowGraph/utils.d.ts +3 -3
- package/FrameGraph/Node/Blocks/Layers/glowLayerBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Layers/highlightLayerBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/anaglyphPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/basePostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/blackAndWhitePostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/bloomPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/blurPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/chromaticAberrationPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/circleOfConfusionPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/depthOfFieldPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/PostProcesses/extractHighlightsPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.d.ts +71 -0
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js +246 -0
- package/FrameGraph/Node/Blocks/PostProcesses/imageProcessingPostProcessBlock.js.map +1 -0
- package/FrameGraph/Node/Blocks/PostProcesses/passPostProcessBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/PostProcesses/ssrPostProcessBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.d.ts +3 -3
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js +4 -4
- package/FrameGraph/Node/Blocks/Rendering/baseObjectRendererBlock.js.map +1 -1
- package/FrameGraph/Node/Blocks/Rendering/baseShadowGeneratorBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Rendering/csmShadowGeneratorBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/Rendering/geometryRendererBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/Rendering/objectRendererBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Rendering/shadowGeneratorBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Rendering/taaObjectRendererBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Rendering/utilityLayerRendererBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/Teleport/teleportInBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Teleport/teleportOutBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/Textures/clearBlock.d.ts +3 -3
- package/FrameGraph/Node/Blocks/Textures/copyTextureBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/Textures/generateMipmapsBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/cullObjectsBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/elbowBlock.d.ts +1 -1
- package/FrameGraph/Node/Blocks/executeBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/index.d.ts +30 -29
- package/FrameGraph/Node/Blocks/index.js +1 -0
- package/FrameGraph/Node/Blocks/index.js.map +1 -1
- package/FrameGraph/Node/Blocks/inputBlock.d.ts +3 -3
- package/FrameGraph/Node/Blocks/outputBlock.d.ts +2 -2
- package/FrameGraph/Node/Blocks/resourceContainerBlock.d.ts +1 -1
- package/FrameGraph/Node/nodeRenderGraph.d.ts +4 -4
- package/FrameGraph/Node/nodeRenderGraphBlock.d.ts +3 -3
- package/FrameGraph/Node/nodeRenderGraphBlockConnectionPoint.d.ts +2 -2
- package/FrameGraph/Node/nodeRenderGraphConnectionPointCustomObject.d.ts +2 -2
- package/FrameGraph/Passes/cullPass.d.ts +1 -1
- package/FrameGraph/Passes/renderPass.d.ts +1 -1
- package/FrameGraph/Tasks/Layers/baseLayerTask.d.ts +6 -6
- package/FrameGraph/Tasks/Layers/glowLayerTask.d.ts +1 -1
- package/FrameGraph/Tasks/Layers/highlightLayerTask.d.ts +1 -1
- package/FrameGraph/Tasks/Misc/cullObjectsTask.d.ts +1 -1
- package/FrameGraph/Tasks/Misc/executeTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/anaglyphTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/blackAndWhiteTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomMergeTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/bloomTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/blurTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/chromaticAberrationTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/circleOfConfusionTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldBlurTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldMergeTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/depthOfFieldTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/extractHighlightsTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.d.ts +17 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js +23 -0
- package/FrameGraph/Tasks/PostProcesses/imageProcessingTask.js.map +1 -0
- package/FrameGraph/Tasks/PostProcesses/passTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/postProcessTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrBlurTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrRenderingPipelineTask.d.ts +1 -1
- package/FrameGraph/Tasks/PostProcesses/ssrTask.d.ts +1 -1
- package/FrameGraph/Tasks/Rendering/csmShadowGeneratorTask.d.ts +2 -2
- package/FrameGraph/Tasks/Rendering/geometryRendererTask.d.ts +2 -2
- package/FrameGraph/Tasks/Rendering/objectRendererTask.d.ts +5 -4
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js +5 -4
- package/FrameGraph/Tasks/Rendering/objectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/shadowGeneratorTask.d.ts +2 -2
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.d.ts +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js +1 -1
- package/FrameGraph/Tasks/Rendering/taaObjectRendererTask.js.map +1 -1
- package/FrameGraph/Tasks/Rendering/utilityLayerRendererTask.d.ts +1 -1
- package/FrameGraph/Tasks/Texture/clearTextureTask.d.ts +2 -2
- package/FrameGraph/Tasks/Texture/copyToBackbufferColorTask.d.ts +1 -1
- package/FrameGraph/Tasks/Texture/copyToTextureTask.d.ts +1 -1
- package/FrameGraph/Tasks/Texture/generateMipMapsTask.d.ts +1 -1
- package/FrameGraph/frameGraph.d.ts +5 -5
- package/FrameGraph/frameGraphRenderContext.d.ts +1 -1
- package/FrameGraph/frameGraphTextureManager.d.ts +2 -2
- package/FrameGraph/index.d.ts +43 -42
- package/FrameGraph/index.js +1 -0
- package/FrameGraph/index.js.map +1 -1
- package/Gamepads/dualShockGamepad.d.ts +2 -2
- package/Gamepads/gamepad.d.ts +1 -1
- package/Gamepads/gamepadManager.d.ts +4 -4
- package/Gamepads/gamepadSceneComponent.d.ts +7 -7
- package/Gamepads/index.d.ts +5 -5
- package/Gamepads/xboxGamepad.d.ts +2 -2
- package/Gizmos/axisDragGizmo.d.ts +16 -16
- package/Gizmos/axisScaleGizmo.d.ts +15 -15
- package/Gizmos/boundingBoxGizmo.d.ts +15 -15
- package/Gizmos/cameraGizmo.d.ts +11 -11
- package/Gizmos/gizmo.d.ts +12 -12
- package/Gizmos/gizmoManager.d.ts +18 -18
- package/Gizmos/index.d.ts +12 -12
- package/Gizmos/lightGizmo.d.ts +13 -13
- package/Gizmos/planeDragGizmo.d.ts +15 -15
- package/Gizmos/planeRotationGizmo.d.ts +17 -17
- package/Gizmos/positionGizmo.d.ts +15 -15
- package/Gizmos/rotationGizmo.d.ts +15 -15
- package/Gizmos/scaleGizmo.d.ts +16 -16
- package/Helpers/environmentHelper.d.ts +10 -10
- package/Helpers/index.d.ts +5 -5
- package/Helpers/photoDome.d.ts +3 -3
- package/Helpers/sceneHelpers.d.ts +13 -13
- package/Helpers/textureDome.d.ts +7 -7
- package/Helpers/videoDome.d.ts +3 -3
- package/IAssetContainer.d.ts +23 -23
- package/Inputs/pointerPickingConfiguration.d.ts +1 -1
- package/Inputs/scene.inputManager.d.ts +8 -8
- package/Instrumentation/engineInstrumentation.d.ts +4 -4
- package/Instrumentation/index.d.ts +3 -3
- package/Instrumentation/sceneInstrumentation.d.ts +2 -2
- package/Instrumentation/timeToken.d.ts +1 -1
- package/Layers/effectLayer.d.ts +16 -16
- package/Layers/effectLayerSceneComponent.d.ts +4 -4
- package/Layers/glowLayer.d.ts +13 -13
- package/Layers/highlightLayer.d.ts +14 -14
- package/Layers/index.d.ts +23 -23
- package/Layers/layer.d.ts +7 -7
- package/Layers/layerSceneComponent.d.ts +2 -2
- package/Layers/thinEffectLayer.d.ts +13 -13
- package/Layers/thinGlowLayer.d.ts +10 -10
- package/Layers/thinHighlightLayer.d.ts +3 -3
- package/LensFlares/index.d.ts +7 -7
- package/LensFlares/lensFlare.d.ts +5 -5
- package/LensFlares/lensFlareSystem.d.ts +5 -5
- package/LensFlares/lensFlareSystemSceneComponent.d.ts +5 -5
- package/Lights/Shadows/cascadedShadowGenerator.d.ts +10 -10
- package/Lights/Shadows/index.d.ts +11 -11
- package/Lights/Shadows/shadowGenerator.d.ts +16 -16
- package/Lights/Shadows/shadowGeneratorSceneComponent.d.ts +2 -2
- package/Lights/areaLight.d.ts +1 -1
- package/Lights/directionalLight.d.ts +8 -8
- package/Lights/hemisphericLight.d.ts +7 -7
- package/Lights/index.d.ts +10 -10
- package/Lights/light.d.ts +12 -12
- package/Lights/pointLight.d.ts +5 -5
- package/Lights/rectAreaLight.d.ts +2 -2
- package/Lights/shadowLight.d.ts +5 -5
- package/Lights/spotLight.d.ts +9 -9
- package/Loading/Plugins/index.d.ts +2 -2
- package/Loading/index.d.ts +4 -4
- package/Loading/sceneLoader.d.ts +16 -16
- package/Materials/Background/backgroundMaterial.d.ts +13 -13
- package/Materials/Background/index.d.ts +5 -5
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +19 -11
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +28 -1
- package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
- package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +3 -3
- package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +4 -4
- package/Materials/GreasedLine/greasedLinePluginMaterial.d.ts +14 -14
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.d.ts +1 -1
- package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.d.ts +1 -1
- package/Materials/GreasedLine/greasedLineSimpleMaterial.d.ts +8 -8
- package/Materials/Node/Blocks/Dual/clipPlanesBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Dual/currentScreenBlock.d.ts +9 -9
- package/Materials/Node/Blocks/Dual/fogBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Dual/imageSourceBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Dual/index.d.ts +37 -37
- package/Materials/Node/Blocks/Dual/lightBlock.d.ts +10 -10
- package/Materials/Node/Blocks/Dual/lightBlock.js +6 -3
- package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
- package/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.d.ts +12 -12
- package/Materials/Node/Blocks/Dual/reflectionTextureBlock.d.ts +5 -5
- package/Materials/Node/Blocks/Dual/sceneDepthBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Dual/textureBlock.d.ts +12 -12
- package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +6 -6
- package/Materials/Node/Blocks/Fragment/derivativeBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/discardBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/fragCoordBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/fragDepthBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/fragmentOutputBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Fragment/frontFacingBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.d.ts +4 -4
- package/Materials/Node/Blocks/Fragment/imageProcessingBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Fragment/index.d.ts +33 -33
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Fragment/prePassOutputBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.d.ts +4 -4
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.d.ts +4 -4
- package/Materials/Node/Blocks/Fragment/shadowMapBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Fragment/twirlBlock.d.ts +3 -3
- package/Materials/Node/Blocks/GaussianSplatting/gaussianBlock.d.ts +3 -3
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.d.ts +3 -3
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js +3 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/index.d.ts +5 -5
- package/Materials/Node/Blocks/GaussianSplatting/splatReaderBlock.d.ts +4 -4
- package/Materials/Node/Blocks/Input/index.d.ts +3 -3
- package/Materials/Node/Blocks/Input/inputBlock.d.ts +13 -13
- package/Materials/Node/Blocks/Input/prePassTextureBlock.d.ts +6 -6
- package/Materials/Node/Blocks/PBR/anisotropyBlock.d.ts +7 -7
- package/Materials/Node/Blocks/PBR/clearCoatBlock.d.ts +10 -10
- package/Materials/Node/Blocks/PBR/index.d.ts +8 -8
- package/Materials/Node/Blocks/PBR/iridescenceBlock.d.ts +7 -7
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.d.ts +10 -10
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +7 -3
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/reflectionBlock.d.ts +11 -11
- package/Materials/Node/Blocks/PBR/refractionBlock.d.ts +10 -10
- package/Materials/Node/Blocks/PBR/sheenBlock.d.ts +8 -8
- package/Materials/Node/Blocks/PBR/subSurfaceBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Particle/index.d.ts +3 -3
- package/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Particle/particleRampGradientBlock.d.ts +3 -3
- package/Materials/Node/Blocks/Particle/particleTextureBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Teleport/index.d.ts +2 -2
- package/Materials/Node/Blocks/Teleport/teleportInBlock.d.ts +4 -4
- package/Materials/Node/Blocks/Teleport/teleportOutBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Vertex/bonesBlock.d.ts +8 -8
- package/Materials/Node/Blocks/Vertex/index.d.ts +17 -17
- package/Materials/Node/Blocks/Vertex/instancesBlock.d.ts +6 -6
- package/Materials/Node/Blocks/Vertex/lightInformationBlock.d.ts +10 -10
- package/Materials/Node/Blocks/Vertex/morphTargetsBlock.d.ts +7 -7
- package/Materials/Node/Blocks/Vertex/vertexOutputBlock.d.ts +3 -3
- package/Materials/Node/Blocks/addBlock.d.ts +2 -2
- package/Materials/Node/Blocks/arcTan2Block.d.ts +3 -3
- package/Materials/Node/Blocks/baseMathBlock.d.ts +2 -2
- package/Materials/Node/Blocks/biPlanarBlock.d.ts +2 -2
- package/Materials/Node/Blocks/clampBlock.d.ts +4 -4
- package/Materials/Node/Blocks/cloudBlock.d.ts +4 -4
- package/Materials/Node/Blocks/colorConverterBlock.d.ts +3 -3
- package/Materials/Node/Blocks/colorMergerBlock.d.ts +4 -4
- package/Materials/Node/Blocks/colorSplitterBlock.d.ts +3 -3
- package/Materials/Node/Blocks/conditionalBlock.d.ts +5 -5
- package/Materials/Node/Blocks/crossBlock.d.ts +3 -3
- package/Materials/Node/Blocks/curveBlock.d.ts +4 -4
- package/Materials/Node/Blocks/customBlock.d.ts +3 -3
- package/Materials/Node/Blocks/debugBlock.d.ts +3 -3
- package/Materials/Node/Blocks/desaturateBlock.d.ts +3 -3
- package/Materials/Node/Blocks/distanceBlock.d.ts +3 -3
- package/Materials/Node/Blocks/divideBlock.d.ts +2 -2
- package/Materials/Node/Blocks/dotBlock.d.ts +3 -3
- package/Materials/Node/Blocks/elbowBlock.d.ts +4 -4
- package/Materials/Node/Blocks/fresnelBlock.d.ts +5 -5
- package/Materials/Node/Blocks/gradientBlock.d.ts +6 -6
- package/Materials/Node/Blocks/index.d.ts +70 -70
- package/Materials/Node/Blocks/lengthBlock.d.ts +3 -3
- package/Materials/Node/Blocks/lerpBlock.d.ts +3 -3
- package/Materials/Node/Blocks/loopBlock.d.ts +3 -3
- package/Materials/Node/Blocks/matrixBuilderBlock.d.ts +3 -3
- package/Materials/Node/Blocks/matrixDeterminantBlock.d.ts +3 -3
- package/Materials/Node/Blocks/matrixSplitterBlock.d.ts +3 -3
- package/Materials/Node/Blocks/matrixTransposeBlock.d.ts +3 -3
- package/Materials/Node/Blocks/maxBlock.d.ts +3 -3
- package/Materials/Node/Blocks/meshAttributeExistsBlock.d.ts +3 -3
- package/Materials/Node/Blocks/minBlock.d.ts +3 -3
- package/Materials/Node/Blocks/modBlock.d.ts +3 -3
- package/Materials/Node/Blocks/multiplyBlock.d.ts +2 -2
- package/Materials/Node/Blocks/nLerpBlock.d.ts +3 -3
- package/Materials/Node/Blocks/negateBlock.d.ts +3 -3
- package/Materials/Node/Blocks/normalBlendBlock.d.ts +3 -3
- package/Materials/Node/Blocks/normalizeBlock.d.ts +3 -3
- package/Materials/Node/Blocks/oneMinusBlock.d.ts +3 -3
- package/Materials/Node/Blocks/posterizeBlock.d.ts +3 -3
- package/Materials/Node/Blocks/powBlock.d.ts +3 -3
- package/Materials/Node/Blocks/randomNumberBlock.d.ts +4 -4
- package/Materials/Node/Blocks/reciprocalBlock.d.ts +3 -3
- package/Materials/Node/Blocks/reflectBlock.d.ts +3 -3
- package/Materials/Node/Blocks/refractBlock.d.ts +3 -3
- package/Materials/Node/Blocks/remapBlock.d.ts +5 -5
- package/Materials/Node/Blocks/replaceColorBlock.d.ts +3 -3
- package/Materials/Node/Blocks/rotate2dBlock.d.ts +3 -3
- package/Materials/Node/Blocks/scaleBlock.d.ts +3 -3
- package/Materials/Node/Blocks/simplexPerlin3DBlock.d.ts +3 -3
- package/Materials/Node/Blocks/smoothStepBlock.d.ts +3 -3
- package/Materials/Node/Blocks/stepBlock.d.ts +3 -3
- package/Materials/Node/Blocks/storageReadBlock.d.ts +3 -3
- package/Materials/Node/Blocks/storageWriteBlock.d.ts +3 -3
- package/Materials/Node/Blocks/subtractBlock.d.ts +2 -2
- package/Materials/Node/Blocks/transformBlock.d.ts +6 -6
- package/Materials/Node/Blocks/triPlanarBlock.d.ts +12 -12
- package/Materials/Node/Blocks/trigonometryBlock.d.ts +4 -4
- package/Materials/Node/Blocks/vectorMergerBlock.d.ts +4 -4
- package/Materials/Node/Blocks/vectorSplitterBlock.d.ts +3 -3
- package/Materials/Node/Blocks/viewDirectionBlock.d.ts +4 -4
- package/Materials/Node/Blocks/voronoiNoiseBlock.d.ts +3 -3
- package/Materials/Node/Blocks/waveBlock.d.ts +4 -4
- package/Materials/Node/Blocks/worleyNoise3DBlock.d.ts +4 -4
- package/Materials/Node/Enums/index.d.ts +5 -5
- package/Materials/Node/Optimizers/index.d.ts +1 -1
- package/Materials/Node/Optimizers/nodeMaterialOptimizer.d.ts +1 -1
- package/Materials/Node/index.d.ts +9 -9
- package/Materials/Node/nodeMaterial.d.ts +36 -36
- package/Materials/Node/nodeMaterialBlock.d.ts +12 -12
- package/Materials/Node/nodeMaterialBlockConnectionPoint.d.ts +6 -6
- package/Materials/Node/nodeMaterialBuildState.d.ts +6 -6
- package/Materials/Node/nodeMaterialBuildStateSharedData.d.ts +6 -6
- package/Materials/Node/nodeMaterialConnectionPointCustomObject.d.ts +4 -4
- package/Materials/Node/nodeMaterialDefault.d.ts +1 -1
- package/Materials/Occlusion/index.d.ts +1 -1
- package/Materials/Occlusion/occlusionMaterial.d.ts +4 -4
- package/Materials/PBR/index.d.ts +15 -15
- package/Materials/PBR/pbrAnisotropicConfiguration.d.ts +11 -11
- package/Materials/PBR/pbrBRDFConfiguration.d.ts +3 -3
- package/Materials/PBR/pbrBaseMaterial.d.ts +24 -24
- package/Materials/PBR/pbrBaseMaterial.js +2 -1
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseSimpleMaterial.d.ts +5 -5
- package/Materials/PBR/pbrClearCoatConfiguration.d.ts +12 -12
- package/Materials/PBR/pbrIridescenceConfiguration.d.ts +9 -9
- package/Materials/PBR/pbrMaterial.d.ts +7 -7
- package/Materials/PBR/pbrMaterial.decalMap.d.ts +2 -2
- package/Materials/PBR/pbrMetallicRoughnessMaterial.d.ts +5 -5
- package/Materials/PBR/pbrSheenConfiguration.d.ts +12 -12
- package/Materials/PBR/pbrSpecularGlossinessMaterial.d.ts +5 -5
- package/Materials/PBR/pbrSubSurfaceConfiguration.d.ts +27 -14
- package/Materials/PBR/pbrSubSurfaceConfiguration.js +17 -0
- package/Materials/PBR/pbrSubSurfaceConfiguration.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.d.ts +2 -2
- package/Materials/Textures/Filtering/hdrIrradianceFiltering.d.ts +2 -2
- package/Materials/Textures/Loaders/EXR/exrLoader.compression.d.ts +1 -1
- package/Materials/Textures/Loaders/EXR/exrLoader.compression.huf.d.ts +1 -1
- package/Materials/Textures/Loaders/EXR/exrLoader.decoder.d.ts +3 -3
- package/Materials/Textures/Loaders/EXR/exrLoader.header.d.ts +2 -2
- package/Materials/Textures/Loaders/EXR/exrLoader.interfaces.d.ts +1 -1
- package/Materials/Textures/Loaders/EXR/index.d.ts +7 -7
- package/Materials/Textures/Loaders/basisTextureLoader.d.ts +3 -3
- package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +3 -3
- package/Materials/Textures/Loaders/envTextureLoader.d.ts +3 -3
- package/Materials/Textures/Loaders/exrTextureLoader.d.ts +2 -2
- package/Materials/Textures/Loaders/hdrTextureLoader.d.ts +2 -2
- package/Materials/Textures/Loaders/iesTextureLoader.d.ts +2 -2
- package/Materials/Textures/Loaders/index.d.ts +11 -11
- package/Materials/Textures/Loaders/internalTextureLoader.d.ts +2 -2
- package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +3 -3
- package/Materials/Textures/Loaders/textureLoaderManager.d.ts +2 -2
- package/Materials/Textures/Loaders/tgaTextureLoader.d.ts +2 -2
- package/Materials/Textures/MultiviewRenderTarget.d.ts +2 -2
- package/Materials/Textures/Packer/frame.d.ts +1 -1
- package/Materials/Textures/Packer/index.d.ts +2 -2
- package/Materials/Textures/Packer/packer.d.ts +5 -5
- package/Materials/Textures/Procedurals/customProceduralTexture.d.ts +5 -5
- package/Materials/Textures/Procedurals/index.d.ts +4 -4
- package/Materials/Textures/Procedurals/noiseProceduralTexture.d.ts +5 -5
- package/Materials/Textures/Procedurals/proceduralTexture.d.ts +10 -10
- package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.d.ts +2 -2
- package/Materials/Textures/baseTexture.d.ts +10 -10
- package/Materials/Textures/baseTexture.polynomial.d.ts +3 -3
- package/Materials/Textures/colorGradingTexture.d.ts +5 -5
- package/Materials/Textures/cubeTexture.d.ts +7 -7
- package/Materials/Textures/dynamicTexture.d.ts +6 -6
- package/Materials/Textures/equiRectangularCubeTexture.d.ts +3 -3
- package/Materials/Textures/externalTexture.d.ts +1 -1
- package/Materials/Textures/hdrCubeTexture.d.ts +7 -7
- package/Materials/Textures/htmlElementTexture.d.ts +8 -8
- package/Materials/Textures/index.d.ts +39 -39
- package/Materials/Textures/internalTexture.d.ts +8 -8
- package/Materials/Textures/mirrorTexture.d.ts +3 -3
- package/Materials/Textures/multiRenderTarget.d.ts +6 -6
- package/Materials/Textures/prePassRenderTarget.d.ts +8 -8
- package/Materials/Textures/rawCubeTexture.d.ts +4 -4
- package/Materials/Textures/rawTexture.d.ts +4 -4
- package/Materials/Textures/rawTexture2DArray.d.ts +3 -3
- package/Materials/Textures/rawTexture3D.d.ts +3 -3
- package/Materials/Textures/refractionTexture.d.ts +3 -3
- package/Materials/Textures/renderTargetTexture.d.ts +21 -20
- package/Materials/Textures/renderTargetTexture.js +6 -5
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +12 -12
- package/Materials/Textures/texture.js +3 -2
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureCreationOptions.d.ts +1 -1
- package/Materials/Textures/textureSampler.d.ts +1 -1
- package/Materials/Textures/thinRenderTargetTexture.d.ts +6 -6
- package/Materials/Textures/thinTexture.d.ts +4 -4
- package/Materials/Textures/videoTexture.d.ts +7 -7
- package/Materials/clipPlaneMaterialHelper.d.ts +2 -2
- package/Materials/colorCurves.d.ts +1 -1
- package/Materials/drawWrapper.d.ts +6 -6
- package/Materials/drawWrapper.functions.d.ts +2 -2
- package/Materials/effect.d.ts +14 -14
- package/Materials/effect.functions.d.ts +2 -2
- package/Materials/effect.webgl.functions.d.ts +1 -1
- package/Materials/effectFallbacks.d.ts +3 -3
- package/Materials/effectRenderer.d.ts +10 -10
- package/Materials/fresnelParameters.d.ts +2 -2
- package/Materials/iEffectFallbacks.d.ts +1 -1
- package/Materials/imageProcessingConfiguration.d.ts +15 -7
- package/Materials/imageProcessingConfiguration.defines.d.ts +1 -1
- package/Materials/imageProcessingConfiguration.functions.d.ts +1 -1
- package/Materials/imageProcessingConfiguration.js +16 -2
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Materials/index.d.ts +49 -49
- package/Materials/material.d.ts +26 -26
- package/Materials/material.decalMap.d.ts +3 -3
- package/Materials/material.decalMapConfiguration.d.ts +5 -5
- package/Materials/material.detailMapConfiguration.d.ts +9 -9
- package/Materials/materialHelper.d.ts +12 -12
- package/Materials/materialHelper.functions.d.ts +12 -12
- package/Materials/materialPluginBase.d.ts +15 -15
- package/Materials/materialPluginEvent.d.ts +10 -10
- package/Materials/materialPluginFactoryExport.d.ts +3 -3
- package/Materials/materialPluginManager.d.ts +8 -8
- package/Materials/materialStencilState.d.ts +2 -2
- package/Materials/meshDebugPluginMaterial.d.ts +8 -8
- package/Materials/multiMaterial.d.ts +6 -6
- package/Materials/prePassConfiguration.d.ts +4 -4
- package/Materials/pushMaterial.d.ts +8 -8
- package/Materials/shaderMaterial.d.ts +15 -15
- package/Materials/shadowDepthWrapper.d.ts +6 -6
- package/Materials/standardMaterial.d.ts +19 -19
- package/Materials/standardMaterial.decalMap.d.ts +2 -2
- package/Materials/uniformBuffer.d.ts +6 -6
- package/Materials/uniformBufferEffectCommonAccessor.d.ts +3 -3
- package/Maths/index.d.ts +8 -8
- package/Maths/math.axis.d.ts +1 -1
- package/Maths/math.color.d.ts +3 -3
- package/Maths/math.d.ts +10 -10
- package/Maths/math.frustum.d.ts +3 -3
- package/Maths/math.functions.d.ts +3 -3
- package/Maths/math.isovector.d.ts +1 -1
- package/Maths/math.like.d.ts +1 -1
- package/Maths/math.path.d.ts +3 -3
- package/Maths/math.plane.d.ts +3 -3
- package/Maths/math.polar.d.ts +2 -2
- package/Maths/math.vector.d.ts +6 -6
- package/Maths/math.vector.functions.d.ts +1 -1
- package/Maths/math.vertexFormat.d.ts +1 -1
- package/Maths/math.viewport.d.ts +1 -1
- package/Maths/sphericalPolynomial.d.ts +2 -2
- package/Maths/tensor.d.ts +1 -1
- package/Meshes/Builders/boxBuilder.d.ts +6 -6
- package/Meshes/Builders/capsuleBuilder.d.ts +5 -5
- package/Meshes/Builders/cylinderBuilder.d.ts +6 -6
- package/Meshes/Builders/decalBuilder.d.ts +3 -3
- package/Meshes/Builders/discBuilder.d.ts +5 -5
- package/Meshes/Builders/geodesicBuilder.d.ts +5 -5
- package/Meshes/Builders/goldbergBuilder.d.ts +5 -5
- package/Meshes/Builders/greasedLineBuilder.d.ts +11 -11
- package/Meshes/Builders/groundBuilder.d.ts +6 -6
- package/Meshes/Builders/hemisphereBuilder.d.ts +2 -2
- package/Meshes/Builders/icoSphereBuilder.d.ts +5 -5
- package/Meshes/Builders/index.d.ts +25 -25
- package/Meshes/Builders/latheBuilder.d.ts +5 -5
- package/Meshes/Builders/linesBuilder.d.ts +7 -7
- package/Meshes/Builders/planeBuilder.d.ts +6 -6
- package/Meshes/Builders/polygonBuilder.d.ts +7 -7
- package/Meshes/Builders/polyhedronBuilder.d.ts +6 -6
- package/Meshes/Builders/ribbonBuilder.d.ts +6 -6
- package/Meshes/Builders/shapeBuilder.d.ts +5 -5
- package/Meshes/Builders/sphereBuilder.d.ts +5 -5
- package/Meshes/Builders/textBuilder.d.ts +6 -6
- package/Meshes/Builders/tiledBoxBuilder.d.ts +6 -6
- package/Meshes/Builders/tiledPlaneBuilder.d.ts +5 -5
- package/Meshes/Builders/torusBuilder.d.ts +4 -4
- package/Meshes/Builders/torusKnotBuilder.d.ts +4 -4
- package/Meshes/Builders/tubeBuilder.d.ts +5 -5
- package/Meshes/Compression/dracoCodec.d.ts +2 -2
- package/Meshes/Compression/dracoCompression.d.ts +6 -6
- package/Meshes/Compression/dracoCompressionWorker.d.ts +1 -1
- package/Meshes/Compression/dracoDecoder.d.ts +6 -6
- package/Meshes/Compression/dracoEncoder.d.ts +5 -5
- package/Meshes/Compression/index.d.ts +4 -4
- package/Meshes/Compression/meshoptCompression.d.ts +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +3 -3
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +15 -6
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +8 -8
- package/Meshes/GreasedLine/greasedLineMesh.d.ts +11 -11
- package/Meshes/GreasedLine/greasedLineRibbonMesh.d.ts +11 -11
- package/Meshes/Node/Blocks/Instances/instantiateBaseBlock.d.ts +5 -5
- package/Meshes/Node/Blocks/Instances/instantiateBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Instances/instantiateLinearBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Instances/instantiateOnFacesBlock.d.ts +6 -6
- package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.d.ts +5 -5
- package/Meshes/Node/Blocks/Instances/instantiateOnVolumeBlock.d.ts +6 -6
- package/Meshes/Node/Blocks/Instances/instantiateRadialBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/alignBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/rotationXBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/rotationYBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/rotationZBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/scalingBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Matrices/translationBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Set/aggregatorBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Set/latticeBlock.d.ts +5 -5
- package/Meshes/Node/Blocks/Set/setColorsBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Set/setMaterialIDBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Set/setNormalsBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Set/setTangentsBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Set/setUVsBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Sources/boxBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/capsuleBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/cylinderBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/discBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/gridBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/icoSphereBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/meshBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/Sources/nullBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/pointListBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/sphereBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Sources/torusBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Teleport/teleportInBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/Teleport/teleportOutBlock.d.ts +5 -5
- package/Meshes/Node/Blocks/Textures/geometryTextureBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/Textures/geometryTextureFetchBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/booleanGeometryBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/boundingBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/cleanGeometryBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/computeNormalsBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/conditionBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/debugBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryArcTan2Block.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryClampBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryCollectionBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryCrossBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryCurveBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryDesaturateBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryDistanceBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryDotBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryEaseBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryElbowBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryInfoBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryInputBlock.d.ts +6 -6
- package/Meshes/Node/Blocks/geometryInterceptorBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryLengthBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryLerpBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryModBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryNLerpBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/geometryOutputBlock.d.ts +4 -4
- package/Meshes/Node/Blocks/geometryPosterizeBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryPowBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryReplaceColorBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryRotate2dBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometrySmoothStepBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryStepBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/geometryTransformBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/geometryTrigonometryBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/intFloatConverterBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/mapRangeBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/mappingBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/mathBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/matrixComposeBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/mergeGeometryBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/noiseBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/normalizeVectorBlock.d.ts +3 -3
- package/Meshes/Node/Blocks/randomBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/subdivideBlock.d.ts +2 -2
- package/Meshes/Node/Blocks/vectorConverterBlock.d.ts +3 -3
- package/Meshes/Node/index.d.ts +87 -87
- package/Meshes/Node/nodeGeometry.d.ts +9 -9
- package/Meshes/Node/nodeGeometryBlock.d.ts +6 -6
- package/Meshes/Node/nodeGeometryBlockConnectionPoint.d.ts +5 -5
- package/Meshes/Node/nodeGeometryBuildState.d.ts +8 -8
- package/Meshes/WebGL/webGLDataBuffer.d.ts +1 -1
- package/Meshes/WebGPU/webgpuDataBuffer.d.ts +2 -2
- package/Meshes/abstractMesh.d.ts +37 -32
- package/Meshes/abstractMesh.decalMap.d.ts +3 -3
- package/Meshes/abstractMesh.hotSpot.d.ts +1 -1
- package/Meshes/abstractMesh.js +1 -1
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/buffer.d.ts +1 -1
- package/Meshes/csg.d.ts +7 -7
- package/Meshes/csg2.d.ts +2 -2
- package/Meshes/geodesicMesh.d.ts +2 -2
- package/Meshes/geometry.d.ts +12 -12
- package/Meshes/goldbergMesh.d.ts +5 -5
- package/Meshes/groundMesh.d.ts +3 -3
- package/Meshes/index.d.ts +55 -55
- package/Meshes/instancedMesh.d.ts +16 -16
- package/Meshes/instancedMesh.js.map +1 -1
- package/Meshes/lattice.d.ts +1 -1
- package/Meshes/lattice.material.d.ts +1 -1
- package/Meshes/linesMesh.d.ts +9 -9
- package/Meshes/mesh.d.ts +30 -30
- package/Meshes/mesh.js +1 -1
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/mesh.vertexData.d.ts +9 -9
- package/Meshes/mesh.vertexData.subdivide.d.ts +1 -1
- package/Meshes/meshBuilder.d.ts +23 -23
- package/Meshes/meshLODLevel.d.ts +2 -2
- package/Meshes/meshSimplification.d.ts +1 -1
- package/Meshes/meshSimplificationSceneComponent.d.ts +6 -6
- package/Meshes/meshUVSpaceRenderer.d.ts +2 -2
- package/Meshes/meshUtils.d.ts +4 -4
- package/Meshes/polygonMesh.d.ts +5 -5
- package/Meshes/subMesh.d.ts +17 -17
- package/Meshes/subMesh.project.d.ts +3 -3
- package/Meshes/thinInstanceMesh.d.ts +4 -4
- package/Meshes/trailMesh.d.ts +3 -3
- package/Meshes/transformNode.d.ts +9 -9
- package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.d.ts +4 -4
- package/Misc/HighDynamicRange/hdr.d.ts +1 -1
- package/Misc/HighDynamicRange/index.d.ts +3 -3
- package/Misc/HighDynamicRange/panoramaToCubemap.d.ts +1 -1
- package/Misc/PerformanceViewer/index.d.ts +4 -4
- package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.d.ts +1 -1
- package/Misc/PerformanceViewer/performanceViewerCollector.d.ts +4 -4
- package/Misc/arrayTools.d.ts +1 -1
- package/Misc/assetsManager.d.ts +15 -15
- package/Misc/basis.d.ts +1 -1
- package/Misc/brdfTextureTools.d.ts +2 -2
- package/Misc/copyTextureToTexture.d.ts +3 -3
- package/Misc/copyTools.d.ts +3 -3
- package/Misc/dds.d.ts +4 -4
- package/Misc/decorators.d.ts +1 -1
- package/Misc/decorators.serialization.d.ts +7 -7
- package/Misc/depthReducer.d.ts +5 -5
- package/Misc/dumpTools.d.ts +1 -1
- package/Misc/environmentTextureTools.d.ts +5 -5
- package/Misc/equirectangularCapture.d.ts +5 -5
- package/Misc/fileRequest.d.ts +1 -1
- package/Misc/fileTools.d.ts +12 -6
- package/Misc/fileTools.js +30 -0
- package/Misc/fileTools.js.map +1 -1
- package/Misc/filesInput.d.ts +4 -4
- package/Misc/gradients.d.ts +2 -2
- package/Misc/greasedLineTools.d.ts +8 -8
- package/Misc/index.d.ts +82 -82
- package/Misc/interfaces/iClipPlanesHolder.d.ts +2 -2
- package/Misc/interfaces/iPerfViewer.d.ts +1 -1
- package/Misc/khronosTextureContainer.d.ts +1 -1
- package/Misc/khronosTextureContainer2.d.ts +5 -5
- package/Misc/meshExploder.d.ts +1 -1
- package/Misc/minMaxReducer.d.ts +9 -9
- package/Misc/observable.d.ts +1 -1
- package/Misc/observable.extensions.d.ts +3 -3
- package/Misc/observableCoroutine.d.ts +2 -2
- package/Misc/pivotTools.d.ts +1 -1
- package/Misc/pressureObserverWrapper.d.ts +1 -1
- package/Misc/reflector.d.ts +1 -1
- package/Misc/retryStrategy.d.ts +1 -1
- package/Misc/rgbdTextureTools.d.ts +3 -3
- package/Misc/sceneOptimizer.d.ts +2 -2
- package/Misc/sceneRecorder.d.ts +1 -1
- package/Misc/sceneSerializer.d.ts +1 -1
- package/Misc/screenshotTools.d.ts +4 -4
- package/Misc/stringDictionary.d.ts +1 -1
- package/Misc/textureTools.d.ts +3 -3
- package/Misc/tga.d.ts +1 -1
- package/Misc/timer.d.ts +4 -4
- package/Misc/tools.d.ts +10 -10
- package/Misc/trajectoryClassifier.d.ts +2 -2
- package/Misc/videoRecorder.d.ts +2 -2
- package/Misc/virtualJoystick.d.ts +2 -2
- package/Misc/webRequest.d.ts +2 -2
- package/Misc/workerPool.d.ts +1 -1
- package/Morph/index.d.ts +2 -2
- package/Morph/morphTarget.d.ts +7 -7
- package/Morph/morphTargetManager.d.ts +5 -5
- package/Navigation/INavigationEngine.d.ts +4 -4
- package/Navigation/Plugins/index.d.ts +1 -1
- package/Navigation/Plugins/recastJSPlugin.d.ts +6 -6
- package/Navigation/index.d.ts +2 -2
- package/ObjectModel/index.d.ts +1 -1
- package/Offline/database.d.ts +1 -1
- package/Offline/index.d.ts +2 -2
- package/Particles/EmitterTypes/IParticleEmitterType.d.ts +6 -6
- package/Particles/EmitterTypes/boxParticleEmitter.d.ts +6 -6
- package/Particles/EmitterTypes/coneParticleEmitter.d.ts +6 -6
- package/Particles/EmitterTypes/customParticleEmitter.d.ts +7 -7
- package/Particles/EmitterTypes/cylinderParticleEmitter.d.ts +6 -6
- package/Particles/EmitterTypes/hemisphericParticleEmitter.d.ts +6 -6
- package/Particles/EmitterTypes/index.d.ts +9 -9
- package/Particles/EmitterTypes/meshParticleEmitter.d.ts +9 -9
- package/Particles/EmitterTypes/pointParticleEmitter.d.ts +6 -6
- package/Particles/EmitterTypes/sphereParticleEmitter.d.ts +6 -6
- package/Particles/IGPUParticleSystemPlatform.d.ts +5 -5
- package/Particles/IParticleSystem.d.ts +13 -13
- package/Particles/baseParticleSystem.d.ts +23 -23
- package/Particles/cloudPoint.d.ts +6 -6
- package/Particles/computeShaderParticleSystem.d.ts +9 -9
- package/Particles/gpuParticleSystem.d.ts +25 -25
- package/Particles/index.d.ts +21 -21
- package/Particles/particle.d.ts +6 -6
- package/Particles/particleHelper.d.ts +6 -6
- package/Particles/particleSystem.d.ts +13 -13
- package/Particles/particleSystem.functions.d.ts +5 -5
- package/Particles/particleSystemComponent.d.ts +5 -5
- package/Particles/particleSystemSet.d.ts +6 -6
- package/Particles/pointsCloudSystem.d.ts +5 -5
- package/Particles/solidParticle.d.ts +9 -9
- package/Particles/solidParticleSystem.d.ts +11 -11
- package/Particles/subEmitter.d.ts +3 -3
- package/Particles/thinParticleSystem.d.ts +16 -16
- package/Particles/webgl2ParticleSystem.d.ts +10 -10
- package/Physics/IPhysicsEngine.d.ts +4 -4
- package/Physics/Plugins/ammoJSPlugin.d.ts +1 -1
- package/Physics/Plugins/cannonJSPlugin.d.ts +1 -1
- package/Physics/Plugins/oimoJSPlugin.d.ts +1 -1
- package/Physics/castingResult.d.ts +3 -3
- package/Physics/index.d.ts +10 -10
- package/Physics/joinedPhysicsEngineComponent.d.ts +9 -9
- package/Physics/physicsEngine.d.ts +1 -1
- package/Physics/physicsEngineComponent.d.ts +3 -3
- package/Physics/physicsHelper.d.ts +6 -6
- package/Physics/physicsImpostor.d.ts +1 -1
- package/Physics/physicsJoint.d.ts +1 -1
- package/Physics/physicsPointProximityQuery.d.ts +3 -3
- package/Physics/physicsRaycastResult.d.ts +2 -2
- package/Physics/physicsShapeCastQuery.d.ts +3 -3
- package/Physics/physicsShapeProximityCastQuery.d.ts +3 -3
- package/Physics/proximityCastResult.d.ts +1 -1
- package/Physics/shapeCastResult.d.ts +1 -1
- package/Physics/v1/IPhysicsEnginePlugin.d.ts +6 -6
- package/Physics/v1/Plugins/ammoJSPlugin.d.ts +7 -7
- package/Physics/v1/Plugins/cannonJSPlugin.d.ts +8 -8
- package/Physics/v1/Plugins/index.d.ts +3 -3
- package/Physics/v1/Plugins/oimoJSPlugin.d.ts +8 -8
- package/Physics/v1/index.d.ts +6 -6
- package/Physics/v1/physicsEngine.d.ts +7 -7
- package/Physics/v1/physicsEngineComponent.d.ts +7 -7
- package/Physics/v1/physicsImpostor.d.ts +11 -11
- package/Physics/v1/physicsJoint.d.ts +2 -2
- package/Physics/v2/IPhysicsEnginePlugin.d.ts +12 -12
- package/Physics/v2/Plugins/havokPlugin.d.ts +18 -18
- package/Physics/v2/Plugins/index.d.ts +1 -1
- package/Physics/v2/characterController.d.ts +10 -5
- package/Physics/v2/characterController.js +7 -0
- package/Physics/v2/characterController.js.map +1 -1
- package/Physics/v2/index.d.ts +10 -10
- package/Physics/v2/physicsAggregate.d.ts +8 -8
- package/Physics/v2/physicsBody.d.ts +9 -9
- package/Physics/v2/physicsConstraint.d.ts +5 -5
- package/Physics/v2/physicsEngine.d.ts +7 -7
- package/Physics/v2/physicsEngineComponent.d.ts +7 -7
- package/Physics/v2/physicsShape.d.ts +10 -10
- package/Physics/v2/ragdoll.d.ts +7 -7
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.d.ts +15 -15
- package/PostProcesses/RenderPipeline/Pipelines/index.d.ts +19 -19
- package/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.d.ts +7 -7
- package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +4 -4
- package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.d.ts +6 -6
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.d.ts +8 -8
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.d.ts +15 -15
- package/PostProcesses/RenderPipeline/Pipelines/taaRenderingPipeline.d.ts +4 -4
- package/PostProcesses/RenderPipeline/index.d.ts +5 -5
- package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +4 -4
- package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +6 -6
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +2 -2
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.d.ts +4 -4
- package/PostProcesses/anaglyphPostProcess.d.ts +3 -3
- package/PostProcesses/blackAndWhitePostProcess.d.ts +7 -7
- package/PostProcesses/bloomEffect.d.ts +6 -6
- package/PostProcesses/bloomMergePostProcess.d.ts +6 -6
- package/PostProcesses/blurPostProcess.d.ts +8 -8
- package/PostProcesses/chromaticAberrationPostProcess.d.ts +8 -8
- package/PostProcesses/circleOfConfusionPostProcess.d.ts +7 -7
- package/PostProcesses/colorCorrectionPostProcess.d.ts +6 -6
- package/PostProcesses/convolutionPostProcess.d.ts +6 -6
- package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +6 -6
- package/PostProcesses/depthOfFieldBlurPostProcess.js +9 -3
- package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
- package/PostProcesses/depthOfFieldEffect.d.ts +7 -7
- package/PostProcesses/depthOfFieldMergePostProcess.d.ts +5 -5
- package/PostProcesses/displayPassPostProcess.d.ts +6 -6
- package/PostProcesses/extractHighlightsPostProcess.d.ts +6 -6
- package/PostProcesses/filterPostProcess.d.ts +7 -7
- package/PostProcesses/fxaaPostProcess.d.ts +6 -6
- package/PostProcesses/grainPostProcess.d.ts +6 -6
- package/PostProcesses/highlightsPostProcess.d.ts +4 -4
- package/PostProcesses/imageProcessingPostProcess.d.ts +12 -29
- package/PostProcesses/imageProcessingPostProcess.js +27 -138
- package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
- package/PostProcesses/index.d.ts +93 -92
- package/PostProcesses/index.js +1 -0
- package/PostProcesses/index.js.map +1 -1
- package/PostProcesses/motionBlurPostProcess.d.ts +9 -9
- package/PostProcesses/passPostProcess.d.ts +7 -7
- package/PostProcesses/postProcess.d.ts +21 -21
- package/PostProcesses/postProcessManager.d.ts +6 -6
- package/PostProcesses/refractionPostProcess.d.ts +9 -9
- package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +8 -8
- package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +7 -7
- package/PostProcesses/sharpenPostProcess.d.ts +7 -7
- package/PostProcesses/stereoscopicInterlacePostProcess.d.ts +3 -3
- package/PostProcesses/subSurfaceScatteringPostProcess.d.ts +12 -12
- package/PostProcesses/thinAnaglyphPostProcess.d.ts +1 -1
- package/PostProcesses/thinBlackAndWhitePostProcess.d.ts +1 -1
- package/PostProcesses/thinBloomEffect.d.ts +3 -3
- package/PostProcesses/thinBloomMergePostProcess.d.ts +1 -1
- package/PostProcesses/thinBlurPostProcess.d.ts +1 -1
- package/PostProcesses/thinBlurPostProcess.js +1 -0
- package/PostProcesses/thinBlurPostProcess.js.map +1 -1
- package/PostProcesses/thinChromaticAberrationPostProcess.d.ts +4 -4
- package/PostProcesses/thinChromaticAberrationPostProcess.js.map +1 -1
- package/PostProcesses/thinCircleOfConfusionPostProcess.d.ts +1 -1
- package/PostProcesses/thinDepthOfFieldBlurPostProcess.d.ts +1 -1
- package/PostProcesses/thinDepthOfFieldEffect.d.ts +5 -5
- package/PostProcesses/thinDepthOfFieldEffect.js +3 -3
- package/PostProcesses/thinDepthOfFieldEffect.js.map +1 -1
- package/PostProcesses/thinDepthOfFieldMergePostProcess.d.ts +1 -1
- package/PostProcesses/thinExtractHighlightsPostProcess.d.ts +1 -1
- package/PostProcesses/thinImageProcessingPostProcess.d.ts +258 -0
- package/PostProcesses/thinImageProcessingPostProcess.js +462 -0
- package/PostProcesses/thinImageProcessingPostProcess.js.map +1 -0
- package/PostProcesses/thinSSRBlurCombinerPostProcess.d.ts +1 -1
- package/PostProcesses/thinSSRBlurPostProcess.d.ts +2 -2
- package/PostProcesses/thinTAAPostProcess.d.ts +1 -1
- package/PostProcesses/tonemapPostProcess.d.ts +3 -3
- package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +13 -13
- package/PostProcesses/vrDistortionCorrectionPostProcess.d.ts +4 -4
- package/PostProcesses/vrMultiviewToSingleviewPostProcess.d.ts +5 -5
- package/Probes/index.d.ts +1 -1
- package/Probes/reflectionProbe.d.ts +6 -6
- package/Rendering/GlobalIllumination/giRSM.d.ts +1 -1
- package/Rendering/GlobalIllumination/giRSMManager.d.ts +1 -1
- package/Rendering/GlobalIllumination/index.d.ts +10 -10
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +4 -4
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +6 -6
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +3 -3
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.d.ts +8 -8
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +4 -4
- package/Rendering/boundingBoxRenderer.d.ts +11 -11
- package/Rendering/depthPeelingRenderer.d.ts +7 -7
- package/Rendering/depthPeelingSceneComponent.d.ts +5 -5
- package/Rendering/depthRenderer.d.ts +10 -10
- package/Rendering/depthRendererSceneComponent.d.ts +6 -6
- package/Rendering/edgesRenderer.d.ts +14 -14
- package/Rendering/fluidRenderer/fluidRenderer.d.ts +3 -3
- package/Rendering/fluidRenderer/fluidRenderingObjectCustomParticles.d.ts +1 -1
- package/Rendering/fluidRenderer/fluidRenderingObjectParticleSystem.d.ts +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +2 -2
- package/Rendering/fluidRenderer/index.d.ts +23 -23
- package/Rendering/geometryBufferRenderer.d.ts +11 -11
- package/Rendering/geometryBufferRendererSceneComponent.d.ts +5 -5
- package/Rendering/iblCdfGenerator.d.ts +7 -7
- package/Rendering/iblCdfGeneratorSceneComponent.d.ts +5 -5
- package/Rendering/index.d.ts +86 -86
- package/Rendering/motionBlurConfiguration.d.ts +1 -1
- package/Rendering/objectRenderer.d.ts +7 -7
- package/Rendering/objectRenderer.js +11 -11
- package/Rendering/objectRenderer.js.map +1 -1
- package/Rendering/outlineRenderer.d.ts +6 -6
- package/Rendering/prePassEffectConfiguration.d.ts +1 -1
- package/Rendering/prePassRenderer.d.ts +11 -11
- package/Rendering/prePassRendererSceneComponent.d.ts +7 -7
- package/Rendering/renderingGroup.d.ts +9 -9
- package/Rendering/renderingManager.d.ts +10 -10
- package/Rendering/screenSpaceReflections2Configuration.d.ts +1 -1
- package/Rendering/screenSpaceReflectionsConfiguration.d.ts +1 -1
- package/Rendering/ssao2Configuration.d.ts +1 -1
- package/Rendering/subSurfaceConfiguration.d.ts +4 -4
- package/Rendering/subSurfaceSceneComponent.d.ts +5 -5
- package/Rendering/utilityLayerRenderer.d.ts +7 -7
- package/Shaders/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/defaultUboDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/defaultVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js +9 -1
- package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/Shaders/ShadersInclude/gaussianSplattingFragmentDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/gaussianSplattingUboDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/geometryUboDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/lightFragment.js +10 -7
- package/Shaders/ShadersInclude/lightFragment.js.map +1 -1
- package/Shaders/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/lineUboDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js +5 -1
- package/Shaders/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js +2 -2
- package/Shaders/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js +16 -4
- package/Shaders/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/pbrUboDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/pbrVertexDeclaration.d.ts +1 -1
- package/Shaders/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/shadowMapUboDeclaration.d.ts +2 -2
- package/Shaders/ShadersInclude/shadowMapVertexDeclaration.d.ts +2 -2
- package/Shaders/background.fragment.d.ts +18 -18
- package/Shaders/background.vertex.d.ts +18 -18
- package/Shaders/boundingBoxRenderer.fragment.d.ts +2 -2
- package/Shaders/boundingBoxRenderer.vertex.d.ts +2 -2
- package/Shaders/color.fragment.d.ts +4 -4
- package/Shaders/color.vertex.d.ts +11 -11
- package/Shaders/copyTextureToTexture.fragment.d.ts +1 -1
- package/Shaders/default.fragment.d.ts +28 -28
- package/Shaders/default.vertex.d.ts +33 -33
- package/Shaders/depth.fragment.d.ts +3 -3
- package/Shaders/depth.vertex.d.ts +14 -14
- package/Shaders/extractHighlights.fragment.d.ts +1 -1
- package/Shaders/gaussianSplatting.fragment.d.ts +5 -5
- package/Shaders/gaussianSplatting.vertex.d.ts +10 -10
- package/Shaders/gaussianSplatting.vertex.js +2 -2
- package/Shaders/gaussianSplatting.vertex.js.map +1 -1
- package/Shaders/geometry.fragment.d.ts +7 -7
- package/Shaders/geometry.vertex.d.ts +15 -15
- package/Shaders/glowMapGeneration.fragment.d.ts +3 -3
- package/Shaders/glowMapGeneration.vertex.d.ts +12 -12
- package/Shaders/gpuRenderParticles.fragment.d.ts +9 -9
- package/Shaders/gpuRenderParticles.vertex.d.ts +6 -6
- package/Shaders/gpuTransform.vertex.d.ts +8 -8
- package/Shaders/grain.fragment.d.ts +1 -1
- package/Shaders/greasedLine.vertex.d.ts +2 -2
- package/Shaders/hdrFiltering.fragment.d.ts +4 -4
- package/Shaders/hdrIrradianceFiltering.fragment.d.ts +4 -4
- package/Shaders/iblCdfy.fragment.d.ts +1 -1
- package/Shaders/iblIcdf.fragment.d.ts +1 -1
- package/Shaders/iblScaledLuminance.fragment.d.ts +1 -1
- package/Shaders/iblVoxelGrid.vertex.d.ts +10 -10
- package/Shaders/imageProcessing.fragment.d.ts +3 -3
- package/Shaders/kernelBlur.fragment.d.ts +4 -4
- package/Shaders/kernelBlur.vertex.d.ts +2 -2
- package/Shaders/layer.fragment.d.ts +1 -1
- package/Shaders/line.fragment.d.ts +4 -4
- package/Shaders/line.vertex.d.ts +8 -8
- package/Shaders/meshUVSpaceRenderer.vertex.d.ts +10 -10
- package/Shaders/outline.fragment.d.ts +4 -4
- package/Shaders/outline.vertex.d.ts +14 -14
- package/Shaders/particles.fragment.d.ts +9 -9
- package/Shaders/particles.vertex.d.ts +6 -6
- package/Shaders/pbr.fragment.d.ts +58 -58
- package/Shaders/pbr.vertex.d.ts +33 -33
- package/Shaders/picking.vertex.d.ts +10 -10
- package/Shaders/rgbdDecode.fragment.d.ts +1 -1
- package/Shaders/rgbdEncode.fragment.d.ts +1 -1
- package/Shaders/screenSpaceReflection2.fragment.d.ts +3 -3
- package/Shaders/screenSpaceReflection2BlurCombiner.fragment.d.ts +3 -3
- package/Shaders/shadowMap.fragment.d.ts +4 -4
- package/Shaders/shadowMap.vertex.d.ts +17 -17
- package/Shaders/spriteMap.fragment.d.ts +4 -4
- package/Shaders/spriteMap.vertex.d.ts +3 -3
- package/Shaders/sprites.fragment.d.ts +5 -5
- package/Shaders/sprites.vertex.d.ts +3 -3
- package/Shaders/standard.fragment.d.ts +1 -1
- package/Shaders/subSurfaceScattering.fragment.d.ts +4 -4
- package/Shaders/velocity.vertex.d.ts +2 -2
- package/Shaders/volumetricLightScatteringPass.vertex.d.ts +10 -10
- package/ShadersWGSL/ShadersInclude/backgroundUboDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/defaultUboDeclaration.d.ts +2 -2
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +11 -2
- package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/gaussianSplattingFragmentDeclaration.d.ts +2 -2
- package/ShadersWGSL/ShadersInclude/gaussianSplattingUboDeclaration.d.ts +2 -2
- package/ShadersWGSL/ShadersInclude/lightFragment.js +10 -7
- package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/lightsFragmentFunctions.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js +5 -1
- package/ShadersWGSL/ShadersInclude/pbrBRDFFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockAlbedoOpacity.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockDirectLighting.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockFinalUnlitComponents.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectance.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js +2 -2
- package/ShadersWGSL/ShadersInclude/pbrBlockReflectivity.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js +24 -8
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingFunctions.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/pbrDirectLightingSetupFunctions.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentExtraDeclaration.d.ts +1 -1
- package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.d.ts +2 -2
- package/ShadersWGSL/ShadersInclude/pbrUboDeclaration.d.ts +2 -2
- package/ShadersWGSL/ShadersInclude/shadowMapFragmentExtraDeclaration.d.ts +2 -2
- package/ShadersWGSL/background.fragment.d.ts +16 -16
- package/ShadersWGSL/background.vertex.d.ts +16 -16
- package/ShadersWGSL/color.fragment.d.ts +4 -4
- package/ShadersWGSL/color.vertex.d.ts +11 -11
- package/ShadersWGSL/copyTextureToTexture.fragment.d.ts +1 -1
- package/ShadersWGSL/default.fragment.d.ts +26 -26
- package/ShadersWGSL/default.vertex.d.ts +31 -31
- package/ShadersWGSL/depth.fragment.d.ts +3 -3
- package/ShadersWGSL/depth.vertex.d.ts +12 -12
- package/ShadersWGSL/extractHighlights.fragment.d.ts +1 -1
- package/ShadersWGSL/gaussianSplatting.fragment.d.ts +5 -5
- package/ShadersWGSL/gaussianSplatting.vertex.d.ts +10 -9
- package/ShadersWGSL/gaussianSplatting.vertex.js +6 -3
- package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
- package/ShadersWGSL/geometry.fragment.d.ts +6 -6
- package/ShadersWGSL/geometry.vertex.d.ts +14 -14
- package/ShadersWGSL/glowMapGeneration.fragment.d.ts +3 -3
- package/ShadersWGSL/glowMapGeneration.vertex.d.ts +12 -12
- package/ShadersWGSL/grain.fragment.d.ts +1 -1
- package/ShadersWGSL/greasedLine.vertex.d.ts +4 -4
- package/ShadersWGSL/hdrFiltering.fragment.d.ts +4 -4
- package/ShadersWGSL/hdrIrradianceFiltering.fragment.d.ts +4 -4
- package/ShadersWGSL/iblIcdf.fragment.d.ts +1 -1
- package/ShadersWGSL/iblScaledLuminance.fragment.d.ts +1 -1
- package/ShadersWGSL/iblVoxelGrid.vertex.d.ts +10 -10
- package/ShadersWGSL/imageProcessing.fragment.d.ts +3 -3
- package/ShadersWGSL/kernelBlur.fragment.d.ts +4 -4
- package/ShadersWGSL/kernelBlur.vertex.d.ts +2 -2
- package/ShadersWGSL/layer.fragment.d.ts +1 -1
- package/ShadersWGSL/line.fragment.d.ts +4 -4
- package/ShadersWGSL/line.vertex.d.ts +8 -8
- package/ShadersWGSL/meshUVSpaceRenderer.vertex.d.ts +10 -10
- package/ShadersWGSL/outline.fragment.d.ts +4 -4
- package/ShadersWGSL/outline.vertex.d.ts +14 -14
- package/ShadersWGSL/particles.fragment.d.ts +9 -9
- package/ShadersWGSL/particles.vertex.d.ts +6 -6
- package/ShadersWGSL/pbr.fragment.d.ts +56 -56
- package/ShadersWGSL/pbr.vertex.d.ts +31 -31
- package/ShadersWGSL/picking.vertex.d.ts +10 -10
- package/ShadersWGSL/rgbdDecode.fragment.d.ts +1 -1
- package/ShadersWGSL/rgbdEncode.fragment.d.ts +1 -1
- package/ShadersWGSL/screenSpaceReflection2.fragment.d.ts +3 -3
- package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.d.ts +3 -3
- package/ShadersWGSL/shadowMap.fragment.d.ts +4 -4
- package/ShadersWGSL/shadowMap.vertex.d.ts +17 -17
- package/ShadersWGSL/sprites.fragment.d.ts +5 -5
- package/ShadersWGSL/sprites.vertex.d.ts +3 -3
- package/ShadersWGSL/subSurfaceScattering.fragment.d.ts +4 -4
- package/Sprites/index.d.ts +10 -10
- package/Sprites/sprite.d.ts +9 -9
- package/Sprites/spriteManager.d.ts +9 -9
- package/Sprites/spriteMap.d.ts +7 -7
- package/Sprites/spritePackedManager.d.ts +3 -3
- package/Sprites/spriteRenderer.d.ts +8 -8
- package/Sprites/spriteSceneComponent.d.ts +10 -10
- package/Sprites/thinSprite.d.ts +2 -2
- package/States/alphaCullingState.d.ts +1 -1
- package/States/depthCullingState.d.ts +1 -1
- package/States/index.d.ts +4 -4
- package/States/stencilState.d.ts +1 -1
- package/States/stencilStateComposer.d.ts +1 -1
- package/XR/features/Layers/WebXRProjectionLayer.d.ts +1 -1
- package/XR/features/WebXRAbstractFeature.d.ts +4 -4
- package/XR/features/WebXRAnchorSystem.d.ts +6 -6
- package/XR/features/WebXRBackgroundRemover.d.ts +4 -4
- package/XR/features/WebXRControllerMovement.d.ts +9 -9
- package/XR/features/WebXRControllerPhysics.d.ts +6 -6
- package/XR/features/WebXRControllerPointerSelection.d.ts +10 -10
- package/XR/features/WebXRControllerTeleportation.d.ts +12 -12
- package/XR/features/WebXRDOMOverlay.d.ts +3 -3
- package/XR/features/WebXRDepthSensing.d.ts +6 -6
- package/XR/features/WebXREyeTracking.d.ts +5 -5
- package/XR/features/WebXRFeaturePointSystem.d.ts +4 -4
- package/XR/features/WebXRHandTracking.d.ts +11 -11
- package/XR/features/WebXRHitTest.d.ts +5 -5
- package/XR/features/WebXRHitTestLegacy.d.ts +6 -6
- package/XR/features/WebXRImageTracking.d.ts +5 -5
- package/XR/features/WebXRLayers.d.ts +8 -8
- package/XR/features/WebXRLightEstimation.d.ts +9 -9
- package/XR/features/WebXRMeshDetector.d.ts +6 -6
- package/XR/features/WebXRNearInteraction.d.ts +13 -13
- package/XR/features/WebXRPlaneDetector.d.ts +5 -5
- package/XR/features/WebXRRawCameraAccess.d.ts +4 -4
- package/XR/features/WebXRSpaceWarp.d.ts +10 -10
- package/XR/features/WebXRWalkingLocomotion.d.ts +4 -4
- package/XR/features/index.d.ts +23 -23
- package/XR/index.d.ts +14 -14
- package/XR/motionController/index.d.ts +9 -9
- package/XR/motionController/webXRAbstractMotionController.d.ts +5 -5
- package/XR/motionController/webXRControllerComponent.d.ts +3 -3
- package/XR/motionController/webXRGenericHandController.d.ts +4 -4
- package/XR/motionController/webXRGenericMotionController.d.ts +4 -4
- package/XR/motionController/webXRHTCViveMotionController.d.ts +4 -4
- package/XR/motionController/webXRMicrosoftMixedRealityController.d.ts +4 -4
- package/XR/motionController/webXRMotionControllerManager.d.ts +2 -2
- package/XR/motionController/webXROculusTouchMotionController.d.ts +4 -4
- package/XR/motionController/webXRProfiledMotionController.d.ts +4 -4
- package/XR/native/index.d.ts +2 -2
- package/XR/native/nativeXRRenderTarget.d.ts +7 -7
- package/XR/webXRCamera.d.ts +7 -7
- package/XR/webXRDefaultExperience.d.ts +16 -16
- package/XR/webXREnterExitUI.d.ts +5 -5
- package/XR/webXRExperienceHelper.d.ts +7 -7
- package/XR/webXRFeaturesManager.d.ts +2 -2
- package/XR/webXRInput.d.ts +6 -6
- package/XR/webXRInputSource.d.ts +7 -7
- package/XR/webXRLayerWrapper.d.ts +3 -3
- package/XR/webXRManagedOutputCanvas.d.ts +5 -5
- package/XR/webXRRenderTargetTextureProvider.d.ts +5 -5
- package/XR/webXRSessionManager.d.ts +9 -9
- package/XR/webXRTypes.d.ts +2 -2
- package/XR/webXRWebGLLayer.d.ts +6 -6
- package/assetContainer.d.ts +27 -27
- package/index.d.ts +49 -49
- package/node.d.ts +15 -15
- package/package.json +1 -1
- package/scene.d.ts +62 -62
- package/sceneComponent.d.ts +12 -12
package/Meshes/buffer.d.ts
CHANGED
package/Meshes/csg.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { Nullable } from "../types";
|
|
2
|
-
import type { Scene } from "../scene";
|
|
3
|
-
import { Quaternion, Matrix, Vector3, Vector2 } from "../Maths/math.vector";
|
|
4
|
-
import { Mesh } from "../Meshes/mesh";
|
|
5
|
-
import type { Material } from "../Materials/material";
|
|
6
|
-
import { Color4 } from "../Maths/math.color";
|
|
7
|
-
import { VertexData } from "./mesh.vertexData";
|
|
1
|
+
import type { Nullable } from "../types.js";
|
|
2
|
+
import type { Scene } from "../scene.js";
|
|
3
|
+
import { Quaternion, Matrix, Vector3, Vector2 } from "../Maths/math.vector.js";
|
|
4
|
+
import { Mesh } from "../Meshes/mesh.js";
|
|
5
|
+
import type { Material } from "../Materials/material.js";
|
|
6
|
+
import { Color4 } from "../Maths/math.color.js";
|
|
7
|
+
import { VertexData } from "./mesh.vertexData.js";
|
|
8
8
|
/**
|
|
9
9
|
* Represents a vertex of a polygon. Use your own vertex class instead of this
|
|
10
10
|
* one to provide additional features like texture coordinates and vertex
|
package/Meshes/csg2.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Mesh } from "./mesh";
|
|
1
|
+
import { Mesh } from "./mesh.js";
|
|
2
2
|
import type { IDisposable, Scene } from "../scene.js";
|
|
3
|
-
import { VertexData } from "./mesh.vertexData";
|
|
3
|
+
import { VertexData } from "./mesh.vertexData.js";
|
|
4
4
|
import type { Material } from "../Materials/material.js";
|
|
5
5
|
/**
|
|
6
6
|
* Interface to customize the Manifold library import
|
package/Meshes/geodesicMesh.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Vector3 } from "../Maths/math.vector";
|
|
2
|
-
import { _IsoVector } from "../Maths/math.isovector";
|
|
1
|
+
import { Vector3 } from "../Maths/math.vector.js";
|
|
2
|
+
import { _IsoVector } from "../Maths/math.isovector.js";
|
|
3
3
|
/**
|
|
4
4
|
* Class representing data for one face OAB of an equilateral icosahedron
|
|
5
5
|
* When O is the isovector (0, 0), A is isovector (m, n)
|
package/Meshes/geometry.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type { Nullable, FloatArray, DataArray, IndicesArray } from "../types";
|
|
2
|
-
import type { Scene } from "../scene";
|
|
3
|
-
import type { Vector2 } from "../Maths/math.vector";
|
|
4
|
-
import { Vector3 } from "../Maths/math.vector";
|
|
5
|
-
import type { IGetSetVerticesData } from "../Meshes/mesh.vertexData";
|
|
6
|
-
import { VertexData } from "../Meshes/mesh.vertexData";
|
|
7
|
-
import { VertexBuffer } from "../Buffers/buffer";
|
|
8
|
-
import type { Effect } from "../Materials/effect";
|
|
9
|
-
import { BoundingInfo } from "../Culling/boundingInfo";
|
|
10
|
-
import type { DataBuffer } from "../Buffers/dataBuffer";
|
|
11
|
-
import type { Mesh } from "../Meshes/mesh";
|
|
12
|
-
import type { AbstractEngine } from "../Engines/abstractEngine";
|
|
1
|
+
import type { Nullable, FloatArray, DataArray, IndicesArray } from "../types.js";
|
|
2
|
+
import type { Scene } from "../scene.js";
|
|
3
|
+
import type { Vector2 } from "../Maths/math.vector.js";
|
|
4
|
+
import { Vector3 } from "../Maths/math.vector.js";
|
|
5
|
+
import type { IGetSetVerticesData } from "../Meshes/mesh.vertexData.js";
|
|
6
|
+
import { VertexData } from "../Meshes/mesh.vertexData.js";
|
|
7
|
+
import { VertexBuffer } from "../Buffers/buffer.js";
|
|
8
|
+
import type { Effect } from "../Materials/effect.js";
|
|
9
|
+
import { BoundingInfo } from "../Culling/boundingInfo.js";
|
|
10
|
+
import type { DataBuffer } from "../Buffers/dataBuffer.js";
|
|
11
|
+
import type { Mesh } from "../Meshes/mesh.js";
|
|
12
|
+
import type { AbstractEngine } from "../Engines/abstractEngine.js";
|
|
13
13
|
import type { IAssetContainer } from "../IAssetContainer.js";
|
|
14
14
|
/**
|
|
15
15
|
* Class used to store geometry data (vertex buffers + index buffer)
|
package/Meshes/goldbergMesh.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Scene } from "../scene";
|
|
2
|
-
import type { Vector2 } from "../Maths/math.vector";
|
|
3
|
-
import { Vector3 } from "../Maths/math.vector";
|
|
4
|
-
import { Mesh } from "../Meshes/mesh";
|
|
5
|
-
import { Color4 } from "../Maths/math.color";
|
|
1
|
+
import type { Scene } from "../scene.js";
|
|
2
|
+
import type { Vector2 } from "../Maths/math.vector.js";
|
|
3
|
+
import { Vector3 } from "../Maths/math.vector.js";
|
|
4
|
+
import { Mesh } from "../Meshes/mesh.js";
|
|
5
|
+
import { Color4 } from "../Maths/math.color.js";
|
|
6
6
|
/**
|
|
7
7
|
* Defines the set of goldberg data used to create the polygon
|
|
8
8
|
*/
|
package/Meshes/groundMesh.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Scene } from "../scene";
|
|
2
|
-
import { Vector3 } from "../Maths/math.vector";
|
|
3
|
-
import { Mesh } from "../Meshes/mesh";
|
|
1
|
+
import type { Scene } from "../scene.js";
|
|
2
|
+
import { Vector3 } from "../Maths/math.vector.js";
|
|
3
|
+
import { Mesh } from "../Meshes/mesh.js";
|
|
4
4
|
/**
|
|
5
5
|
* Mesh representing the ground
|
|
6
6
|
*/
|
package/Meshes/index.d.ts
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
export * from "./abstractMesh";
|
|
2
|
-
import "./abstractMesh.decalMap";
|
|
3
|
-
export * from "./abstractMesh.hotSpot";
|
|
4
|
-
export * from "./Compression/index";
|
|
5
|
-
export * from "./csg";
|
|
6
|
-
export * from "./meshUVSpaceRenderer";
|
|
7
|
-
export * from "./geometry";
|
|
8
|
-
export * from "./groundMesh";
|
|
9
|
-
export * from "./goldbergMesh";
|
|
10
|
-
export * from "./trailMesh";
|
|
11
|
-
export * from "./instancedMesh";
|
|
12
|
-
export * from "./linesMesh";
|
|
13
|
-
export * from "./mesh";
|
|
14
|
-
export * from "./mesh.vertexData";
|
|
15
|
-
export * from "./meshBuilder";
|
|
16
|
-
export * from "./meshSimplification";
|
|
17
|
-
export * from "./meshSimplificationSceneComponent";
|
|
18
|
-
export * from "./meshUtils";
|
|
19
|
-
export * from "./polygonMesh";
|
|
20
|
-
export * from "./geodesicMesh";
|
|
21
|
-
export * from "./subMesh";
|
|
22
|
-
export * from "./subMesh.project";
|
|
23
|
-
export * from "./lattice";
|
|
24
|
-
export * from "./lattice.material";
|
|
25
|
-
export * from "./meshLODLevel";
|
|
26
|
-
export * from "./transformNode";
|
|
27
|
-
export * from "./Builders/index";
|
|
28
|
-
export * from "./WebGL/webGLDataBuffer";
|
|
29
|
-
export * from "./WebGPU/webgpuDataBuffer";
|
|
30
|
-
export * from "./GreasedLine/greasedLineMesh";
|
|
31
|
-
export * from "./GreasedLine/greasedLineRibbonMesh";
|
|
32
|
-
export * from "./GreasedLine/greasedLineBaseMesh";
|
|
33
|
-
export * from "./csg2";
|
|
34
|
-
export * from "./mesh.vertexData.functions";
|
|
35
|
-
export * from "./mesh.vertexData.subdivide";
|
|
36
|
-
import "./thinInstanceMesh";
|
|
37
|
-
export * from "./thinInstanceMesh";
|
|
38
|
-
export * from "./Node/index";
|
|
39
|
-
export * from "./GaussianSplatting/gaussianSplattingMesh";
|
|
40
|
-
export * from "../Shaders/color.fragment";
|
|
41
|
-
export * from "../Shaders/color.vertex";
|
|
42
|
-
export * from "../ShadersWGSL/color.fragment";
|
|
43
|
-
export * from "../ShadersWGSL/color.vertex";
|
|
44
|
-
export * from "../Shaders/meshUVSpaceRenderer.vertex";
|
|
45
|
-
export * from "../Shaders/meshUVSpaceRenderer.fragment";
|
|
46
|
-
export * from "../Shaders/meshUVSpaceRendererMasker.vertex";
|
|
47
|
-
export * from "../Shaders/meshUVSpaceRendererMasker.fragment";
|
|
48
|
-
export * from "../Shaders/meshUVSpaceRendererFinaliser.fragment";
|
|
49
|
-
export * from "../Shaders/meshUVSpaceRendererFinaliser.vertex";
|
|
50
|
-
export * from "../ShadersWGSL/meshUVSpaceRenderer.vertex";
|
|
51
|
-
export * from "../ShadersWGSL/meshUVSpaceRenderer.fragment";
|
|
52
|
-
export * from "../ShadersWGSL/meshUVSpaceRendererMasker.vertex";
|
|
53
|
-
export * from "../ShadersWGSL/meshUVSpaceRendererMasker.fragment";
|
|
54
|
-
export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.fragment";
|
|
55
|
-
export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.vertex";
|
|
1
|
+
export * from "./abstractMesh.js";
|
|
2
|
+
import "./abstractMesh.decalMap.js";
|
|
3
|
+
export * from "./abstractMesh.hotSpot.js";
|
|
4
|
+
export * from "./Compression/index.js";
|
|
5
|
+
export * from "./csg.js";
|
|
6
|
+
export * from "./meshUVSpaceRenderer.js";
|
|
7
|
+
export * from "./geometry.js";
|
|
8
|
+
export * from "./groundMesh.js";
|
|
9
|
+
export * from "./goldbergMesh.js";
|
|
10
|
+
export * from "./trailMesh.js";
|
|
11
|
+
export * from "./instancedMesh.js";
|
|
12
|
+
export * from "./linesMesh.js";
|
|
13
|
+
export * from "./mesh.js";
|
|
14
|
+
export * from "./mesh.vertexData.js";
|
|
15
|
+
export * from "./meshBuilder.js";
|
|
16
|
+
export * from "./meshSimplification.js";
|
|
17
|
+
export * from "./meshSimplificationSceneComponent.js";
|
|
18
|
+
export * from "./meshUtils.js";
|
|
19
|
+
export * from "./polygonMesh.js";
|
|
20
|
+
export * from "./geodesicMesh.js";
|
|
21
|
+
export * from "./subMesh.js";
|
|
22
|
+
export * from "./subMesh.project.js";
|
|
23
|
+
export * from "./lattice.js";
|
|
24
|
+
export * from "./lattice.material.js";
|
|
25
|
+
export * from "./meshLODLevel.js";
|
|
26
|
+
export * from "./transformNode.js";
|
|
27
|
+
export * from "./Builders/index.js";
|
|
28
|
+
export * from "./WebGL/webGLDataBuffer.js";
|
|
29
|
+
export * from "./WebGPU/webgpuDataBuffer.js";
|
|
30
|
+
export * from "./GreasedLine/greasedLineMesh.js";
|
|
31
|
+
export * from "./GreasedLine/greasedLineRibbonMesh.js";
|
|
32
|
+
export * from "./GreasedLine/greasedLineBaseMesh.js";
|
|
33
|
+
export * from "./csg2.js";
|
|
34
|
+
export * from "./mesh.vertexData.functions.js";
|
|
35
|
+
export * from "./mesh.vertexData.subdivide.js";
|
|
36
|
+
import "./thinInstanceMesh.js";
|
|
37
|
+
export * from "./thinInstanceMesh.js";
|
|
38
|
+
export * from "./Node/index.js";
|
|
39
|
+
export * from "./GaussianSplatting/gaussianSplattingMesh.js";
|
|
40
|
+
export * from "../Shaders/color.fragment.js";
|
|
41
|
+
export * from "../Shaders/color.vertex.js";
|
|
42
|
+
export * from "../ShadersWGSL/color.fragment.js";
|
|
43
|
+
export * from "../ShadersWGSL/color.vertex.js";
|
|
44
|
+
export * from "../Shaders/meshUVSpaceRenderer.vertex.js";
|
|
45
|
+
export * from "../Shaders/meshUVSpaceRenderer.fragment.js";
|
|
46
|
+
export * from "../Shaders/meshUVSpaceRendererMasker.vertex.js";
|
|
47
|
+
export * from "../Shaders/meshUVSpaceRendererMasker.fragment.js";
|
|
48
|
+
export * from "../Shaders/meshUVSpaceRendererFinaliser.fragment.js";
|
|
49
|
+
export * from "../Shaders/meshUVSpaceRendererFinaliser.vertex.js";
|
|
50
|
+
export * from "../ShadersWGSL/meshUVSpaceRenderer.vertex.js";
|
|
51
|
+
export * from "../ShadersWGSL/meshUVSpaceRenderer.fragment.js";
|
|
52
|
+
export * from "../ShadersWGSL/meshUVSpaceRendererMasker.vertex.js";
|
|
53
|
+
export * from "../ShadersWGSL/meshUVSpaceRendererMasker.fragment.js";
|
|
54
|
+
export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.fragment.js";
|
|
55
|
+
export * from "../ShadersWGSL/meshUVSpaceRendererFinaliser.vertex.js";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { Nullable, FloatArray, IndicesArray } from "../types";
|
|
2
|
-
import type { Vector3 } from "../Maths/math.vector";
|
|
3
|
-
import { Matrix } from "../Maths/math.vector";
|
|
4
|
-
import type { Camera } from "../Cameras/camera";
|
|
5
|
-
import type { Node } from "../node";
|
|
6
|
-
import type { IMeshDataOptions } from "../Meshes/abstractMesh";
|
|
7
|
-
import { AbstractMesh } from "../Meshes/abstractMesh";
|
|
8
|
-
import { Mesh } from "../Meshes/mesh";
|
|
9
|
-
import type { Material } from "../Materials/material";
|
|
10
|
-
import type { Skeleton } from "../Bones/skeleton";
|
|
11
|
-
import { TransformNode } from "./transformNode";
|
|
12
|
-
import type { Light } from "../Lights/light";
|
|
13
|
-
import { VertexBuffer } from "../Buffers/buffer";
|
|
14
|
-
import type { Geometry } from "./geometry";
|
|
1
|
+
import type { Nullable, FloatArray, IndicesArray } from "../types.js";
|
|
2
|
+
import type { Vector3 } from "../Maths/math.vector.js";
|
|
3
|
+
import { Matrix } from "../Maths/math.vector.js";
|
|
4
|
+
import type { Camera } from "../Cameras/camera.js";
|
|
5
|
+
import type { Node } from "../node.js";
|
|
6
|
+
import type { IMeshDataOptions } from "../Meshes/abstractMesh.js";
|
|
7
|
+
import { AbstractMesh } from "../Meshes/abstractMesh.js";
|
|
8
|
+
import { Mesh } from "../Meshes/mesh.js";
|
|
9
|
+
import type { Material } from "../Materials/material.js";
|
|
10
|
+
import type { Skeleton } from "../Bones/skeleton.js";
|
|
11
|
+
import { TransformNode } from "./transformNode.js";
|
|
12
|
+
import type { Light } from "../Lights/light.js";
|
|
13
|
+
import { VertexBuffer } from "../Buffers/buffer.js";
|
|
14
|
+
import type { Geometry } from "./geometry.js";
|
|
15
15
|
/**
|
|
16
16
|
* Creates an instance based on a source mesh.
|
|
17
17
|
*/
|
|
@@ -264,7 +264,7 @@ export declare class InstancedMesh extends AbstractMesh {
|
|
|
264
264
|
newSourcedMesh?: Mesh;
|
|
265
265
|
}, onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void): Nullable<TransformNode>;
|
|
266
266
|
}
|
|
267
|
-
declare module "./mesh" {
|
|
267
|
+
declare module "./mesh.js" {
|
|
268
268
|
interface Mesh {
|
|
269
269
|
/**
|
|
270
270
|
* Register a custom buffer that will be instanced
|
|
@@ -301,7 +301,7 @@ declare module "./mesh" {
|
|
|
301
301
|
};
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
|
-
declare module "./abstractMesh" {
|
|
304
|
+
declare module "./abstractMesh.js" {
|
|
305
305
|
interface AbstractMesh {
|
|
306
306
|
/**
|
|
307
307
|
* Object used to store instanced buffers defined by user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instancedMesh.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/instancedMesh.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport type { Vector3 } from \"../Maths/math.vector\";\r\nimport { Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { Camera } from \"../Cameras/camera\";\r\nimport type { Node } from \"../node\";\r\nimport type { IMeshDataOptions } from \"../Meshes/abstractMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport type { Material } from \"../Materials/material\";\r\nimport type { Skeleton } from \"../Bones/skeleton\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { TransformNode } from \"./transformNode\";\r\nimport type { Light } from \"../Lights/light\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport type { ThinEngine } from \"../Engines/thinEngine\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\nimport type { Geometry } from \"./geometry\";\r\n\r\nMesh._instancedMeshFactory = (name: string, mesh: Mesh): InstancedMesh => {\r\n const instance = new InstancedMesh(name, mesh);\r\n\r\n if (mesh.instancedBuffers) {\r\n instance.instancedBuffers = {};\r\n\r\n for (const key in mesh.instancedBuffers) {\r\n instance.instancedBuffers[key] = mesh.instancedBuffers[key];\r\n }\r\n }\r\n\r\n return instance;\r\n};\r\n\r\n/**\r\n * Creates an instance based on a source mesh.\r\n */\r\nexport class InstancedMesh extends AbstractMesh {\r\n private _sourceMesh: Mesh;\r\n private _currentLOD: Mesh;\r\n private _billboardWorldMatrix: Matrix;\r\n\r\n /** @internal */\r\n public _indexInSourceMeshInstanceArray = -1;\r\n /** @internal */\r\n public _distanceToCamera: number = 0;\r\n /** @internal */\r\n public _previousWorldMatrix: Nullable<Matrix>;\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh source.\r\n * @param name defines the name of the instance\r\n * @param source the mesh to create the instance from\r\n */\r\n constructor(name: string, source: Mesh) {\r\n super(name, source.getScene());\r\n\r\n source.addInstance(this);\r\n\r\n this._sourceMesh = source;\r\n\r\n this._unIndexed = source._unIndexed;\r\n\r\n this.position.copyFrom(source.position);\r\n this.rotation.copyFrom(source.rotation);\r\n this.scaling.copyFrom(source.scaling);\r\n\r\n if (source.rotationQuaternion) {\r\n this.rotationQuaternion = source.rotationQuaternion.clone();\r\n }\r\n\r\n this.animations = source.animations.slice();\r\n for (const range of source.getAnimationRanges()) {\r\n if (range != null) {\r\n this.createAnimationRange(range.name, range.from, range.to);\r\n }\r\n }\r\n\r\n this.infiniteDistance = source.infiniteDistance;\r\n\r\n this.setPivotMatrix(source.getPivotMatrix());\r\n\r\n this.refreshBoundingInfo(true, true);\r\n this._syncSubMeshes();\r\n }\r\n\r\n /**\r\n * @returns the string \"InstancedMesh\".\r\n */\r\n public override getClassName(): string {\r\n return \"InstancedMesh\";\r\n }\r\n\r\n /** Gets the list of lights affecting that mesh */\r\n public override get lightSources(): Light[] {\r\n return this._sourceMesh._lightSources;\r\n }\r\n\r\n public override _resyncLightSources(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _resyncLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _removeLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n // Methods\r\n /**\r\n * If the source mesh receives shadows\r\n */\r\n public override get receiveShadows(): boolean {\r\n return this._sourceMesh.receiveShadows;\r\n }\r\n\r\n public override set receiveShadows(_value: boolean) {\r\n if (this._sourceMesh?.receiveShadows !== _value) {\r\n Tools.Warn(\"Setting receiveShadows on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * The material of the source mesh\r\n */\r\n public override get material(): Nullable<Material> {\r\n return this._sourceMesh.material;\r\n }\r\n\r\n public override set material(_value: Nullable<Material>) {\r\n if (this._sourceMesh?.material !== _value) {\r\n Tools.Warn(\"Setting material on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Visibility of the source mesh\r\n */\r\n public override get visibility(): number {\r\n return this._sourceMesh.visibility;\r\n }\r\n\r\n public override set visibility(_value: number) {\r\n if (this._sourceMesh?.visibility !== _value) {\r\n Tools.Warn(\"Setting visibility on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Skeleton of the source mesh\r\n */\r\n public override get skeleton(): Nullable<Skeleton> {\r\n return this._sourceMesh.skeleton;\r\n }\r\n\r\n public override set skeleton(_value: Nullable<Skeleton>) {\r\n if (this._sourceMesh?.skeleton !== _value) {\r\n Tools.Warn(\"Setting skeleton on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Rendering ground id of the source mesh\r\n */\r\n public override get renderingGroupId(): number {\r\n return this._sourceMesh.renderingGroupId;\r\n }\r\n\r\n public override set renderingGroupId(value: number) {\r\n if (!this._sourceMesh || value === this._sourceMesh.renderingGroupId) {\r\n return;\r\n }\r\n\r\n //no-op with warning\r\n Logger.Warn(\"Note - setting renderingGroupId of an instanced mesh has no effect on the scene\");\r\n }\r\n\r\n /**\r\n * @returns the total number of vertices (integer).\r\n */\r\n public override getTotalVertices(): number {\r\n return this._sourceMesh ? this._sourceMesh.getTotalVertices() : 0;\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the number of indices or zero if the mesh has no geometry.\r\n */\r\n public override getTotalIndices(): number {\r\n return this._sourceMesh.getTotalIndices();\r\n }\r\n\r\n /**\r\n * The source mesh of the instance\r\n */\r\n public get sourceMesh(): Mesh {\r\n return this._sourceMesh;\r\n }\r\n\r\n /**\r\n * Gets the mesh internal Geometry object\r\n */\r\n public get geometry(): Nullable<Geometry> {\r\n return this._sourceMesh._geometry;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh model.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances\r\n * @param name defines the name of the new instance\r\n * @returns a new InstancedMesh\r\n */\r\n public createInstance(name: string): InstancedMesh {\r\n return this._sourceMesh.createInstance(name);\r\n }\r\n\r\n /**\r\n * Is this node ready to be used/rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @returns {boolean} is it ready\r\n */\r\n public override isReady(completeCheck = false): boolean {\r\n return this._sourceMesh.isReady(completeCheck, true);\r\n }\r\n\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param kind kind of verticies to retrieve (eg. positions, normals, uvs, etc.)\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean forcing the copy of the buffer no matter what the value of copyWhenShared is\r\n * @returns a float array or a Float32Array of the requested kind of data : positions, normals, uvs, etc.\r\n */\r\n public override getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable<FloatArray> {\r\n return this._sourceMesh.getVerticesData(kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n public override copyVerticesData(kind: string, vertexData: { [kind: string]: Float32Array }): void {\r\n this._sourceMesh.copyVerticesData(kind, vertexData);\r\n }\r\n\r\n /**\r\n * Sets the vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * The parameter `updatable` is passed as is to the underlying Geometry object constructor (if initially none) or updater.\r\n * The parameter `stride` is an optional positive integer, it is usually automatically deducted from the `kind` (3 for positions or normals, 2 for UV, etc).\r\n * Note that a new underlying VertexBuffer object is created each call.\r\n * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updatable defines if the data must be flagged as updatable (false as default)\r\n * @param stride defines the vertex stride (optional)\r\n * @returns the current mesh\r\n */\r\n public override setVerticesData(kind: string, data: FloatArray, updatable?: boolean, stride?: number): AbstractMesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setVerticesData(kind, data, updatable, stride);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Updates the existing vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, it is simply returned as it is.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * No new underlying VertexBuffer object is created.\r\n * If the `kind` is the `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n * If the parameter `makeItUnique` is true, a new global geometry is created from this positions and is set to the mesh.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines it the updated vertex buffer must be flagged as unique (false by default)\r\n * @returns the source mesh\r\n */\r\n public override updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.updateVerticesData(kind, data, updateExtends, makeItUnique);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Sets the mesh indices.\r\n * Expects an array populated with integers or a typed array (Int32Array, Uint32Array, Uint16Array).\r\n * If the mesh has no geometry, a new Geometry object is created and set to the mesh.\r\n * This method creates a new index buffer each call.\r\n * Returns the Mesh.\r\n * @param indices the source data\r\n * @param totalVertices defines the total number of vertices referenced by indices (could be null)\r\n * @returns source mesh\r\n */\r\n public override setIndices(indices: IndicesArray, totalVertices: Nullable<number> = null): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setIndices(indices, totalVertices);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Boolean : True if the mesh owns the requested kind of data.\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns true if data kind is present\r\n */\r\n public override isVerticesDataPresent(kind: string): boolean {\r\n return this._sourceMesh.isVerticesDataPresent(kind);\r\n }\r\n\r\n /**\r\n * @returns an array of indices (IndicesArray).\r\n */\r\n public override getIndices(): Nullable<IndicesArray> {\r\n return this._sourceMesh.getIndices();\r\n }\r\n\r\n public override get _positions(): Nullable<Vector3[]> {\r\n return this._sourceMesh._positions;\r\n }\r\n\r\n public override refreshBoundingInfo(applySkeletonOrOptions: boolean | IMeshDataOptions = false, applyMorph: boolean = false): InstancedMesh {\r\n if (this.hasBoundingInfo && this.getBoundingInfo().isLocked) {\r\n return this;\r\n }\r\n\r\n let options: IMeshDataOptions;\r\n if (typeof applySkeletonOrOptions === \"object\") {\r\n options = applySkeletonOrOptions;\r\n } else {\r\n options = {\r\n applySkeleton: applySkeletonOrOptions,\r\n applyMorph: applyMorph,\r\n };\r\n }\r\n\r\n const bias = this._sourceMesh.geometry ? this._sourceMesh.geometry.boundingBias : null;\r\n this._refreshBoundingInfo(this._sourceMesh._getData(options, null, VertexBuffer.PositionKind), bias);\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _preActivate(): InstancedMesh {\r\n if (this._currentLOD) {\r\n this._currentLOD._preActivate();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _activate(renderId: number, intermediateRendering: boolean): boolean {\r\n super._activate(renderId, intermediateRendering);\r\n\r\n if (!this._sourceMesh.subMeshes) {\r\n Logger.Warn(\"Instances should only be created for meshes with geometry.\");\r\n }\r\n\r\n if (this._currentLOD) {\r\n const differentSign = this._currentLOD._getWorldMatrixDeterminant() >= 0 !== this._getWorldMatrixDeterminant() >= 0;\r\n if (differentSign) {\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = true;\r\n return true;\r\n }\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = false;\r\n\r\n this._currentLOD._registerInstanceForRenderId(this, renderId);\r\n\r\n if (intermediateRendering) {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate = true;\r\n return true;\r\n }\r\n } else {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActive) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances = true;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public override _postActivate(): void {\r\n if (this._sourceMesh.edgesShareWithInstances && this._sourceMesh._edgesRenderer && this._sourceMesh._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer of the source mesh\r\n this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer);\r\n this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix());\r\n } else if (this._edgesRenderer && this._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer defined for this instance\r\n this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer);\r\n }\r\n }\r\n\r\n public override getWorldMatrix(): Matrix {\r\n if (this._currentLOD && this._currentLOD.billboardMode !== TransformNode.BILLBOARDMODE_NONE && this._currentLOD._masterMesh !== this) {\r\n if (!this._billboardWorldMatrix) {\r\n this._billboardWorldMatrix = new Matrix();\r\n }\r\n const tempMaster = this._currentLOD._masterMesh;\r\n this._currentLOD._masterMesh = this;\r\n TmpVectors.Vector3[7].copyFrom(this._currentLOD.position);\r\n this._currentLOD.position.set(0, 0, 0);\r\n this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(true));\r\n this._currentLOD.position.copyFrom(TmpVectors.Vector3[7]);\r\n this._currentLOD._masterMesh = tempMaster;\r\n return this._billboardWorldMatrix;\r\n }\r\n\r\n return super.getWorldMatrix();\r\n }\r\n\r\n public override get isAnInstance(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the current associated LOD AbstractMesh.\r\n * @param camera defines the camera to use to pick the LOD level\r\n * @returns a Mesh or `null` if no LOD is associated with the AbstractMesh\r\n */\r\n public override getLOD(camera: Camera): AbstractMesh {\r\n if (!camera) {\r\n return this;\r\n }\r\n\r\n const sourceMeshLODLevels = this.sourceMesh.getLODLevels();\r\n if (!sourceMeshLODLevels || sourceMeshLODLevels.length === 0) {\r\n this._currentLOD = this.sourceMesh;\r\n } else {\r\n const boundingInfo = this.getBoundingInfo();\r\n this._currentLOD = <Mesh>this.sourceMesh.getLOD(camera, boundingInfo.boundingSphere);\r\n }\r\n\r\n return this._currentLOD;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _preActivateForIntermediateRendering(renderId: number): Mesh {\r\n return <Mesh>this.sourceMesh._preActivateForIntermediateRendering(renderId);\r\n }\r\n\r\n /** @internal */\r\n public _syncSubMeshes(): InstancedMesh {\r\n this.releaseSubMeshes();\r\n if (this._sourceMesh.subMeshes) {\r\n for (let index = 0; index < this._sourceMesh.subMeshes.length; index++) {\r\n this._sourceMesh.subMeshes[index].clone(this, this._sourceMesh);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _generatePointsArray(): boolean {\r\n return this._sourceMesh._generatePointsArray();\r\n }\r\n\r\n /** @internal */\r\n public override _updateBoundingInfo(): AbstractMesh {\r\n if (this.hasBoundingInfo) {\r\n this.getBoundingInfo().update(this.worldMatrixFromCache);\r\n } else {\r\n this.buildBoundingInfo(this.absolutePosition, this.absolutePosition, this.worldMatrixFromCache);\r\n }\r\n this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache);\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh from the current mesh.\r\n *\r\n * Returns the clone.\r\n * @param name the cloned mesh name\r\n * @param newParent the optional Node to parent the clone to.\r\n * @param doNotCloneChildren if `true` the model children aren't cloned.\r\n * @param newSourceMesh if set this mesh will be used as the source mesh instead of ths instance's one\r\n * @returns the clone\r\n */\r\n public override clone(name: string, newParent: Nullable<Node> = null, doNotCloneChildren?: boolean, newSourceMesh?: Mesh): InstancedMesh {\r\n const result = (newSourceMesh || this._sourceMesh).createInstance(name);\r\n\r\n // Deep copy\r\n DeepCopier.DeepCopy(\r\n this,\r\n result,\r\n [\r\n \"name\",\r\n \"subMeshes\",\r\n \"uniqueId\",\r\n \"parent\",\r\n \"lightSources\",\r\n \"receiveShadows\",\r\n \"material\",\r\n \"visibility\",\r\n \"skeleton\",\r\n \"sourceMesh\",\r\n \"isAnInstance\",\r\n \"facetNb\",\r\n \"isFacetDataEnabled\",\r\n \"isBlocked\",\r\n \"useBones\",\r\n \"hasInstances\",\r\n \"collider\",\r\n \"edgesRenderer\",\r\n \"forward\",\r\n \"up\",\r\n \"right\",\r\n \"absolutePosition\",\r\n \"absoluteScaling\",\r\n \"absoluteRotationQuaternion\",\r\n \"isWorldMatrixFrozen\",\r\n \"nonUniformScaling\",\r\n \"behaviors\",\r\n \"worldMatrixFromCache\",\r\n \"hasThinInstances\",\r\n \"hasBoundingInfo\",\r\n \"geometry\",\r\n ],\r\n []\r\n );\r\n\r\n // Bounding info\r\n this.refreshBoundingInfo();\r\n\r\n // Parent\r\n if (newParent) {\r\n result.parent = newParent;\r\n }\r\n\r\n if (!doNotCloneChildren) {\r\n // Children\r\n for (let index = 0; index < this.getScene().meshes.length; index++) {\r\n const mesh = this.getScene().meshes[index];\r\n\r\n if (mesh.parent === this) {\r\n mesh.clone(mesh.name, result);\r\n }\r\n }\r\n }\r\n\r\n result.computeWorldMatrix(true);\r\n\r\n this.onClonedObservable.notifyObservers(result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Disposes the InstancedMesh.\r\n * Returns nothing.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public override dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n // Remove from mesh\r\n this._sourceMesh.removeInstance(this);\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _serializeAsParent(serializationObject: any) {\r\n super._serializeAsParent(serializationObject);\r\n\r\n serializationObject.parentId = this._sourceMesh.uniqueId;\r\n serializationObject.parentInstanceIndex = this._indexInSourceMeshInstanceArray;\r\n }\r\n\r\n /**\r\n * Instantiate (when possible) or clone that node with its hierarchy\r\n * @param newParent defines the new parent to use for the instance (or clone)\r\n * @param options defines options to configure how copy is done\r\n * @param options.doNotInstantiate defines if the model must be instantiated or just cloned\r\n * @param options.newSourcedMesh newSourcedMesh the new source mesh for the instance (or clone)\r\n * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created\r\n * @returns an instance (or a clone) of the current node with its hierarchy\r\n */\r\n public override instantiateHierarchy(\r\n newParent: Nullable<TransformNode> = null,\r\n options?: { doNotInstantiate: boolean | ((node: TransformNode) => boolean); newSourcedMesh?: Mesh },\r\n onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void\r\n ): Nullable<TransformNode> {\r\n const clone = this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true, options && options.newSourcedMesh);\r\n\r\n if (clone) {\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, clone);\r\n }\r\n }\r\n\r\n for (const child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(clone, options, onNewNodeCreated);\r\n }\r\n\r\n return clone;\r\n }\r\n}\r\n\r\ndeclare module \"./mesh\" {\r\n export interface Mesh {\r\n /**\r\n * Register a custom buffer that will be instanced\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n * @param kind defines the buffer kind\r\n * @param stride defines the stride in floats\r\n */\r\n registerInstancedBuffer(kind: string, stride: number): void;\r\n\r\n /**\r\n * Invalidate VertexArrayObjects belonging to the mesh (but not to the Geometry of the mesh).\r\n */\r\n _invalidateInstanceVertexArrayObject(): void;\r\n\r\n /**\r\n * true to use the edge renderer for all instances of this mesh\r\n */\r\n edgesShareWithInstances: boolean;\r\n\r\n /** @internal */\r\n _userInstancedBuffersStorage: {\r\n data: { [key: string]: Float32Array };\r\n sizes: { [key: string]: number };\r\n vertexBuffers: { [key: string]: Nullable<VertexBuffer> };\r\n strides: { [key: string]: number };\r\n vertexArrayObjects?: { [key: string]: WebGLVertexArrayObject };\r\n };\r\n }\r\n}\r\n\r\ndeclare module \"./abstractMesh\" {\r\n export interface AbstractMesh {\r\n /**\r\n * Object used to store instanced buffers defined by user\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n */\r\n instancedBuffers: { [key: string]: any };\r\n }\r\n}\r\n\r\nMesh.prototype.registerInstancedBuffer = function (kind: string, stride: number): void {\r\n // Remove existing one\r\n this._userInstancedBuffersStorage?.vertexBuffers[kind]?.dispose();\r\n\r\n // Creates the instancedBuffer field if not present\r\n if (!this.instancedBuffers) {\r\n this.instancedBuffers = {};\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers = {};\r\n }\r\n }\r\n\r\n if (!this._userInstancedBuffersStorage) {\r\n this._userInstancedBuffersStorage = {\r\n data: {},\r\n vertexBuffers: {},\r\n strides: {},\r\n sizes: {},\r\n vertexArrayObjects: this.getEngine().getCaps().vertexArrayObject ? {} : undefined,\r\n };\r\n }\r\n\r\n // Creates an empty property for this kind\r\n this.instancedBuffers[kind] = null;\r\n\r\n this._userInstancedBuffersStorage.strides[kind] = stride;\r\n this._userInstancedBuffersStorage.sizes[kind] = stride * 32; // Initial size\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(this._userInstancedBuffersStorage.sizes[kind]);\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userInstancedBuffersStorage.data[kind], kind, true, false, stride, true);\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers[kind] = null;\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n};\r\n\r\nMesh.prototype._processInstancedBuffers = function (visibleInstances: Nullable<InstancedMesh[]>, renderSelf: boolean) {\r\n const instanceCount = visibleInstances ? visibleInstances.length : 0;\r\n\r\n for (const kind in this.instancedBuffers) {\r\n let size = this._userInstancedBuffersStorage.sizes[kind];\r\n const stride = this._userInstancedBuffersStorage.strides[kind];\r\n\r\n // Resize if required\r\n const expectedSize = (instanceCount + 1) * stride;\r\n\r\n while (size < expectedSize) {\r\n size *= 2;\r\n }\r\n\r\n if (this._userInstancedBuffersStorage.data[kind].length != size) {\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(size);\r\n this._userInstancedBuffersStorage.sizes[kind] = size;\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = null;\r\n }\r\n }\r\n\r\n const data = this._userInstancedBuffersStorage.data[kind];\r\n\r\n // Update data buffer\r\n let offset = 0;\r\n if (renderSelf) {\r\n const value = this.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n for (let instanceIndex = 0; instanceIndex < instanceCount; instanceIndex++) {\r\n const instance = visibleInstances![instanceIndex]!;\r\n\r\n const value = instance.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n // Update vertex buffer\r\n if (!this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(\r\n this.getEngine(),\r\n this._userInstancedBuffersStorage.data[kind],\r\n kind,\r\n true,\r\n false,\r\n stride,\r\n true\r\n );\r\n this._invalidateInstanceVertexArrayObject();\r\n } else {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.updateDirectly(data, 0);\r\n }\r\n }\r\n};\r\n\r\nMesh.prototype._invalidateInstanceVertexArrayObject = function () {\r\n if (!this._userInstancedBuffersStorage || this._userInstancedBuffersStorage.vertexArrayObjects === undefined) {\r\n return;\r\n }\r\n\r\n for (const kind in this._userInstancedBuffersStorage.vertexArrayObjects) {\r\n (this.getEngine() as ThinEngine).releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[kind]);\r\n }\r\n\r\n this._userInstancedBuffersStorage.vertexArrayObjects = {};\r\n};\r\n\r\nMesh.prototype._disposeInstanceSpecificData = function () {\r\n if (this._instanceDataStorage.instancesBuffer) {\r\n this._instanceDataStorage.instancesBuffer.dispose();\r\n this._instanceDataStorage.instancesBuffer = null;\r\n }\r\n\r\n while (this.instances.length) {\r\n this.instances[0].dispose();\r\n }\r\n\r\n for (const kind in this.instancedBuffers) {\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n }\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this.instancedBuffers = {};\r\n};\r\n\r\n// Register Class Name\r\nRegisterClass(\"BABYLON.InstancedMesh\", InstancedMesh);\r\n"]}
|
|
1
|
+
{"version":3,"file":"instancedMesh.js","sourceRoot":"","sources":["../../../../dev/core/src/Meshes/instancedMesh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAY,EAAE,IAAU,EAAiB,EAAE;IACrE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAY3C;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAY;QAClC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAbnC,gBAAgB;QACT,oCAA+B,GAAG,CAAC,CAAC,CAAC;QAC5C,gBAAgB;QACT,sBAAiB,GAAW,CAAC,CAAC;QAYjC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAE1B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEhD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACa,YAAY;QACxB,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,IAAoB,YAAY;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEe,mBAAmB;QAC/B,yDAAyD;IAC7D,CAAC;IAEe,kBAAkB;QAC9B,yDAAyD;IAC7D,CAAC;IAEe,kBAAkB;QAC9B,yDAAyD;IAC7D,CAAC;IAED,UAAU;IACV;;OAEG;IACH,IAAoB,cAAc;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;IAC3C,CAAC;IAED,IAAoB,cAAc,CAAC,MAAe;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAoB,QAAQ,CAAC,MAA0B;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,UAAU;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,IAAoB,UAAU,CAAC,MAAc;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,IAAoB,QAAQ,CAAC,MAA0B;QACnD,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAoB,gBAAgB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC7C,CAAC;IAED,IAAoB,gBAAgB,CAAC,KAAa;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACnE,OAAO;QACX,CAAC;QAED,oBAAoB;QACpB,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACa,gBAAgB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACa,eAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAAa,GAAG,KAAK;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACa,eAAe,CAAC,IAAY,EAAE,cAAwB,EAAE,SAAmB;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEe,gBAAgB,CAAC,IAAY,EAAE,UAA4C;QACvF,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACa,eAAe,CAAC,IAAY,EAAE,IAAgB,EAAE,SAAmB,EAAE,MAAe;QAChG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACa,kBAAkB,CAAC,IAAY,EAAE,IAAgB,EAAE,aAAuB,EAAE,YAAsB;QAC9G,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACa,UAAU,CAAC,OAAqB,EAAE,gBAAkC,IAAI;QACpF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACa,qBAAqB,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACa,UAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,IAAoB,UAAU;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IACvC,CAAC;IAEe,mBAAmB,CAAC,yBAAqD,KAAK,EAAE,aAAsB,KAAK;QACvH,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,OAAyB,CAAC;QAC9B,IAAI,OAAO,sBAAsB,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,GAAG,sBAAsB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG;gBACN,aAAa,EAAE,sBAAsB;gBACrC,UAAU,EAAE,UAAU;aACzB,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACA,YAAY;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACa,SAAS,CAAC,QAAgB,EAAE,qBAA8B;QACtE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;YACpH,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC5D,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE7D,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9D,IAAI,qBAAqB,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,qBAAqB,EAAE,CAAC;oBACxE,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,6BAA6B,GAAG,IAAI,CAAC;oBACpF,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,SAAS,EAAE,CAAC;oBAC5D,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACxE,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB;IACA,aAAa;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,uBAAuB,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAC/J,oDAAoD;YACpD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAClG,2DAA2D;YAC3D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEe,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,aAAa,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACnI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,MAAM,EAAE,CAAC;YAC9C,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;YACpC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC;YAC1C,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;QAED,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,IAAoB,YAAY;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACa,MAAM,CAAC,MAAc;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3D,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACa,oCAAoC,CAAC,QAAgB;QACjE,OAAa,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,gBAAgB;IACT,cAAc;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACnD,CAAC;IAED,gBAAgB;IACA,mBAAmB;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACa,KAAK,CAAC,IAAY,EAAE,YAA4B,IAAI,EAAE,kBAA4B,EAAE,aAAoB;QACpH,MAAM,MAAM,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAExE,YAAY;QACZ,UAAU,CAAC,QAAQ,CACf,IAAI,EACJ,MAAM,EACN;YACI,MAAM;YACN,WAAW;YACX,UAAU;YACV,QAAQ;YACR,cAAc;YACd,gBAAgB;YAChB,UAAU;YACV,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,cAAc;YACd,SAAS;YACT,oBAAoB;YACpB,WAAW;YACX,UAAU;YACV,cAAc;YACd,UAAU;YACV,eAAe;YACf,SAAS;YACT,IAAI;YACJ,OAAO;YACP,kBAAkB;YAClB,iBAAiB;YACjB,4BAA4B;YAC5B,qBAAqB;YACrB,mBAAmB;YACnB,WAAW;YACX,sBAAsB;YACtB,kBAAkB;YAClB,iBAAiB;YACjB,UAAU;SACb,EACD,EAAE,CACL,CAAC;QAEF,gBAAgB;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,SAAS;QACT,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,WAAW;YACX,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACa,OAAO,CAAC,YAAsB,EAAE,0BAA0B,GAAG,KAAK;QAC9E,mBAAmB;QACnB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACa,kBAAkB,CAAC,mBAAwB;QACvD,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAE9C,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzD,mBAAmB,CAAC,mBAAmB,GAAG,IAAI,CAAC,+BAA+B,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACa,oBAAoB,CAChC,YAAqC,IAAI,EACzC,OAAmG,EACnG,gBAAwE;QAExE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;QAElI,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA2CD,IAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,IAAY,EAAE,MAAc;IAC3E,sBAAsB;IACtB,IAAI,CAAC,4BAA4B,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAElE,mDAAmD;IACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrC,IAAI,CAAC,4BAA4B,GAAG;YAChC,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACpF,CAAC;IACN,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACzD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,eAAe;IAC5E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1K,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAE5C,IAAI,CAAC,+BAA+B,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAAU,gBAA2C,EAAE,UAAmB;IAChH,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/D,qBAAqB;QACrB,MAAM,YAAY,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QAElD,OAAO,IAAI,GAAG,YAAY,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrD,IAAI,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,OAAO,EAAE,CAAC;gBACjE,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjE,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,qBAAqB;QACrB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,MAAM,CAAC;QACrB,CAAC;QAED,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,gBAAiB,CAAC,aAAa,CAAE,CAAC;YAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,MAAM,CAAC;QACrB,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CACpE,IAAI,CAAC,SAAS,EAAE,EAChB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,IAAI,CACP,CAAC;YACF,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,oCAAoC,GAAG;IAClD,IAAI,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC3G,OAAO;IACX,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,CAAC;QACrE,IAAI,CAAC,SAAS,EAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,IAAI,CAAC,SAAS,CAAC,4BAA4B,GAAG;IAC1C,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,IAAI,CAAE,CAAC,OAAO,EAAE,CAAC;QACrE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAE5C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,sBAAsB;AACtB,aAAa,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC","sourcesContent":["import type { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport type { Vector3 } from \"../Maths/math.vector\";\r\nimport { Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport type { Camera } from \"../Cameras/camera\";\r\nimport type { Node } from \"../node\";\r\nimport type { IMeshDataOptions } from \"../Meshes/abstractMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport type { Material } from \"../Materials/material\";\r\nimport type { Skeleton } from \"../Bones/skeleton\";\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { TransformNode } from \"./transformNode\";\r\nimport type { Light } from \"../Lights/light\";\r\nimport { VertexBuffer } from \"../Buffers/buffer\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport type { ThinEngine } from \"../Engines/thinEngine\";\r\nimport { RegisterClass } from \"../Misc/typeStore\";\r\nimport type { Geometry } from \"./geometry\";\r\n\r\nMesh._instancedMeshFactory = (name: string, mesh: Mesh): InstancedMesh => {\r\n const instance = new InstancedMesh(name, mesh);\r\n\r\n if (mesh.instancedBuffers) {\r\n instance.instancedBuffers = {};\r\n\r\n for (const key in mesh.instancedBuffers) {\r\n instance.instancedBuffers[key] = mesh.instancedBuffers[key];\r\n }\r\n }\r\n\r\n return instance;\r\n};\r\n\r\n/**\r\n * Creates an instance based on a source mesh.\r\n */\r\nexport class InstancedMesh extends AbstractMesh {\r\n private _sourceMesh: Mesh;\r\n private _currentLOD: Mesh;\r\n private _billboardWorldMatrix: Matrix;\r\n\r\n /** @internal */\r\n public _indexInSourceMeshInstanceArray = -1;\r\n /** @internal */\r\n public _distanceToCamera: number = 0;\r\n /** @internal */\r\n public _previousWorldMatrix: Nullable<Matrix>;\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh source.\r\n * @param name defines the name of the instance\r\n * @param source the mesh to create the instance from\r\n */\r\n constructor(name: string, source: Mesh) {\r\n super(name, source.getScene());\r\n\r\n source.addInstance(this);\r\n\r\n this._sourceMesh = source;\r\n\r\n this._unIndexed = source._unIndexed;\r\n\r\n this.position.copyFrom(source.position);\r\n this.rotation.copyFrom(source.rotation);\r\n this.scaling.copyFrom(source.scaling);\r\n\r\n if (source.rotationQuaternion) {\r\n this.rotationQuaternion = source.rotationQuaternion.clone();\r\n }\r\n\r\n this.animations = source.animations.slice();\r\n for (const range of source.getAnimationRanges()) {\r\n if (range != null) {\r\n this.createAnimationRange(range.name, range.from, range.to);\r\n }\r\n }\r\n\r\n this.infiniteDistance = source.infiniteDistance;\r\n\r\n this.setPivotMatrix(source.getPivotMatrix());\r\n\r\n this.refreshBoundingInfo(true, true);\r\n this._syncSubMeshes();\r\n }\r\n\r\n /**\r\n * @returns the string \"InstancedMesh\".\r\n */\r\n public override getClassName(): string {\r\n return \"InstancedMesh\";\r\n }\r\n\r\n /** Gets the list of lights affecting that mesh */\r\n public override get lightSources(): Light[] {\r\n return this._sourceMesh._lightSources;\r\n }\r\n\r\n public override _resyncLightSources(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _resyncLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n public override _removeLightSource(): void {\r\n // Do nothing as all the work will be done by source mesh\r\n }\r\n\r\n // Methods\r\n /**\r\n * If the source mesh receives shadows\r\n */\r\n public override get receiveShadows(): boolean {\r\n return this._sourceMesh.receiveShadows;\r\n }\r\n\r\n public override set receiveShadows(_value: boolean) {\r\n if (this._sourceMesh?.receiveShadows !== _value) {\r\n Tools.Warn(\"Setting receiveShadows on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * The material of the source mesh\r\n */\r\n public override get material(): Nullable<Material> {\r\n return this._sourceMesh.material;\r\n }\r\n\r\n public override set material(_value: Nullable<Material>) {\r\n if (this._sourceMesh?.material !== _value) {\r\n Tools.Warn(\"Setting material on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Visibility of the source mesh\r\n */\r\n public override get visibility(): number {\r\n return this._sourceMesh.visibility;\r\n }\r\n\r\n public override set visibility(_value: number) {\r\n if (this._sourceMesh?.visibility !== _value) {\r\n Tools.Warn(\"Setting visibility on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Skeleton of the source mesh\r\n */\r\n public override get skeleton(): Nullable<Skeleton> {\r\n return this._sourceMesh.skeleton;\r\n }\r\n\r\n public override set skeleton(_value: Nullable<Skeleton>) {\r\n if (this._sourceMesh?.skeleton !== _value) {\r\n Tools.Warn(\"Setting skeleton on an instanced mesh has no effect\");\r\n }\r\n }\r\n\r\n /**\r\n * Rendering ground id of the source mesh\r\n */\r\n public override get renderingGroupId(): number {\r\n return this._sourceMesh.renderingGroupId;\r\n }\r\n\r\n public override set renderingGroupId(value: number) {\r\n if (!this._sourceMesh || value === this._sourceMesh.renderingGroupId) {\r\n return;\r\n }\r\n\r\n //no-op with warning\r\n Logger.Warn(\"Note - setting renderingGroupId of an instanced mesh has no effect on the scene\");\r\n }\r\n\r\n /**\r\n * @returns the total number of vertices (integer).\r\n */\r\n public override getTotalVertices(): number {\r\n return this._sourceMesh ? this._sourceMesh.getTotalVertices() : 0;\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the number of indices or zero if the mesh has no geometry.\r\n */\r\n public override getTotalIndices(): number {\r\n return this._sourceMesh.getTotalIndices();\r\n }\r\n\r\n /**\r\n * The source mesh of the instance\r\n */\r\n public get sourceMesh(): Mesh {\r\n return this._sourceMesh;\r\n }\r\n\r\n /**\r\n * Gets the mesh internal Geometry object\r\n */\r\n public override get geometry(): Nullable<Geometry> {\r\n return this._sourceMesh._geometry;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh model.\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances\r\n * @param name defines the name of the new instance\r\n * @returns a new InstancedMesh\r\n */\r\n public createInstance(name: string): InstancedMesh {\r\n return this._sourceMesh.createInstance(name);\r\n }\r\n\r\n /**\r\n * Is this node ready to be used/rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @returns {boolean} is it ready\r\n */\r\n public override isReady(completeCheck = false): boolean {\r\n return this._sourceMesh.isReady(completeCheck, true);\r\n }\r\n\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param kind kind of verticies to retrieve (eg. positions, normals, uvs, etc.)\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean forcing the copy of the buffer no matter what the value of copyWhenShared is\r\n * @returns a float array or a Float32Array of the requested kind of data : positions, normals, uvs, etc.\r\n */\r\n public override getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable<FloatArray> {\r\n return this._sourceMesh.getVerticesData(kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n public override copyVerticesData(kind: string, vertexData: { [kind: string]: Float32Array }): void {\r\n this._sourceMesh.copyVerticesData(kind, vertexData);\r\n }\r\n\r\n /**\r\n * Sets the vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * The parameter `updatable` is passed as is to the underlying Geometry object constructor (if initially none) or updater.\r\n * The parameter `stride` is an optional positive integer, it is usually automatically deducted from the `kind` (3 for positions or normals, 2 for UV, etc).\r\n * Note that a new underlying VertexBuffer object is created each call.\r\n * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updatable defines if the data must be flagged as updatable (false as default)\r\n * @param stride defines the vertex stride (optional)\r\n * @returns the current mesh\r\n */\r\n public override setVerticesData(kind: string, data: FloatArray, updatable?: boolean, stride?: number): AbstractMesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setVerticesData(kind, data, updatable, stride);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Updates the existing vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, it is simply returned as it is.\r\n * The `data` are either a numeric array either a Float32Array.\r\n * No new underlying VertexBuffer object is created.\r\n * If the `kind` is the `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n * If the parameter `makeItUnique` is true, a new global geometry is created from this positions and is set to the mesh.\r\n *\r\n * Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n *\r\n * Returns the Mesh.\r\n * @param kind defines vertex data kind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines it the updated vertex buffer must be flagged as unique (false by default)\r\n * @returns the source mesh\r\n */\r\n public override updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.updateVerticesData(kind, data, updateExtends, makeItUnique);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Sets the mesh indices.\r\n * Expects an array populated with integers or a typed array (Int32Array, Uint32Array, Uint16Array).\r\n * If the mesh has no geometry, a new Geometry object is created and set to the mesh.\r\n * This method creates a new index buffer each call.\r\n * Returns the Mesh.\r\n * @param indices the source data\r\n * @param totalVertices defines the total number of vertices referenced by indices (could be null)\r\n * @returns source mesh\r\n */\r\n public override setIndices(indices: IndicesArray, totalVertices: Nullable<number> = null): Mesh {\r\n if (this.sourceMesh) {\r\n this.sourceMesh.setIndices(indices, totalVertices);\r\n }\r\n return this.sourceMesh;\r\n }\r\n\r\n /**\r\n * Boolean : True if the mesh owns the requested kind of data.\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns true if data kind is present\r\n */\r\n public override isVerticesDataPresent(kind: string): boolean {\r\n return this._sourceMesh.isVerticesDataPresent(kind);\r\n }\r\n\r\n /**\r\n * @returns an array of indices (IndicesArray).\r\n */\r\n public override getIndices(): Nullable<IndicesArray> {\r\n return this._sourceMesh.getIndices();\r\n }\r\n\r\n public override get _positions(): Nullable<Vector3[]> {\r\n return this._sourceMesh._positions;\r\n }\r\n\r\n public override refreshBoundingInfo(applySkeletonOrOptions: boolean | IMeshDataOptions = false, applyMorph: boolean = false): InstancedMesh {\r\n if (this.hasBoundingInfo && this.getBoundingInfo().isLocked) {\r\n return this;\r\n }\r\n\r\n let options: IMeshDataOptions;\r\n if (typeof applySkeletonOrOptions === \"object\") {\r\n options = applySkeletonOrOptions;\r\n } else {\r\n options = {\r\n applySkeleton: applySkeletonOrOptions,\r\n applyMorph: applyMorph,\r\n };\r\n }\r\n\r\n const bias = this._sourceMesh.geometry ? this._sourceMesh.geometry.boundingBias : null;\r\n this._refreshBoundingInfo(this._sourceMesh._getData(options, null, VertexBuffer.PositionKind), bias);\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _preActivate(): InstancedMesh {\r\n if (this._currentLOD) {\r\n this._currentLOD._preActivate();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _activate(renderId: number, intermediateRendering: boolean): boolean {\r\n super._activate(renderId, intermediateRendering);\r\n\r\n if (!this._sourceMesh.subMeshes) {\r\n Logger.Warn(\"Instances should only be created for meshes with geometry.\");\r\n }\r\n\r\n if (this._currentLOD) {\r\n const differentSign = this._currentLOD._getWorldMatrixDeterminant() >= 0 !== this._getWorldMatrixDeterminant() >= 0;\r\n if (differentSign) {\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = true;\r\n return true;\r\n }\r\n this._internalAbstractMeshDataInfo._actAsRegularMesh = false;\r\n\r\n this._currentLOD._registerInstanceForRenderId(this, renderId);\r\n\r\n if (intermediateRendering) {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate = true;\r\n return true;\r\n }\r\n } else {\r\n if (!this._currentLOD._internalAbstractMeshDataInfo._isActive) {\r\n this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances = true;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /** @internal */\r\n public override _postActivate(): void {\r\n if (this._sourceMesh.edgesShareWithInstances && this._sourceMesh._edgesRenderer && this._sourceMesh._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer of the source mesh\r\n this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer);\r\n this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix());\r\n } else if (this._edgesRenderer && this._edgesRenderer.isEnabled && this._sourceMesh._renderingGroup) {\r\n // we are using the edge renderer defined for this instance\r\n this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer);\r\n }\r\n }\r\n\r\n public override getWorldMatrix(): Matrix {\r\n if (this._currentLOD && this._currentLOD.billboardMode !== TransformNode.BILLBOARDMODE_NONE && this._currentLOD._masterMesh !== this) {\r\n if (!this._billboardWorldMatrix) {\r\n this._billboardWorldMatrix = new Matrix();\r\n }\r\n const tempMaster = this._currentLOD._masterMesh;\r\n this._currentLOD._masterMesh = this;\r\n TmpVectors.Vector3[7].copyFrom(this._currentLOD.position);\r\n this._currentLOD.position.set(0, 0, 0);\r\n this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(true));\r\n this._currentLOD.position.copyFrom(TmpVectors.Vector3[7]);\r\n this._currentLOD._masterMesh = tempMaster;\r\n return this._billboardWorldMatrix;\r\n }\r\n\r\n return super.getWorldMatrix();\r\n }\r\n\r\n public override get isAnInstance(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns the current associated LOD AbstractMesh.\r\n * @param camera defines the camera to use to pick the LOD level\r\n * @returns a Mesh or `null` if no LOD is associated with the AbstractMesh\r\n */\r\n public override getLOD(camera: Camera): AbstractMesh {\r\n if (!camera) {\r\n return this;\r\n }\r\n\r\n const sourceMeshLODLevels = this.sourceMesh.getLODLevels();\r\n if (!sourceMeshLODLevels || sourceMeshLODLevels.length === 0) {\r\n this._currentLOD = this.sourceMesh;\r\n } else {\r\n const boundingInfo = this.getBoundingInfo();\r\n this._currentLOD = <Mesh>this.sourceMesh.getLOD(camera, boundingInfo.boundingSphere);\r\n }\r\n\r\n return this._currentLOD;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _preActivateForIntermediateRendering(renderId: number): Mesh {\r\n return <Mesh>this.sourceMesh._preActivateForIntermediateRendering(renderId);\r\n }\r\n\r\n /** @internal */\r\n public _syncSubMeshes(): InstancedMesh {\r\n this.releaseSubMeshes();\r\n if (this._sourceMesh.subMeshes) {\r\n for (let index = 0; index < this._sourceMesh.subMeshes.length; index++) {\r\n this._sourceMesh.subMeshes[index].clone(this, this._sourceMesh);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** @internal */\r\n public override _generatePointsArray(): boolean {\r\n return this._sourceMesh._generatePointsArray();\r\n }\r\n\r\n /** @internal */\r\n public override _updateBoundingInfo(): AbstractMesh {\r\n if (this.hasBoundingInfo) {\r\n this.getBoundingInfo().update(this.worldMatrixFromCache);\r\n } else {\r\n this.buildBoundingInfo(this.absolutePosition, this.absolutePosition, this.worldMatrixFromCache);\r\n }\r\n this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache);\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh from the current mesh.\r\n *\r\n * Returns the clone.\r\n * @param name the cloned mesh name\r\n * @param newParent the optional Node to parent the clone to.\r\n * @param doNotCloneChildren if `true` the model children aren't cloned.\r\n * @param newSourceMesh if set this mesh will be used as the source mesh instead of ths instance's one\r\n * @returns the clone\r\n */\r\n public override clone(name: string, newParent: Nullable<Node> = null, doNotCloneChildren?: boolean, newSourceMesh?: Mesh): InstancedMesh {\r\n const result = (newSourceMesh || this._sourceMesh).createInstance(name);\r\n\r\n // Deep copy\r\n DeepCopier.DeepCopy(\r\n this,\r\n result,\r\n [\r\n \"name\",\r\n \"subMeshes\",\r\n \"uniqueId\",\r\n \"parent\",\r\n \"lightSources\",\r\n \"receiveShadows\",\r\n \"material\",\r\n \"visibility\",\r\n \"skeleton\",\r\n \"sourceMesh\",\r\n \"isAnInstance\",\r\n \"facetNb\",\r\n \"isFacetDataEnabled\",\r\n \"isBlocked\",\r\n \"useBones\",\r\n \"hasInstances\",\r\n \"collider\",\r\n \"edgesRenderer\",\r\n \"forward\",\r\n \"up\",\r\n \"right\",\r\n \"absolutePosition\",\r\n \"absoluteScaling\",\r\n \"absoluteRotationQuaternion\",\r\n \"isWorldMatrixFrozen\",\r\n \"nonUniformScaling\",\r\n \"behaviors\",\r\n \"worldMatrixFromCache\",\r\n \"hasThinInstances\",\r\n \"hasBoundingInfo\",\r\n \"geometry\",\r\n ],\r\n []\r\n );\r\n\r\n // Bounding info\r\n this.refreshBoundingInfo();\r\n\r\n // Parent\r\n if (newParent) {\r\n result.parent = newParent;\r\n }\r\n\r\n if (!doNotCloneChildren) {\r\n // Children\r\n for (let index = 0; index < this.getScene().meshes.length; index++) {\r\n const mesh = this.getScene().meshes[index];\r\n\r\n if (mesh.parent === this) {\r\n mesh.clone(mesh.name, result);\r\n }\r\n }\r\n }\r\n\r\n result.computeWorldMatrix(true);\r\n\r\n this.onClonedObservable.notifyObservers(result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Disposes the InstancedMesh.\r\n * Returns nothing.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public override dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n // Remove from mesh\r\n this._sourceMesh.removeInstance(this);\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public override _serializeAsParent(serializationObject: any) {\r\n super._serializeAsParent(serializationObject);\r\n\r\n serializationObject.parentId = this._sourceMesh.uniqueId;\r\n serializationObject.parentInstanceIndex = this._indexInSourceMeshInstanceArray;\r\n }\r\n\r\n /**\r\n * Instantiate (when possible) or clone that node with its hierarchy\r\n * @param newParent defines the new parent to use for the instance (or clone)\r\n * @param options defines options to configure how copy is done\r\n * @param options.doNotInstantiate defines if the model must be instantiated or just cloned\r\n * @param options.newSourcedMesh newSourcedMesh the new source mesh for the instance (or clone)\r\n * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created\r\n * @returns an instance (or a clone) of the current node with its hierarchy\r\n */\r\n public override instantiateHierarchy(\r\n newParent: Nullable<TransformNode> = null,\r\n options?: { doNotInstantiate: boolean | ((node: TransformNode) => boolean); newSourcedMesh?: Mesh },\r\n onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void\r\n ): Nullable<TransformNode> {\r\n const clone = this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true, options && options.newSourcedMesh);\r\n\r\n if (clone) {\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, clone);\r\n }\r\n }\r\n\r\n for (const child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(clone, options, onNewNodeCreated);\r\n }\r\n\r\n return clone;\r\n }\r\n}\r\n\r\ndeclare module \"./mesh\" {\r\n export interface Mesh {\r\n /**\r\n * Register a custom buffer that will be instanced\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n * @param kind defines the buffer kind\r\n * @param stride defines the stride in floats\r\n */\r\n registerInstancedBuffer(kind: string, stride: number): void;\r\n\r\n /**\r\n * Invalidate VertexArrayObjects belonging to the mesh (but not to the Geometry of the mesh).\r\n */\r\n _invalidateInstanceVertexArrayObject(): void;\r\n\r\n /**\r\n * true to use the edge renderer for all instances of this mesh\r\n */\r\n edgesShareWithInstances: boolean;\r\n\r\n /** @internal */\r\n _userInstancedBuffersStorage: {\r\n data: { [key: string]: Float32Array };\r\n sizes: { [key: string]: number };\r\n vertexBuffers: { [key: string]: Nullable<VertexBuffer> };\r\n strides: { [key: string]: number };\r\n vertexArrayObjects?: { [key: string]: WebGLVertexArrayObject };\r\n };\r\n }\r\n}\r\n\r\ndeclare module \"./abstractMesh\" {\r\n export interface AbstractMesh {\r\n /**\r\n * Object used to store instanced buffers defined by user\r\n * @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/copies/instances#custom-buffers\r\n */\r\n instancedBuffers: { [key: string]: any };\r\n }\r\n}\r\n\r\nMesh.prototype.registerInstancedBuffer = function (kind: string, stride: number): void {\r\n // Remove existing one\r\n this._userInstancedBuffersStorage?.vertexBuffers[kind]?.dispose();\r\n\r\n // Creates the instancedBuffer field if not present\r\n if (!this.instancedBuffers) {\r\n this.instancedBuffers = {};\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers = {};\r\n }\r\n }\r\n\r\n if (!this._userInstancedBuffersStorage) {\r\n this._userInstancedBuffersStorage = {\r\n data: {},\r\n vertexBuffers: {},\r\n strides: {},\r\n sizes: {},\r\n vertexArrayObjects: this.getEngine().getCaps().vertexArrayObject ? {} : undefined,\r\n };\r\n }\r\n\r\n // Creates an empty property for this kind\r\n this.instancedBuffers[kind] = null;\r\n\r\n this._userInstancedBuffersStorage.strides[kind] = stride;\r\n this._userInstancedBuffersStorage.sizes[kind] = stride * 32; // Initial size\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(this._userInstancedBuffersStorage.sizes[kind]);\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(this.getEngine(), this._userInstancedBuffersStorage.data[kind], kind, true, false, stride, true);\r\n\r\n for (const instance of this.instances) {\r\n instance.instancedBuffers[kind] = null;\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n};\r\n\r\nMesh.prototype._processInstancedBuffers = function (visibleInstances: Nullable<InstancedMesh[]>, renderSelf: boolean) {\r\n const instanceCount = visibleInstances ? visibleInstances.length : 0;\r\n\r\n for (const kind in this.instancedBuffers) {\r\n let size = this._userInstancedBuffersStorage.sizes[kind];\r\n const stride = this._userInstancedBuffersStorage.strides[kind];\r\n\r\n // Resize if required\r\n const expectedSize = (instanceCount + 1) * stride;\r\n\r\n while (size < expectedSize) {\r\n size *= 2;\r\n }\r\n\r\n if (this._userInstancedBuffersStorage.data[kind].length != size) {\r\n this._userInstancedBuffersStorage.data[kind] = new Float32Array(size);\r\n this._userInstancedBuffersStorage.sizes[kind] = size;\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = null;\r\n }\r\n }\r\n\r\n const data = this._userInstancedBuffersStorage.data[kind];\r\n\r\n // Update data buffer\r\n let offset = 0;\r\n if (renderSelf) {\r\n const value = this.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n for (let instanceIndex = 0; instanceIndex < instanceCount; instanceIndex++) {\r\n const instance = visibleInstances![instanceIndex]!;\r\n\r\n const value = instance.instancedBuffers[kind];\r\n\r\n if (value.toArray) {\r\n value.toArray(data, offset);\r\n } else if (value.copyToArray) {\r\n value.copyToArray(data, offset);\r\n } else {\r\n data[offset] = value;\r\n }\r\n\r\n offset += stride;\r\n }\r\n\r\n // Update vertex buffer\r\n if (!this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind] = new VertexBuffer(\r\n this.getEngine(),\r\n this._userInstancedBuffersStorage.data[kind],\r\n kind,\r\n true,\r\n false,\r\n stride,\r\n true\r\n );\r\n this._invalidateInstanceVertexArrayObject();\r\n } else {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.updateDirectly(data, 0);\r\n }\r\n }\r\n};\r\n\r\nMesh.prototype._invalidateInstanceVertexArrayObject = function () {\r\n if (!this._userInstancedBuffersStorage || this._userInstancedBuffersStorage.vertexArrayObjects === undefined) {\r\n return;\r\n }\r\n\r\n for (const kind in this._userInstancedBuffersStorage.vertexArrayObjects) {\r\n (this.getEngine() as ThinEngine).releaseVertexArrayObject(this._userInstancedBuffersStorage.vertexArrayObjects[kind]);\r\n }\r\n\r\n this._userInstancedBuffersStorage.vertexArrayObjects = {};\r\n};\r\n\r\nMesh.prototype._disposeInstanceSpecificData = function () {\r\n if (this._instanceDataStorage.instancesBuffer) {\r\n this._instanceDataStorage.instancesBuffer.dispose();\r\n this._instanceDataStorage.instancesBuffer = null;\r\n }\r\n\r\n while (this.instances.length) {\r\n this.instances[0].dispose();\r\n }\r\n\r\n for (const kind in this.instancedBuffers) {\r\n if (this._userInstancedBuffersStorage.vertexBuffers[kind]) {\r\n this._userInstancedBuffersStorage.vertexBuffers[kind]!.dispose();\r\n }\r\n }\r\n\r\n this._invalidateInstanceVertexArrayObject();\r\n\r\n this.instancedBuffers = {};\r\n};\r\n\r\n// Register Class Name\r\nRegisterClass(\"BABYLON.InstancedMesh\", InstancedMesh);\r\n"]}
|
package/Meshes/lattice.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Material } from "../Materials/material.js";
|
|
2
2
|
import { MaterialPluginBase } from "../Materials/materialPluginBase.js";
|
|
3
|
-
import type { Lattice } from "./lattice";
|
|
3
|
+
import type { Lattice } from "./lattice.js";
|
|
4
4
|
import { ShaderLanguage } from "../Materials/shaderLanguage.js";
|
|
5
5
|
import type { UniformBuffer } from "../Materials/uniformBuffer.js";
|
|
6
6
|
/**
|
package/Meshes/linesMesh.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { Nullable } from "../types";
|
|
2
|
-
import type { Scene } from "../scene";
|
|
3
|
-
import { Color3 } from "../Maths/math.color";
|
|
4
|
-
import type { Node } from "../node";
|
|
5
|
-
import type { SubMesh } from "../Meshes/subMesh";
|
|
6
|
-
import { Mesh } from "../Meshes/mesh";
|
|
7
|
-
import { InstancedMesh } from "../Meshes/instancedMesh";
|
|
8
|
-
import { Material } from "../Materials/material";
|
|
9
|
-
import type { Effect } from "../Materials/effect";
|
|
1
|
+
import type { Nullable } from "../types.js";
|
|
2
|
+
import type { Scene } from "../scene.js";
|
|
3
|
+
import { Color3 } from "../Maths/math.color.js";
|
|
4
|
+
import type { Node } from "../node.js";
|
|
5
|
+
import type { SubMesh } from "../Meshes/subMesh.js";
|
|
6
|
+
import { Mesh } from "../Meshes/mesh.js";
|
|
7
|
+
import { InstancedMesh } from "../Meshes/instancedMesh.js";
|
|
8
|
+
import { Material } from "../Materials/material.js";
|
|
9
|
+
import type { Effect } from "../Materials/effect.js";
|
|
10
10
|
import { ShaderLanguage } from "../Materials/shaderLanguage.js";
|
|
11
11
|
/**
|
|
12
12
|
* Line mesh
|