@react-three/fiber 10.0.0-canary.87166dc → 10.0.0-canary.908b65b

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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const textureStaging = require('./shared/fiber.CsZ092z_.cjs');
3
+ const textureStaging = require('./shared/fiber.DfiCufha.cjs');
4
4
 
5
5
 
6
6
 
@@ -1 +1 @@
1
- export { c as context, g as getTextureView, r as registerRootExtension, s as setRenderOverride, b as useFrame, u as useStore, a as useThree } from './shared/fiber.DlH05gco.mjs';
1
+ export { c as context, g as getTextureView, r as registerRootExtension, s as setRenderOverride, b as useFrame, u as useStore, a as useThree } from './shared/fiber.Biz9olEe.mjs';
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Canvas$1 = require('./shared/fiber.BybcfIwy.cjs');
5
- const textureStaging = require('./shared/fiber.CsZ092z_.cjs');
4
+ const Canvas$1 = require('./shared/fiber.nDnBf1np.cjs');
5
+ const textureStaging = require('./shared/fiber.DfiCufha.cjs');
6
6
  const scheduler = require('@pmndrs/scheduler');
7
7
 
8
8
  const R3F_BUILD_LEGACY = false;
package/dist/index.d.cts CHANGED
@@ -3,8 +3,8 @@ import * as THREE from 'three';
3
3
  import * as React from 'react';
4
4
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, s as R3FRenderTarget, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.cjs';
5
5
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, I as InternalState, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, y as R3FRenderer, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, J as RootState, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore, b0 as useThree } from './shared/fiber.C_MFx7We.cjs';
6
- import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.fR3DaJb1.cjs';
7
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.fR3DaJb1.cjs';
6
+ import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.VTTQNnlj.cjs';
7
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.VTTQNnlj.cjs';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  export { u as useFrame } from './shared/fiber.C6hitYDY.cjs';
10
10
  import 'zustand';
package/dist/index.d.mts CHANGED
@@ -3,8 +3,8 @@ import * as THREE from 'three';
3
3
  import * as React from 'react';
4
4
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, s as R3FRenderTarget, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.mjs';
5
5
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, I as InternalState, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, y as R3FRenderer, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, J as RootState, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore, b0 as useThree } from './shared/fiber.C_MFx7We.mjs';
6
- import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.3jeDXXYd.mjs';
7
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.3jeDXXYd.mjs';
6
+ import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.CvlK0a1Z.mjs';
7
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.CvlK0a1Z.mjs';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  export { u as useFrame } from './shared/fiber.D4fD6H74.mjs';
10
10
  import 'zustand';
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@ import * as THREE from 'three';
3
3
  import * as React from 'react';
4
4
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, s as R3FRenderTarget, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.js';
5
5
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, I as InternalState, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, y as R3FRenderer, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, J as RootState, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore, b0 as useThree } from './shared/fiber.C_MFx7We.js';
6
- import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.B_KQAb3I.js';
7
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.B_KQAb3I.js';
6
+ import { R as RenderTargetOptions, C as CanvasProps } from './shared/fiber.CtivZ3IY.js';
7
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.CtivZ3IY.js';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  export { u as useFrame } from './shared/fiber.YgTUGbja.js';
10
10
  import 'zustand';
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { c as createRoot$1, C as Canvas$1 } from './shared/fiber.BC5FRLu-.mjs';
3
- export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, U as REACT_INTERNAL_PROPS, a1 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a6 as applyProps, a3 as attach, X as buildGraph, O as calculateDpr, y as createEvents, a as createPointerEvents, N as createPortal, l as createStore, a4 as detach, a5 as diffProps, Y as dispose, a as events, J as extend, V as findInitialRoot, L as flushSync, aj as fromRef, Z as getInstanceProps, h as getPrimary, k as getPrimaryIds, W as getRootState, m as getThree, Q as getUuidPrefix, ah as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, a0 as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, g as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, $ as prepare, t as presetsObj, K as reconciler, r as registerPrimary, x as removeInteractivity, a2 as resolve, v as swapInteractivity, M as unmountComponentAtNode, u as unregisterPrimary, R as updateCamera, S as updateFrustum, H as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, G as useRenderTarget, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from './shared/fiber.BC5FRLu-.mjs';
4
- export { B as Block, E as ErrorBoundary, c as context, r as registerRootExtension, s as setRenderOverride, f as useBridge, b as useFrame, d as useIsomorphicLayoutEffect, e as useMutableCallback, u as useStore, a as useThree } from './shared/fiber.DlH05gco.mjs';
2
+ import { c as createRoot$1, C as Canvas$1 } from './shared/fiber.BdIbKbh7.mjs';
3
+ export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, U as REACT_INTERNAL_PROPS, a1 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a6 as applyProps, a3 as attach, X as buildGraph, O as calculateDpr, y as createEvents, a as createPointerEvents, N as createPortal, l as createStore, a4 as detach, a5 as diffProps, Y as dispose, a as events, J as extend, V as findInitialRoot, L as flushSync, aj as fromRef, Z as getInstanceProps, h as getPrimary, k as getPrimaryIds, W as getRootState, m as getThree, Q as getUuidPrefix, ah as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, a0 as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, g as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, $ as prepare, t as presetsObj, K as reconciler, r as registerPrimary, x as removeInteractivity, a2 as resolve, v as swapInteractivity, M as unmountComponentAtNode, u as unregisterPrimary, R as updateCamera, S as updateFrustum, H as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, G as useRenderTarget, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from './shared/fiber.BdIbKbh7.mjs';
4
+ export { B as Block, E as ErrorBoundary, c as context, r as registerRootExtension, s as setRenderOverride, f as useBridge, b as useFrame, d as useIsomorphicLayoutEffect, e as useMutableCallback, u as useStore, a as useThree } from './shared/fiber.Biz9olEe.mjs';
5
5
  export { Scheduler, getScheduler } from '@pmndrs/scheduler';
6
6
 
7
7
  const R3F_BUILD_LEGACY = false;
package/dist/legacy.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Canvas$1 = require('./shared/fiber.BybcfIwy.cjs');
4
+ const Canvas$1 = require('./shared/fiber.nDnBf1np.cjs');
5
5
  const THREE = require('three');
6
- const textureStaging = require('./shared/fiber.CsZ092z_.cjs');
6
+ const textureStaging = require('./shared/fiber.DfiCufha.cjs');
7
7
  const scheduler = require('@pmndrs/scheduler');
8
8
 
9
9
  function _interopNamespaceCompat(e) {
package/dist/legacy.d.cts CHANGED
@@ -2,8 +2,8 @@ import * as THREE from 'three';
2
2
  import { WebGLRenderTarget } from 'three';
3
3
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.cjs';
4
4
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, s as R3FRenderTarget, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore } from './shared/fiber.C_MFx7We.cjs';
5
- import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.fR3DaJb1.cjs';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.fR3DaJb1.cjs';
5
+ import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.VTTQNnlj.cjs';
6
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.VTTQNnlj.cjs';
7
7
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  import { JSX } from 'react';
package/dist/legacy.d.mts CHANGED
@@ -2,8 +2,8 @@ import * as THREE from 'three';
2
2
  import { WebGLRenderTarget } from 'three';
3
3
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.mjs';
4
4
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, s as R3FRenderTarget, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore } from './shared/fiber.C_MFx7We.mjs';
5
- import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.3jeDXXYd.mjs';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.3jeDXXYd.mjs';
5
+ import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.CvlK0a1Z.mjs';
6
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.CvlK0a1Z.mjs';
7
7
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  import { JSX } from 'react';
package/dist/legacy.d.ts CHANGED
@@ -2,8 +2,8 @@ import * as THREE from 'three';
2
2
  import { WebGLRenderTarget } from 'three';
3
3
  import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as ConstructorRepresentation, n as ElementProps$1, o as ThreeElement$1, p as ThreeToJSXElements$1, O as Object3DMethod$1, q as ThreeElementsOf$1, r as ElementOf$1, t as ReconcilerRoot } from './shared/fiber.C_MFx7We.js';
4
4
  export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, a8 as BaseRendererProps, aG as Bridge, W as Camera, ak as CameraProps, ah as CanvasSchedulerConfig, as as Catalogue, ab as ColorManagementConfig, a2 as ComputeFunction, ae as DefaultGLProps, ag as DefaultRendererProps, aL as Disposable, _ as DomEvent, D as Dpr, aK as EquConfig, a0 as EventHandlers, a4 as EventManager, $ as Events, an as FiberRoot, a1 as FilterFunction, aZ as ForRegisteredRenderer, aP as FrameCallback, aO as FrameNextCallback, aM as FrameNextState, aN as FrameState, F as Frameloop, af as GLProps, ax as HostConfig, am as InjectState, aw as Instance, av as InstanceProps, U as Intersection, Y as IntersectionEvent, aD as IsAllOptional, aC as IsOptional, aB as Mutable, ay as NonFunctionKeys, aJ as ObjectMap, aS as OcclusionSupport, a7 as OffscreenCanvas, az as Overwrite, H as Performance, a5 as PointerCaptureTarget, P as PointerState, aA as Properties, s as R3FRenderTarget, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, a9 as RendererFactory, aj as RendererProps, aW as RendererProvider, ad as RendererSettingsConfig, aV as RendererSupport, ap as Root, w as RootExtension, K as RootStore, aH as SetBlock, ac as ShadowsConfig, z as Size, S as Subscription, aE as ThreeCamera, aR as ThreeCore, Z as ThreeEvent, aQ as ThreeNamespace, ao as TrackedPromise, aI as UnblockProps, A as Viewport, a6 as VisibilityEntry, aT as WebGLSupport, aU as WebGPUSupport, X as XRManager, a3 as XRPointerConfig, x as context, u as registerRootExtension, v as setRenderOverride, a$ as useStore } from './shared/fiber.C_MFx7We.js';
5
- import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.B_KQAb3I.js';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.B_KQAb3I.js';
5
+ import { C as CanvasProps, D as LegacyRootState, R as RenderTargetOptions } from './shared/fiber.CtivZ3IY.js';
6
+ export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, A as InternalState, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, z as R3FRenderer, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from './shared/fiber.CtivZ3IY.js';
7
7
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
8
8
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
9
9
  import { JSX } from 'react';
package/dist/legacy.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { G as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from './shared/fiber.BC5FRLu-.mjs';
3
- export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, U as REACT_INTERNAL_PROPS, a1 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a6 as applyProps, a3 as attach, X as buildGraph, O as calculateDpr, y as createEvents, a as createPointerEvents, N as createPortal, l as createStore, a4 as detach, a5 as diffProps, Y as dispose, a as events, J as extend, V as findInitialRoot, L as flushSync, aj as fromRef, Z as getInstanceProps, h as getPrimary, k as getPrimaryIds, W as getRootState, m as getThree, Q as getUuidPrefix, ah as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, a0 as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, g as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, $ as prepare, t as presetsObj, K as reconciler, r as registerPrimary, x as removeInteractivity, a2 as resolve, v as swapInteractivity, M as unmountComponentAtNode, u as unregisterPrimary, R as updateCamera, S as updateFrustum, H as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from './shared/fiber.BC5FRLu-.mjs';
2
+ import { G as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from './shared/fiber.BdIbKbh7.mjs';
3
+ export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, U as REACT_INTERNAL_PROPS, a1 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a6 as applyProps, a3 as attach, X as buildGraph, O as calculateDpr, y as createEvents, a as createPointerEvents, N as createPortal, l as createStore, a4 as detach, a5 as diffProps, Y as dispose, a as events, J as extend, V as findInitialRoot, L as flushSync, aj as fromRef, Z as getInstanceProps, h as getPrimary, k as getPrimaryIds, W as getRootState, m as getThree, Q as getUuidPrefix, ah as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, a0 as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, g as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, $ as prepare, t as presetsObj, K as reconciler, r as registerPrimary, x as removeInteractivity, a2 as resolve, v as swapInteractivity, M as unmountComponentAtNode, u as unregisterPrimary, R as updateCamera, S as updateFrustum, H as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from './shared/fiber.BdIbKbh7.mjs';
4
4
  import * as THREE from 'three';
5
- import { a as useThree$1, b as useFrame$1 } from './shared/fiber.DlH05gco.mjs';
6
- export { B as Block, E as ErrorBoundary, c as context, r as registerRootExtension, s as setRenderOverride, f as useBridge, d as useIsomorphicLayoutEffect, e as useMutableCallback, u as useStore } from './shared/fiber.DlH05gco.mjs';
5
+ import { a as useThree$1, b as useFrame$1 } from './shared/fiber.Biz9olEe.mjs';
6
+ export { B as Block, E as ErrorBoundary, c as context, r as registerRootExtension, s as setRenderOverride, f as useBridge, d as useIsomorphicLayoutEffect, e as useMutableCallback, u as useStore } from './shared/fiber.Biz9olEe.mjs';
7
7
  export { Scheduler, getScheduler } from '@pmndrs/scheduler';
8
8
 
9
9
  const webglSupport = {
@@ -1,5 +1,5 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import { i as isDevelopment, n as notifyDepreciated, h as detachRootExtensions, j as attachRootExtensions, d as useIsomorphicLayoutEffect, c as context, a as useThree, u as useStore, k as unstageTextures, l as stageTextures, e as useMutableCallback, b as useFrame, f as useBridge, m as useGate, o as notifyAlpha, E as ErrorBoundary, B as Block, p as notifyRootExtensionsHmr } from './fiber.DlH05gco.mjs';
2
+ import { i as isDevelopment, n as notifyDepreciated, p as preserveAccessors, h as defineRendererAccessors, j as detachRootExtensions, k as attachRootExtensions, d as useIsomorphicLayoutEffect, c as context, a as useThree, u as useStore, l as unstageTextures, m as stageTextures, e as useMutableCallback, o as isAccessor, q as cloneState, t as keepAccessors, b as useFrame, f as useBridge, v as useGate, w as notifyAlpha, E as ErrorBoundary, B as Block, x as notifyRootExtensionsHmr } from './fiber.Biz9olEe.mjs';
3
3
  import * as React from 'react';
4
4
  import React__default, { useRef, useMemo, useLayoutEffect, useEffect, useImperativeHandle, useCallback, useState } from 'react';
5
5
  import useMeasure from 'react-use-measure';
@@ -623,8 +623,9 @@ function applyProps(object, props) {
623
623
  for (const name in nextUniforms) {
624
624
  const uniform = nextUniforms[name];
625
625
  const targetUniform = uniforms[name];
626
- if (targetUniform) Object.assign(targetUniform, uniform);
627
- else {
626
+ if (targetUniform) {
627
+ Object.assign(targetUniform, uniform);
628
+ } else {
628
629
  const nextUniform = isUniform(uniform) ? uniform.clone() : new (getThree()).Uniform(uniform.value);
629
630
  uniforms[name] = nextUniform;
630
631
  }
@@ -680,13 +681,6 @@ function applyProps(object, props) {
680
681
  return object;
681
682
  }
682
683
 
683
- const INTERNAL_LIB_MARKERS = ["zustand", "setState", "Object.assign"];
684
- function isInternalRendererAccess(stack, callerDepth = 2) {
685
- if (!stack) return false;
686
- const caller = stack.split("\n")[callerDepth] ?? "";
687
- return INTERNAL_LIB_MARKERS.some((m) => caller.includes(m));
688
- }
689
-
690
684
  function updateSize(state, size, imperative) {
691
685
  state.set((current) => ({
692
686
  size,
@@ -701,7 +695,8 @@ function configureSize(store, size) {
701
695
  updateSize(state, size, false);
702
696
  }
703
697
  const createStore = (invalidate, advance) => {
704
- const rootStore = createWithEqualityFn((set, get) => {
698
+ const rootStore = createWithEqualityFn((rawSet, get, api) => {
699
+ const set = api.setState = preserveAccessors(rawSet, get);
705
700
  let position;
706
701
  let defaultTarget;
707
702
  let tempTarget;
@@ -794,7 +789,7 @@ const createStore = (invalidate, advance) => {
794
789
  factor: 0,
795
790
  getCurrentViewport
796
791
  },
797
- setEvents: (events) => set((state2) => ({ ...state2, events: { ...state2.events, ...events } })),
792
+ setEvents: (events) => set((state2) => ({ events: { ...state2.events, ...events } })),
798
793
  setSize: (width, height, top, left) => {
799
794
  const state2 = get();
800
795
  if (width === void 0) {
@@ -890,37 +885,7 @@ const createStore = (invalidate, advance) => {
890
885
  return rootState;
891
886
  });
892
887
  const state = rootStore.getState();
893
- Object.defineProperty(state, "gl", {
894
- get() {
895
- const currentState = rootStore.getState();
896
- if (!currentState.isLegacy && currentState.internal.actualRenderer) {
897
- const stack = new Error().stack || "";
898
- if (!isInternalRendererAccess(stack)) {
899
- const cleanedStack = stack.split("\n").slice(2).join("\n") || "Stack trace unavailable";
900
- notifyDepreciated({
901
- heading: "Accessing state.gl in WebGPU mode",
902
- body: "Please use state.renderer instead. state.gl is deprecated and will be removed in future versions.\n\nFor backwards compatibility, state.gl currently maps to state.renderer, but this may cause issues with libraries expecting WebGLRenderer.\n\nAccessed from:\n" + cleanedStack
903
- });
904
- }
905
- }
906
- return currentState.internal.actualRenderer;
907
- },
908
- set(value) {
909
- rootStore.getState().internal.actualRenderer = value;
910
- },
911
- enumerable: true,
912
- configurable: true
913
- });
914
- Object.defineProperty(state, "renderer", {
915
- get() {
916
- return rootStore.getState().internal.actualRenderer;
917
- },
918
- set(value) {
919
- rootStore.getState().internal.actualRenderer = value;
920
- },
921
- enumerable: true,
922
- configurable: true
923
- });
888
+ defineRendererAccessors(state);
924
889
  let oldScene = state.scene;
925
890
  rootStore.subscribe(() => {
926
891
  const currentState = rootStore.getState();
@@ -1370,7 +1335,6 @@ function initializeRenderer(canvas, provider, store, props) {
1370
1335
  state.set((prev) => ({
1371
1336
  webGPUSupported: primaryEntry.store.getState().webGPUSupported,
1372
1337
  renderer,
1373
- gl: renderer,
1374
1338
  primaryStore: primaryEntry.store,
1375
1339
  internal: {
1376
1340
  ...prev.internal,
@@ -1401,7 +1365,6 @@ function initializeRenderer(canvas, provider, store, props) {
1401
1365
  state.set((prev) => ({
1402
1366
  webGPUSupported: isWebGPUBackend,
1403
1367
  renderer,
1404
- gl: renderer,
1405
1368
  primaryStore: store,
1406
1369
  internal: {
1407
1370
  ...prev.internal,
@@ -1421,12 +1384,7 @@ function initializeRenderer(canvas, provider, store, props) {
1421
1384
  const isWebGPUBackend = backend && "isWebGPUBackend" in backend;
1422
1385
  state.internal.actualRenderer = renderer;
1423
1386
  state.internal.releaseRenderer = leaseRenderer(renderer, resolved.owned);
1424
- state.set({
1425
- webGPUSupported: isWebGPUBackend,
1426
- renderer,
1427
- gl: renderer,
1428
- primaryStore: store
1429
- });
1387
+ state.set({ webGPUSupported: isWebGPUBackend, renderer, primaryStore: store });
1430
1388
  if (primary) {
1431
1389
  const canvasTarget = renderer.getCanvasTarget?.();
1432
1390
  (_a = state.internal).pendingRootId ?? (_a.pendingRootId = canvasId || getScheduler().generateRootId());
@@ -1858,14 +1816,12 @@ function createRootConfiguration(store, canvas) {
1858
1816
  };
1859
1817
  const xr = {
1860
1818
  connect() {
1861
- const { gl, renderer: renderer2 } = store.getState();
1862
- const xrManager = (renderer2 || gl).xr;
1819
+ const xrManager = store.getState().renderer.xr;
1863
1820
  xrManager.addEventListener("sessionstart", handleSessionChange);
1864
1821
  xrManager.addEventListener("sessionend", handleSessionChange);
1865
1822
  },
1866
1823
  disconnect() {
1867
- const { gl, renderer: renderer2 } = store.getState();
1868
- const xrManager = (renderer2 || gl).xr;
1824
+ const xrManager = store.getState().renderer.xr;
1869
1825
  xrManager.removeEventListener("sessionstart", handleSessionChange);
1870
1826
  xrManager.removeEventListener("sessionend", handleSessionChange);
1871
1827
  }
@@ -15803,11 +15759,63 @@ async function importLoader(format) {
15803
15759
  loader = (await import('three/examples/jsm/loaders/EXRLoader.js')).EXRLoader;
15804
15760
  break;
15805
15761
  case "jpg":
15806
- loader = (await import('three/examples/jsm/loaders/UltraHDRLoader.js')).UltraHDRLoader;
15762
+ loader = createJpegLoader((await import('three/examples/jsm/loaders/UltraHDRLoader.js')).UltraHDRLoader);
15763
+ break;
15764
+ case "ldr":
15765
+ loader = getThree().TextureLoader;
15807
15766
  break;
15808
15767
  }
15809
15768
  return loader;
15810
15769
  }
15770
+ function createJpegLoader(UltraHDR) {
15771
+ return class JpegEnvironmentLoader extends UltraHDR {
15772
+ // @ts-expect-error A plain JPEG resolves to a Texture, not the DataTexture UltraHDRLoader declares
15773
+ load(url, onLoad, onProgress, onError) {
15774
+ const three = getThree();
15775
+ const file = new three.FileLoader(this.manager);
15776
+ file.setResponseType("arraybuffer");
15777
+ file.setRequestHeader(this.requestHeader);
15778
+ file.setPath(this.path);
15779
+ file.setWithCredentials(this.withCredentials);
15780
+ file.load(
15781
+ url,
15782
+ (buffer) => {
15783
+ try {
15784
+ this.parse(buffer, (texData) => {
15785
+ const { data } = texData;
15786
+ const texture = new three.DataTexture(data, texData.width, texData.height, three.RGBAFormat, texData.type);
15787
+ texture.minFilter = three.LinearMipMapLinearFilter;
15788
+ texture.magFilter = three.LinearFilter;
15789
+ texture.generateMipmaps = true;
15790
+ texture.flipY = true;
15791
+ texture.needsUpdate = true;
15792
+ onLoad?.(texture);
15793
+ });
15794
+ } catch {
15795
+ const objectURL = URL.createObjectURL(new Blob([buffer], { type: "image/jpeg" }));
15796
+ const settle = () => URL.revokeObjectURL(objectURL);
15797
+ new three.ImageLoader().load(
15798
+ objectURL,
15799
+ (image) => {
15800
+ settle();
15801
+ const texture = new three.Texture(image);
15802
+ texture.needsUpdate = true;
15803
+ onLoad?.(texture);
15804
+ },
15805
+ void 0,
15806
+ (error) => {
15807
+ settle();
15808
+ onError?.(error);
15809
+ }
15810
+ );
15811
+ }
15812
+ },
15813
+ onProgress,
15814
+ onError
15815
+ );
15816
+ }
15817
+ };
15818
+ }
15811
15819
  const LOADER_KEY = Symbol("r3f-environment-loader");
15812
15820
  function useEnvironmentLoader(format) {
15813
15821
  return suspend(() => loadLoader(format), [LOADER_KEY, format]);
@@ -15842,7 +15850,8 @@ function useEnvironment({
15842
15850
  ) : loaderResult;
15843
15851
  const three = getThree();
15844
15852
  texture.mapping = isCubemap ? three.CubeReflectionMapping : three.EquirectangularReflectionMapping;
15845
- texture.colorSpace = colorSpace ?? (isCubemap && format !== "hdr-cube" ? "srgb" : "srgb-linear");
15853
+ const hdr = format === "hdr-cube" || texture.isDataTexture === true;
15854
+ texture.colorSpace = colorSpace ?? (hdr ? "srgb-linear" : "srgb");
15846
15855
  return texture;
15847
15856
  }
15848
15857
  const preloadDefaultOptions = {
@@ -15901,7 +15910,7 @@ function validatePreset(preset) {
15901
15910
  function getFormat(files) {
15902
15911
  const isCubemap = isArray(files) && files.length === 6;
15903
15912
  const firstEntry = isArray(files) ? files[0] : files;
15904
- const firstExtension = firstEntry.split(".").pop()?.split("?")?.shift()?.toLowerCase();
15913
+ const firstExtension = firstEntry.split(/[?#]/)[0].split(".").pop()?.toLowerCase();
15905
15914
  let format;
15906
15915
  if (isCubemap) format = firstExtension === "hdr" ? "hdr-cube" : "cube";
15907
15916
  else if (firstEntry.startsWith("data:application/exr")) format = "exr";
@@ -15909,6 +15918,8 @@ function getFormat(files) {
15909
15918
  else if (firstEntry.startsWith("data:image/jpeg")) format = "jpg";
15910
15919
  else if (firstExtension === "hdr" || firstExtension === "exr") format = firstExtension;
15911
15920
  else if (firstExtension === "jpg" || firstExtension === "jpeg") format = "jpg";
15921
+ else if (/^data:image\/(png|webp|avif|gif)[;,]/.test(firstEntry)) format = "ldr";
15922
+ else if (["png", "webp", "avif", "gif"].includes(firstExtension)) format = "ldr";
15912
15923
  return { format, isCubemap };
15913
15924
  }
15914
15925
 
@@ -15972,6 +15983,7 @@ function PortalInner({ state = {}, children, container }) {
15972
15983
  const lastRoot = lastRootState.current;
15973
15984
  if (lastRoot) {
15974
15985
  for (const key in rootState) {
15986
+ if (isAccessor(rootState, key)) continue;
15975
15987
  const field = key;
15976
15988
  const changed = rootState[field] !== lastRoot[field];
15977
15989
  const inherited = !(key in rest) && injectState[field] === lastRoot[field];
@@ -15988,11 +16000,7 @@ function PortalInner({ state = {}, children, container }) {
15988
16000
  if (camera !== rootState.camera) updateCamera(camera, resolvedSize);
15989
16001
  }
15990
16002
  const set = injectState.set;
15991
- return {
15992
- // The intersect consists of the previous root state
15993
- ...rootState,
15994
- ...injectState,
15995
- ...followed,
16003
+ return Object.assign(cloneState(rootState, injectState, followed), {
15996
16004
  // Portals have their own scene - always a real THREE.Scene (injected if needed)
15997
16005
  scene: portalScene,
15998
16006
  // rootScene always points to the actual THREE.Scene, even inside portals
@@ -16007,13 +16015,19 @@ function PortalInner({ state = {}, children, container }) {
16007
16015
  size: resolvedSize,
16008
16016
  viewport: { ...rootState.viewport, ...viewport },
16009
16017
  // Layers are allowed to override events
16010
- setEvents: (events2) => set((state2) => ({ ...state2, events: { ...state2.events, ...events2 } })),
16011
- // Container for child attachment - the portalScene (injected or container itself)
16012
- internal: { ...rootState.internal, ...injectState.internal, container: portalScene }
16013
- };
16018
+ setEvents: (events2) => set((state2) => ({ events: { ...state2.events, ...events2 } })),
16019
+ // Container for child attachment - the portalScene (injected or container itself). A portal
16020
+ // renders with its parent's renderer, which `renderer` / `gl` read from `actualRenderer`
16021
+ internal: {
16022
+ ...rootState.internal,
16023
+ ...injectState.internal,
16024
+ actualRenderer: rootState.internal.actualRenderer,
16025
+ container: portalScene
16026
+ }
16027
+ });
16014
16028
  });
16015
16029
  const usePortalStore = useMemo(() => {
16016
- const store = createWithEqualityFn((set, get) => ({ ...rest, set, get }));
16030
+ const store = createWithEqualityFn(keepAccessors((set, get) => ({ ...rest, set, get })));
16017
16031
  const onMutate = (prev) => store.setState((state2) => inject.current(prev, state2));
16018
16032
  onMutate(previousRoot.getState());
16019
16033
  return store;
@@ -16223,12 +16237,12 @@ function EnvironmentColor({ color, scene }) {
16223
16237
  function EnvironmentDualSource(props) {
16224
16238
  const { backgroundFiles, ...envProps } = props;
16225
16239
  return /* @__PURE__ */ jsxs(Fragment, { children: [
16226
- /* @__PURE__ */ jsx(EnvironmentCube, { ...envProps, background: false }),
16227
- /* @__PURE__ */ jsx(EnvironmentCube, { ...props, files: backgroundFiles, background: "only" })
16240
+ (envProps.files || envProps.preset) && /* @__PURE__ */ jsx(EnvironmentCube, { ...envProps, background: false }),
16241
+ /* @__PURE__ */ jsx(EnvironmentCube, { ...props, files: backgroundFiles, preset: void 0, background: "only" })
16228
16242
  ] });
16229
16243
  }
16230
16244
  function Environment(props) {
16231
- if (props.color && !props.files && !props.preset && !props.map) {
16245
+ if (props.color !== void 0 && !props.files && !props.preset && !props.map) {
16232
16246
  return /* @__PURE__ */ jsx(EnvironmentColor, { ...props });
16233
16247
  }
16234
16248
  if (props.backgroundFiles && props.backgroundFiles !== props.files) {
@@ -16238,7 +16252,7 @@ function Environment(props) {
16238
16252
  }
16239
16253
 
16240
16254
  function parseBackground(background) {
16241
- if (!background) return null;
16255
+ if (background === void 0 || background === null || background === "") return null;
16242
16256
  if (typeof background === "object" && !background.isColor) {
16243
16257
  const { backgroundMap, envMap, files, preset, ...rest } = background;
16244
16258
  return {
@@ -16256,7 +16270,7 @@ function parseBackground(background) {
16256
16270
  if (background in presetsObj) {
16257
16271
  return { preset: background, background: true };
16258
16272
  }
16259
- if (/^(https?:\/\/|\/|\.\/|\.\.\/)|\.(hdr|exr|jpg|jpeg|png|webp|gif)$/i.test(background)) {
16273
+ if (/^(https?:\/\/|\/|\.\/|\.\.\/|data:)|\.(hdr|exr|jpg|jpeg|png|webp|avif|gif)([?#].*)?$/i.test(background)) {
16260
16274
  return { files: background, background: true };
16261
16275
  }
16262
16276
  return { color: background, background: true };