@react-three/fiber 10.0.0-canary.b86abaa → 10.0.0-canary.b9d5979

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.
Files changed (32) hide show
  1. package/dist/extension.d.cts +3 -3
  2. package/dist/extension.d.mts +3 -3
  3. package/dist/extension.d.ts +3 -3
  4. package/dist/extension.mjs +1 -1
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.d.cts +5 -5
  7. package/dist/index.d.mts +5 -5
  8. package/dist/index.d.ts +5 -5
  9. package/dist/index.mjs +3 -3
  10. package/dist/legacy.cjs +1 -1
  11. package/dist/legacy.d.cts +4 -4
  12. package/dist/legacy.d.mts +4 -4
  13. package/dist/legacy.d.ts +4 -4
  14. package/dist/legacy.mjs +4 -4
  15. package/dist/shared/{fiber.tsM9NKZ9.mjs → fiber.5Q8N6Hhq.mjs} +226 -57
  16. package/dist/shared/{fiber.Cx-UAmMb.d.ts → fiber.B_GGVI86.d.ts} +1 -1
  17. package/dist/shared/{fiber.DXw-SLsH.d.ts → fiber.BcNm6NAg.d.cts} +88 -4
  18. package/dist/shared/{fiber.oKEFddXj.cjs → fiber.BegWBc5_.cjs} +226 -57
  19. package/dist/shared/{fiber.BY6Yf1h-.d.cts → fiber.CQDCACCJ.d.mts} +88 -4
  20. package/dist/shared/{fiber.B0oukOFO.mjs → fiber.CUKAa7Rv.mjs} +1 -1
  21. package/dist/shared/{fiber.I5Q4dVvl.d.cts → fiber.CZLeHcML.d.cts} +24 -2
  22. package/dist/shared/{fiber.I5Q4dVvl.d.mts → fiber.CZLeHcML.d.mts} +24 -2
  23. package/dist/shared/{fiber.I5Q4dVvl.d.ts → fiber.CZLeHcML.d.ts} +24 -2
  24. package/dist/shared/{fiber.BU0vBHc9.d.mts → fiber.ColkapKS.d.mts} +1 -1
  25. package/dist/shared/{fiber.DAl4H27x.d.cts → fiber.DRfTw2kk.d.cts} +1 -1
  26. package/dist/shared/{fiber.Cu2hX1IM.d.mts → fiber.DeBIf2pk.d.ts} +88 -4
  27. package/dist/webgpu/index.cjs +1 -1
  28. package/dist/webgpu/index.d.cts +4 -4
  29. package/dist/webgpu/index.d.mts +4 -4
  30. package/dist/webgpu/index.d.ts +4 -4
  31. package/dist/webgpu/index.mjs +4 -4
  32. package/package.json +1 -1
@@ -477,6 +477,11 @@ interface InternalState {
477
477
  * Selected once, from the entry's provider, and copied into portals with the rest of `internal`.
478
478
  */
479
479
  support: R3FRendererSupport
480
+ /**
481
+ * Releases this root's lease on its renderer. The last release disposes a renderer R3F created;
482
+ * a renderer passed in as an instance is never disposed by R3F.
483
+ */
484
+ releaseRenderer?: () => void | Promise<void>
480
485
  /** Global scheduler reference (for useFrame hook) */
481
486
  scheduler: SchedulerApi | null
482
487
  /**
@@ -489,6 +494,8 @@ interface InternalState {
489
494
  rootId?: string
490
495
  /** Function to unregister this root from the global scheduler */
491
496
  unregisterRoot?: () => void
497
+ /** Function to stop following devicePixelRatio changes */
498
+ unwatchDpr?: () => void
492
499
  /** Container for child attachment (scene for root, original container for portals) */
493
500
  container?: THREE.Object3D
494
501
  /**
@@ -660,9 +667,17 @@ type RootStore = UseBoundStoreWithEqualityFn<StoreApi<RootState>>
660
667
  // to avoid bundling @types/react-reconciler which causes absolute path issues
661
668
  type FiberRoot = any
662
669
 
670
+ /** A promise tagged with its state, the protocol React's `use` reads */
671
+ type TrackedPromise<T> = Promise<T> &
672
+ ({ status: 'pending' } | { status: 'fulfilled'; value: T } | { status: 'rejected'; reason: unknown })
673
+
663
674
  interface Root {
664
675
  fiber: FiberRoot
665
676
  store: RootStore
677
+ /** Set while a teardown waits on React. Configure and render clear it, which cancels the teardown */
678
+ unmountClaim: symbol | null
679
+ /** Pending only while a renderer is being created */
680
+ ready: TrackedPromise<unknown>
666
681
  }
667
682
 
668
683
  type AttachFnType<O = any> = (parent: any, self: O) => () => void
@@ -772,7 +787,14 @@ declare function useStore(): RootStore;
772
787
  */
773
788
  declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
774
789
 
790
+ /**
791
+ * React context that carries the current root's {@link RootStore}. Each root provides its store and
792
+ * each portal provides its own scoped one; `useStore`, and every hook built on it, reads it.
793
+ *
794
+ * Stored on `globalThis` under `Symbol.for('@react-three/fiber.context')`, so every copy and entry
795
+ * of fiber shares a single context.
796
+ */
775
797
  declare const context: React.Context<RootStore>;
776
798
 
777
- export { useStore as ag, useThree as ah, context as ai, registerRootExtension as r, setRenderOverride as s };
778
- export type { EquConfig as $, AttachFnType as A, InstanceProps as B, ConstructorRepresentation as C, Dpr as D, Events as E, Frameloop as F, Instance as G, HostConfig as H, InternalState as I, Properties as J, IsOptional as K, IsAllOptional as L, Mutable as M, NonFunctionKeys as N, Overwrite as O, PointerState as P, ThreeCamera as Q, R3FRenderTarget as R, Subscription as S, ThreeEvent as T, Act as U, Viewport as V, Bridge as W, XRManager as X, SetBlock as Y, UnblockProps as Z, ObjectMap as _, RootExtension as a, Disposable as a0, FrameNextState as a1, FrameState as a2, FrameNextCallback as a3, FrameCallback as a4, ThreeNamespace as a5, ThreeCore as a6, OcclusionSupport as a7, WebGLSupport as a8, WebGPUSupport as a9, RendererSupport as aa, RendererProvider as ab, Register as ac, RegisteredRenderer as ad, ForRegisteredRenderer as ae, R3FRendererSupport as af, R3FRenderer as b, Size as c, RenderCallback as d, Performance as e, RootState as f, RootStore as g, Intersection as h, Camera as i, IntersectionEvent as j, DomEvent as k, EventHandlers as l, FilterFunction as m, ComputeFunction as n, XRPointerConfig as o, EventManager as p, PointerCaptureTarget as q, VisibilityEntry as t, FiberRoot as u, Root as v, AttachType as w, Catalogue as x, Args as y, ArgsProp as z };
799
+ export { useStore as ah, useThree as ai, context as aj, registerRootExtension as r, setRenderOverride as s };
800
+ export type { ObjectMap as $, AttachFnType as A, ArgsProp as B, ConstructorRepresentation as C, Dpr as D, Events as E, Frameloop as F, InstanceProps as G, Instance as H, InternalState as I, HostConfig as J, Properties as K, IsOptional as L, Mutable as M, NonFunctionKeys as N, Overwrite as O, PointerState as P, IsAllOptional as Q, R3FRenderTarget as R, Subscription as S, ThreeEvent as T, ThreeCamera as U, Viewport as V, Act as W, XRManager as X, Bridge as Y, SetBlock as Z, UnblockProps as _, RootExtension as a, EquConfig as a0, Disposable as a1, FrameNextState as a2, FrameState as a3, FrameNextCallback as a4, FrameCallback as a5, ThreeNamespace as a6, ThreeCore as a7, OcclusionSupport as a8, WebGLSupport as a9, WebGPUSupport as aa, RendererSupport as ab, RendererProvider as ac, Register as ad, RegisteredRenderer as ae, ForRegisteredRenderer as af, R3FRendererSupport as ag, R3FRenderer as b, Size as c, RenderCallback as d, Performance as e, RootState as f, RootStore as g, Intersection as h, Camera as i, IntersectionEvent as j, DomEvent as k, EventHandlers as l, FilterFunction as m, ComputeFunction as n, XRPointerConfig as o, EventManager as p, PointerCaptureTarget as q, VisibilityEntry as t, FiberRoot as u, TrackedPromise as v, Root as w, AttachType as x, Catalogue as y, Args as z };
@@ -477,6 +477,11 @@ interface InternalState {
477
477
  * Selected once, from the entry's provider, and copied into portals with the rest of `internal`.
478
478
  */
479
479
  support: R3FRendererSupport
480
+ /**
481
+ * Releases this root's lease on its renderer. The last release disposes a renderer R3F created;
482
+ * a renderer passed in as an instance is never disposed by R3F.
483
+ */
484
+ releaseRenderer?: () => void | Promise<void>
480
485
  /** Global scheduler reference (for useFrame hook) */
481
486
  scheduler: SchedulerApi | null
482
487
  /**
@@ -489,6 +494,8 @@ interface InternalState {
489
494
  rootId?: string
490
495
  /** Function to unregister this root from the global scheduler */
491
496
  unregisterRoot?: () => void
497
+ /** Function to stop following devicePixelRatio changes */
498
+ unwatchDpr?: () => void
492
499
  /** Container for child attachment (scene for root, original container for portals) */
493
500
  container?: THREE.Object3D
494
501
  /**
@@ -660,9 +667,17 @@ type RootStore = UseBoundStoreWithEqualityFn<StoreApi<RootState>>
660
667
  // to avoid bundling @types/react-reconciler which causes absolute path issues
661
668
  type FiberRoot = any
662
669
 
670
+ /** A promise tagged with its state, the protocol React's `use` reads */
671
+ type TrackedPromise<T> = Promise<T> &
672
+ ({ status: 'pending' } | { status: 'fulfilled'; value: T } | { status: 'rejected'; reason: unknown })
673
+
663
674
  interface Root {
664
675
  fiber: FiberRoot
665
676
  store: RootStore
677
+ /** Set while a teardown waits on React. Configure and render clear it, which cancels the teardown */
678
+ unmountClaim: symbol | null
679
+ /** Pending only while a renderer is being created */
680
+ ready: TrackedPromise<unknown>
666
681
  }
667
682
 
668
683
  type AttachFnType<O = any> = (parent: any, self: O) => () => void
@@ -772,7 +787,14 @@ declare function useStore(): RootStore;
772
787
  */
773
788
  declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
774
789
 
790
+ /**
791
+ * React context that carries the current root's {@link RootStore}. Each root provides its store and
792
+ * each portal provides its own scoped one; `useStore`, and every hook built on it, reads it.
793
+ *
794
+ * Stored on `globalThis` under `Symbol.for('@react-three/fiber.context')`, so every copy and entry
795
+ * of fiber shares a single context.
796
+ */
775
797
  declare const context: React.Context<RootStore>;
776
798
 
777
- export { useStore as ag, useThree as ah, context as ai, registerRootExtension as r, setRenderOverride as s };
778
- export type { EquConfig as $, AttachFnType as A, InstanceProps as B, ConstructorRepresentation as C, Dpr as D, Events as E, Frameloop as F, Instance as G, HostConfig as H, InternalState as I, Properties as J, IsOptional as K, IsAllOptional as L, Mutable as M, NonFunctionKeys as N, Overwrite as O, PointerState as P, ThreeCamera as Q, R3FRenderTarget as R, Subscription as S, ThreeEvent as T, Act as U, Viewport as V, Bridge as W, XRManager as X, SetBlock as Y, UnblockProps as Z, ObjectMap as _, RootExtension as a, Disposable as a0, FrameNextState as a1, FrameState as a2, FrameNextCallback as a3, FrameCallback as a4, ThreeNamespace as a5, ThreeCore as a6, OcclusionSupport as a7, WebGLSupport as a8, WebGPUSupport as a9, RendererSupport as aa, RendererProvider as ab, Register as ac, RegisteredRenderer as ad, ForRegisteredRenderer as ae, R3FRendererSupport as af, R3FRenderer as b, Size as c, RenderCallback as d, Performance as e, RootState as f, RootStore as g, Intersection as h, Camera as i, IntersectionEvent as j, DomEvent as k, EventHandlers as l, FilterFunction as m, ComputeFunction as n, XRPointerConfig as o, EventManager as p, PointerCaptureTarget as q, VisibilityEntry as t, FiberRoot as u, Root as v, AttachType as w, Catalogue as x, Args as y, ArgsProp as z };
799
+ export { useStore as ah, useThree as ai, context as aj, registerRootExtension as r, setRenderOverride as s };
800
+ export type { ObjectMap as $, AttachFnType as A, ArgsProp as B, ConstructorRepresentation as C, Dpr as D, Events as E, Frameloop as F, InstanceProps as G, Instance as H, InternalState as I, HostConfig as J, Properties as K, IsOptional as L, Mutable as M, NonFunctionKeys as N, Overwrite as O, PointerState as P, IsAllOptional as Q, R3FRenderTarget as R, Subscription as S, ThreeEvent as T, ThreeCamera as U, Viewport as V, Act as W, XRManager as X, Bridge as Y, SetBlock as Z, UnblockProps as _, RootExtension as a, EquConfig as a0, Disposable as a1, FrameNextState as a2, FrameState as a3, FrameNextCallback as a4, FrameCallback as a5, ThreeNamespace as a6, ThreeCore as a7, OcclusionSupport as a8, WebGLSupport as a9, WebGPUSupport as aa, RendererSupport as ab, RendererProvider as ac, Register as ad, RegisteredRenderer as ae, ForRegisteredRenderer as af, R3FRendererSupport as ag, R3FRenderer as b, Size as c, RenderCallback as d, Performance as e, RootState as f, RootStore as g, Intersection as h, Camera as i, IntersectionEvent as j, DomEvent as k, EventHandlers as l, FilterFunction as m, ComputeFunction as n, XRPointerConfig as o, EventManager as p, PointerCaptureTarget as q, VisibilityEntry as t, FiberRoot as u, TrackedPromise as v, Root as w, AttachType as x, Catalogue as y, Args as z };
@@ -1,4 +1,4 @@
1
- import { a3 as FrameNextCallback } from './fiber.I5Q4dVvl.mjs';
1
+ import { a4 as FrameNextCallback } from './fiber.CZLeHcML.mjs';
2
2
  import { UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a3 as FrameNextCallback } from './fiber.I5Q4dVvl.cjs';
1
+ import { a4 as FrameNextCallback } from './fiber.CZLeHcML.cjs';
2
2
  import { UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
3
3
 
4
4
  /**
@@ -3,7 +3,7 @@ import { ReactNode, Component, RefObject, JSX } from 'react';
3
3
  import { Options } from 'react-use-measure';
4
4
  import * as THREE from 'three';
5
5
  import { ColorRepresentation, Euler as Euler$1, Loader, RenderTargetOptions as RenderTargetOptions$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D } from 'three';
6
- import { J as Properties, c as Size, F as Frameloop, e as Performance, D as Dpr, g as RootStore, p as EventManager, f as RootState, n as ComputeFunction, C as ConstructorRepresentation, _ as ObjectMap, I as InternalState, M as Mutable, O as Overwrite, y as Args, l as EventHandlers, B as InstanceProps, k as DomEvent, G as Instance, x as Catalogue, v as Root, a6 as ThreeCore, W as Bridge, Z as UnblockProps, a0 as Disposable, Q as ThreeCamera, $ as EquConfig } from './fiber.I5Q4dVvl.mjs';
6
+ import { K as Properties, c as Size, F as Frameloop, e as Performance, D as Dpr, g as RootStore, p as EventManager, f as RootState, n as ComputeFunction, C as ConstructorRepresentation, $ as ObjectMap, I as InternalState, M as Mutable, O as Overwrite, z as Args, l as EventHandlers, G as InstanceProps, k as DomEvent, H as Instance, y as Catalogue, w as Root, a7 as ThreeCore, Y as Bridge, _ as UnblockProps, a1 as Disposable, U as ThreeCamera, a0 as EquConfig } from './fiber.CZLeHcML.js';
7
7
  import { WebGPURenderer, WebGPURendererParameters } from 'three/webgpu';
8
8
 
9
9
  //* Base Renderer Types =====================================
@@ -155,8 +155,11 @@ interface RenderProps<TCanvas extends HTMLCanvasElement | OffscreenCanvas$1> {
155
155
  /** Dimensions to fit the renderer to. Will measure canvas dimensions if omitted */
156
156
  size?: Size
157
157
  /**
158
- * Enables shadows (by default PCFsoft). Can accept `gl.shadowMap` options for fine-tuning,
159
- * but also strings: 'basic' | 'percentage' | 'soft' | 'variance'.
158
+ * Enables shadows (`true` uses `THREE.PCFShadowMap`). Can accept `renderer.shadowMap` options for
159
+ * fine-tuning, but also strings: 'basic' | 'percentage' | 'soft' | 'variance'.
160
+ *
161
+ * `'soft'` is a deprecated alias of `'percentage'`: both map to `THREE.PCFShadowMap`, because three.js
162
+ * deprecated `PCFSoftShadowMap` and made `PCFShadowMap` soft. Using `'soft'` logs a deprecation notice.
160
163
  * @see https://threejs.org/docs/#api/en/renderers/WebGLRenderer.shadowMap
161
164
  */
162
165
  shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE.WebGLShadowMap>
@@ -540,8 +543,14 @@ type ThreeElement<T extends ConstructorRepresentation> = Mutable<
540
543
  Overwrite<ElementProps<T>, Omit<InstanceProps<InstanceType<T>, T>, 'object'>>
541
544
  >
542
545
 
546
+ /**
547
+ * Every constructor export of a three namespace as an uncapitalized JSX element. Non-constructor
548
+ * exports (constants, functions, nested namespaces) are dropped from the keys rather than mapped
549
+ * to `never`: a single `never`-valued key in `JSX.IntrinsicElements` collapses the props of any
550
+ * tag typed `React.ElementType` (#3898).
551
+ */
543
552
  type ThreeToJSXElements<T extends Record<string, any>> = {
544
- [K in keyof T & string as Uncapitalize<K>]: T[K] extends ConstructorRepresentation ? ThreeElement<T[K]> : never
553
+ [K in keyof T & string as T[K] extends ConstructorRepresentation ? Uncapitalize<K> : never]: ThreeElement<T[K]>
545
554
  }
546
555
 
547
556
  /** Method names of Object3D, excluded from the `primitive` element's typed props. */
@@ -2246,16 +2255,67 @@ declare namespace ReactReconciler {
2246
2255
  ): void;
2247
2256
  }
2248
2257
 
2258
+ /**
2259
+ * Registers constructors so they can be rendered as JSX elements.
2260
+ *
2261
+ * - `extend({ OrbitControls })` makes each constructor available under its camelCased key
2262
+ * (`<orbitControls />`). Values that are not constructors are skipped, so a whole module
2263
+ * namespace can be passed.
2264
+ * - `extend(MyClass)` registers one constructor and returns a component to render it with.
2265
+ *
2266
+ * Registrations are global, shared by every copy and entry of fiber, and are checked before the
2267
+ * three namespace of a root's renderer when an element name is resolved.
2268
+ *
2269
+ * @example
2270
+ * import { OrbitControls } from 'three/addons/controls/OrbitControls.js'
2271
+ * extend({ OrbitControls })
2272
+ * // <orbitControls args={[camera, gl.domElement]} />
2273
+ *
2274
+ * @example
2275
+ * const Controls = extend(OrbitControls)
2276
+ * // <Controls args={[camera, gl.domElement]} />
2277
+ *
2278
+ * @see https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively
2279
+ */
2249
2280
  declare function extend<T extends ConstructorRepresentation>(objects: T): React$1.ExoticComponent<ThreeElement<T>>;
2281
+ /** Registers each constructor in `objects` under its key; see the first overload. */
2250
2282
  declare function extend<T extends Catalogue>(objects: T): void;
2283
+ /** Registers every constructor in a module namespace, skipping other exports; see the first overload. */
2251
2284
  declare function extend(objects: Record<string, unknown>): void;
2252
2285
 
2286
+ /**
2287
+ * R3F's React reconciler: a mutation-mode host config that turns JSX elements into three.js objects.
2288
+ * Each root's {@link RootStore} is its container, and children attach to `internal.container`
2289
+ * (a portal's target) or else the root's `scene`.
2290
+ *
2291
+ * - **Element names** resolve through `extend()` registrations first, then the three namespace of
2292
+ * the root's renderer. A `three` prefix (`<threeLine>`) is stripped when no element by the
2293
+ * prefixed name exists. `<primitive object={...}>` wraps an existing object.
2294
+ * - **Construction is deferred** until an instance is attached to a mounted parent, so a tree that
2295
+ * Suspense discards never creates three objects.
2296
+ * - **Updates** apply only changed props. Changing `args` (or a primitive's `object`) reconstructs
2297
+ * the object instead; the swap happens in `resetAfterCommit`, before layout effects, so refs
2298
+ * already point to the new object.
2299
+ * - **Removal** detaches the object and disposes it (at idle priority, or immediately in an `act`
2300
+ * test environment), unless it is a primitive, a `Scene`, or it or an ancestor has `dispose={null}`.
2301
+ * - **Priority**: not the primary renderer, so it runs alongside react-dom, and update priority
2302
+ * follows react-dom's event priorities. View-transition commits are flushed synchronously, since
2303
+ * three has nothing to animate between commits.
2304
+ *
2305
+ * `createRoot`, `createPortal` and `flushSync` drive it; app code rarely needs it directly.
2306
+ */
2253
2307
  declare const reconciler: ReactReconciler.Reconciler<RootStore, Instance<any>, void, Instance<any>, never, any>;
2254
2308
 
2255
2309
  declare const isRenderer: (def: any) => boolean;
2256
2310
  interface OffscreenCanvas extends EventTarget {
2257
2311
  }
2258
2312
  declare const _roots: Map<HTMLCanvasElement | OffscreenCanvas, Root>;
2313
+ /**
2314
+ * Unmount the root on `canvas`. The teardown runs once React has committed the unmount, and waits
2315
+ * for a renderer that is still being created. `callback` runs when the root is gone: after the
2316
+ * teardown, and when it disposed a renderer R3F created whose `dispose()` is async (WebGPURenderer
2317
+ * from three r186), after that dispose has settled.
2318
+ */
2259
2319
  declare function unmountComponentAtNode<TCanvas extends HTMLCanvasElement | OffscreenCanvas>(canvas: TCanvas, callback?: (canvas: TCanvas) => void): void;
2260
2320
  declare function createPortal(children: ReactNode, container: THREE.Object3D | RefObject<THREE.Object3D | null> | RefObject<THREE.Object3D>, state?: InjectState): JSX.Element;
2261
2321
  interface PortalProps {
@@ -2272,6 +2332,30 @@ declare function Portal({ children, container, state }: PortalProps): JSX.Elemen
2272
2332
  */
2273
2333
  declare function flushSync<R>(fn: () => R): R;
2274
2334
 
2335
+ /**
2336
+ * Creates the Zustand store that holds one root's {@link RootState}.
2337
+ *
2338
+ * The store starts unconfigured: the renderer, `camera`, `scene`, `raycaster`, `frustum` and `pointer`
2339
+ * are `null` placeholders until the root's renderer support has loaded and `configure()` in
2340
+ * `renderer.tsx` fills them in. Only core's part of `RootState` is created here; packages building on
2341
+ * fiber add their own fields through root extensions.
2342
+ *
2343
+ * Besides the initial state, the store wires up:
2344
+ * - `state.gl` and `state.renderer` as accessors over `internal.actualRenderer`. `gl` reports a
2345
+ * deprecation when user code reads it outside legacy mode.
2346
+ * - `rootScene` following `scene` whenever `scene` is set to a real `THREE.Scene`.
2347
+ * - On a size or DPR change: updating the camera and resizing the root's own canvas target (or the
2348
+ * renderer when there is none).
2349
+ * - On a camera change: adding an unparented camera to `rootScene`, then refreshing the viewport and
2350
+ * (when `autoUpdateFrustum` is set) the frustum.
2351
+ * - Calling `invalidate(state)` after every state change.
2352
+ *
2353
+ * `createRoot` calls this once per canvas.
2354
+ *
2355
+ * @param invalidate - Requests frames for a root. Bound into `state.invalidate` and called on every store change.
2356
+ * @param advance - Steps a root manually. Bound into `state.advance`.
2357
+ * @returns The root's store, which is also the reconciler container for that root.
2358
+ */
2275
2359
  declare const createStore: (invalidate: (state?: RootState, frames?: number, stackFrames?: boolean) => void, advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState, frame?: XRFrame) => void) => RootStore;
2276
2360
 
2277
2361
  /** Whether any root has loaded a renderer yet. */
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Canvas$1 = require('../shared/fiber.oKEFddXj.cjs');
4
+ const Canvas$1 = require('../shared/fiber.BegWBc5_.cjs');
5
5
  const webgpu = require('../chunks/webgpu.cjs');
6
6
  const extensions = require('../shared/fiber.khFlPHPf.cjs');
7
7
  const scheduler = require('@pmndrs/scheduler');
@@ -1,9 +1,9 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.BY6Yf1h-.cjs';
4
- export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.BY6Yf1h-.cjs';
5
- import { C as ConstructorRepresentation, f as RootState, I as InternalState, J as Properties } from '../shared/fiber.I5Q4dVvl.cjs';
6
- export { U as Act, y as Args, z as ArgsProp, A as AttachFnType, w as AttachType, W as Bridge, i as Camera, x as Catalogue, n as ComputeFunction, a0 as Disposable, k as DomEvent, D as Dpr, $ as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, ae as ForRegisteredRenderer, a4 as FrameCallback, a3 as FrameNextCallback, a1 as FrameNextState, a2 as FrameState, F as Frameloop, H as HostConfig, G as Instance, B as InstanceProps, h as Intersection, j as IntersectionEvent, L as IsAllOptional, K as IsOptional, M as Mutable, N as NonFunctionKeys, _ as ObjectMap, a7 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, af as R3FRendererSupport, ac as Register, ad as RegisteredRenderer, d as RenderCallback, ab as RendererProvider, aa as RendererSupport, v as Root, a as RootExtension, g as RootStore, Y as SetBlock, c as Size, S as Subscription, Q as ThreeCamera, a6 as ThreeCore, T as ThreeEvent, a5 as ThreeNamespace, Z as UnblockProps, V as Viewport, t as VisibilityEntry, a8 as WebGLSupport, a9 as WebGPUSupport, X as XRManager, o as XRPointerConfig, ai as context, r as registerRootExtension, s as setRenderOverride, ag as useStore } from '../shared/fiber.I5Q4dVvl.cjs';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.BcNm6NAg.cjs';
4
+ export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.BcNm6NAg.cjs';
5
+ import { C as ConstructorRepresentation, f as RootState, I as InternalState, K as Properties } from '../shared/fiber.CZLeHcML.cjs';
6
+ export { W as Act, z as Args, B as ArgsProp, A as AttachFnType, x as AttachType, Y as Bridge, i as Camera, y as Catalogue, n as ComputeFunction, a1 as Disposable, k as DomEvent, D as Dpr, a0 as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, af as ForRegisteredRenderer, a5 as FrameCallback, a4 as FrameNextCallback, a2 as FrameNextState, a3 as FrameState, F as Frameloop, J as HostConfig, H as Instance, G as InstanceProps, h as Intersection, j as IntersectionEvent, Q as IsAllOptional, L as IsOptional, M as Mutable, N as NonFunctionKeys, $ as ObjectMap, a8 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, ag as R3FRendererSupport, ad as Register, ae as RegisteredRenderer, d as RenderCallback, ac as RendererProvider, ab as RendererSupport, w as Root, a as RootExtension, g as RootStore, Z as SetBlock, c as Size, S as Subscription, U as ThreeCamera, a7 as ThreeCore, T as ThreeEvent, a6 as ThreeNamespace, v as TrackedPromise, _ as UnblockProps, V as Viewport, t as VisibilityEntry, a9 as WebGLSupport, aa as WebGPUSupport, X as XRManager, o as XRPointerConfig, aj as context, r as registerRootExtension, s as setRenderOverride, ah as useStore } from '../shared/fiber.CZLeHcML.cjs';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
@@ -1,9 +1,9 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.Cu2hX1IM.mjs';
4
- export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.Cu2hX1IM.mjs';
5
- import { C as ConstructorRepresentation, f as RootState, I as InternalState, J as Properties } from '../shared/fiber.I5Q4dVvl.mjs';
6
- export { U as Act, y as Args, z as ArgsProp, A as AttachFnType, w as AttachType, W as Bridge, i as Camera, x as Catalogue, n as ComputeFunction, a0 as Disposable, k as DomEvent, D as Dpr, $ as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, ae as ForRegisteredRenderer, a4 as FrameCallback, a3 as FrameNextCallback, a1 as FrameNextState, a2 as FrameState, F as Frameloop, H as HostConfig, G as Instance, B as InstanceProps, h as Intersection, j as IntersectionEvent, L as IsAllOptional, K as IsOptional, M as Mutable, N as NonFunctionKeys, _ as ObjectMap, a7 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, af as R3FRendererSupport, ac as Register, ad as RegisteredRenderer, d as RenderCallback, ab as RendererProvider, aa as RendererSupport, v as Root, a as RootExtension, g as RootStore, Y as SetBlock, c as Size, S as Subscription, Q as ThreeCamera, a6 as ThreeCore, T as ThreeEvent, a5 as ThreeNamespace, Z as UnblockProps, V as Viewport, t as VisibilityEntry, a8 as WebGLSupport, a9 as WebGPUSupport, X as XRManager, o as XRPointerConfig, ai as context, r as registerRootExtension, s as setRenderOverride, ag as useStore } from '../shared/fiber.I5Q4dVvl.mjs';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.CQDCACCJ.mjs';
4
+ export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.CQDCACCJ.mjs';
5
+ import { C as ConstructorRepresentation, f as RootState, I as InternalState, K as Properties } from '../shared/fiber.CZLeHcML.mjs';
6
+ export { W as Act, z as Args, B as ArgsProp, A as AttachFnType, x as AttachType, Y as Bridge, i as Camera, y as Catalogue, n as ComputeFunction, a1 as Disposable, k as DomEvent, D as Dpr, a0 as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, af as ForRegisteredRenderer, a5 as FrameCallback, a4 as FrameNextCallback, a2 as FrameNextState, a3 as FrameState, F as Frameloop, J as HostConfig, H as Instance, G as InstanceProps, h as Intersection, j as IntersectionEvent, Q as IsAllOptional, L as IsOptional, M as Mutable, N as NonFunctionKeys, $ as ObjectMap, a8 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, ag as R3FRendererSupport, ad as Register, ae as RegisteredRenderer, d as RenderCallback, ac as RendererProvider, ab as RendererSupport, w as Root, a as RootExtension, g as RootStore, Z as SetBlock, c as Size, S as Subscription, U as ThreeCamera, a7 as ThreeCore, T as ThreeEvent, a6 as ThreeNamespace, v as TrackedPromise, _ as UnblockProps, V as Viewport, t as VisibilityEntry, a9 as WebGLSupport, aa as WebGPUSupport, X as XRManager, o as XRPointerConfig, aj as context, r as registerRootExtension, s as setRenderOverride, ah as useStore } from '../shared/fiber.CZLeHcML.mjs';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
@@ -1,9 +1,9 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.DXw-SLsH.js';
4
- export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.DXw-SLsH.js';
5
- import { C as ConstructorRepresentation, f as RootState, I as InternalState, J as Properties } from '../shared/fiber.I5Q4dVvl.js';
6
- export { U as Act, y as Args, z as ArgsProp, A as AttachFnType, w as AttachType, W as Bridge, i as Camera, x as Catalogue, n as ComputeFunction, a0 as Disposable, k as DomEvent, D as Dpr, $ as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, ae as ForRegisteredRenderer, a4 as FrameCallback, a3 as FrameNextCallback, a1 as FrameNextState, a2 as FrameState, F as Frameloop, H as HostConfig, G as Instance, B as InstanceProps, h as Intersection, j as IntersectionEvent, L as IsAllOptional, K as IsOptional, M as Mutable, N as NonFunctionKeys, _ as ObjectMap, a7 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, af as R3FRendererSupport, ac as Register, ad as RegisteredRenderer, d as RenderCallback, ab as RendererProvider, aa as RendererSupport, v as Root, a as RootExtension, g as RootStore, Y as SetBlock, c as Size, S as Subscription, Q as ThreeCamera, a6 as ThreeCore, T as ThreeEvent, a5 as ThreeNamespace, Z as UnblockProps, V as Viewport, t as VisibilityEntry, a8 as WebGLSupport, a9 as WebGPUSupport, X as XRManager, o as XRPointerConfig, ai as context, r as registerRootExtension, s as setRenderOverride, ag as useStore } from '../shared/fiber.I5Q4dVvl.js';
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 ElementProps$1, n as ThreeElement$1, o as ThreeToJSXElements$1, O as Object3DMethod$1, p as ThreeElementsOf$1, q as ElementOf$1, z as RendererFactory, B as BaseRendererProps, t as CanvasProps, s as ReconcilerRoot, r as RenderTargetOptions } from '../shared/fiber.DeBIf2pk.js';
4
+ export { Z as BackgroundConfig, _ as BackgroundProp, aZ as Block, S as CameraProps, J as CanvasSchedulerConfig, D as ColorManagementConfig, F as DefaultGLProps, I as DefaultRendererProps, aD as DisposeOptions, an as Environment, al as EnvironmentCube, aG as EnvironmentLoaderProps, ak as EnvironmentMap, am as EnvironmentPortal, aj as EnvironmentProps, a_ as ErrorBoundary, a5 as Extensions, bs as FROM_REF, bt as FromRefMarker, H as GLProps, a1 as GLTFLike, Y as GlobalEffectType, X as GlobalRenderCallback, a3 as InferLoadResult, W as InjectState, $ as InputLike, aw as IsObject, aa as LegacyInternalState, a9 as LegacyRenderer, ab as LegacyRootState, a2 as LoaderInstance, a0 as LoaderLike, a4 as LoaderResult, ax as MappedTextureType, bw as ONCE, y as OffscreenCanvas, by as OnceValue, aT as Portal, ap as PresetsType, ac as PrimaryCanvasEntry, a$ as REACT_INTERNAL_PROPS, b7 as RESERVED_PROPS, U as RenderProps, A as Renderer, K as RendererConfigExtended, P as RendererProps, aA as Texture, aB as TextureInput, aC as TextureResult, ay as UseTextureOptions, aE as UseTexturesReturn, a6 as WebGLDefaultProps, a7 as WebGLProps, a8 as WebGLShadowConfig, aQ as _roots, aJ as addAfterEffect, aI as addEffect, aK as addTail, aM as advance, bc as applyProps, b9 as attach, b2 as buildGraph, bd as calculateDpr, as as createEvents, u as createPointerEvents, aS as createPortal, aV as createStore, ba as detach, bb as diffProps, b3 as dispose, u as events, aN as extend, b0 as findInitialRoot, aU as flushSync, bu as fromRef, b4 as getInstanceProps, ae as getPrimary, ai as getPrimaryIds, b1 as getRootState, v as getThree, be as getUuidPrefix, br as hasConstructor, ag as hasPrimary, w as hasThree, aL as invalidate, b6 as invalidateInstance, bh as is, bk as isColorRepresentation, bq as isCopyable, bv as isFromRef, bn as isLayers, bl as isObject3D, bz as isOnce, bi as isOrthographicCamera, bj as isRef, aP as isRenderer, bm as isTexture, bo as isUniform, bp as isVectorLike, bx as once, b5 as prepare, ao as presetsObj, aO as reconciler, ad as registerPrimary, ar as removeInteractivity, b8 as resolve, aq as swapInteractivity, aR as unmountComponentAtNode, ah as unregisterPrimary, bf as updateCamera, bg as updateFrustum, aY as useBridge, aH as useEnvironment, au as useGraph, at as useInstanceHandle, aW as useIsomorphicLayoutEffect, av as useLoader, aX as useMutableCallback, az as useTexture, aF as useTextures, af as waitForPrimary, x as whenThree } from '../shared/fiber.DeBIf2pk.js';
5
+ import { C as ConstructorRepresentation, f as RootState, I as InternalState, K as Properties } from '../shared/fiber.CZLeHcML.js';
6
+ export { W as Act, z as Args, B as ArgsProp, A as AttachFnType, x as AttachType, Y as Bridge, i as Camera, y as Catalogue, n as ComputeFunction, a1 as Disposable, k as DomEvent, D as Dpr, a0 as EquConfig, l as EventHandlers, p as EventManager, E as Events, u as FiberRoot, m as FilterFunction, af as ForRegisteredRenderer, a5 as FrameCallback, a4 as FrameNextCallback, a2 as FrameNextState, a3 as FrameState, F as Frameloop, J as HostConfig, H as Instance, G as InstanceProps, h as Intersection, j as IntersectionEvent, Q as IsAllOptional, L as IsOptional, M as Mutable, N as NonFunctionKeys, $ as ObjectMap, a8 as OcclusionSupport, O as Overwrite, e as Performance, q as PointerCaptureTarget, P as PointerState, R as R3FRenderTarget, ag as R3FRendererSupport, ad as Register, ae as RegisteredRenderer, d as RenderCallback, ac as RendererProvider, ab as RendererSupport, w as Root, a as RootExtension, g as RootStore, Z as SetBlock, c as Size, S as Subscription, U as ThreeCamera, a7 as ThreeCore, T as ThreeEvent, a6 as ThreeNamespace, v as TrackedPromise, _ as UnblockProps, V as Viewport, t as VisibilityEntry, a9 as WebGLSupport, aa as WebGPUSupport, X as XRManager, o as XRPointerConfig, aj as context, r as registerRootExtension, s as setRenderOverride, ah as useStore } from '../shared/fiber.CZLeHcML.js';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { x as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from '../shared/fiber.tsM9NKZ9.mjs';
3
- export { k as Environment, i as EnvironmentCube, E as EnvironmentMap, j as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, R as REACT_INTERNAL_PROPS, Y as RESERVED_PROPS, T as Texture, _ as _roots, A as addAfterEffect, z as addEffect, B as addTail, F as advance, a2 as applyProps, $ as attach, S as buildGraph, a3 as calculateDpr, m as createEvents, a as createPointerEvents, L as createPortal, N as createStore, a0 as detach, a1 as diffProps, U as dispose, a as events, G as extend, O as findInitialRoot, M as flushSync, aj as fromRef, V as getInstanceProps, b as getPrimary, f as getPrimaryIds, Q as getRootState, g as getThree, a4 as getUuidPrefix, ah as hasConstructor, e as hasPrimary, h as hasThree, D as invalidate, X 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, J as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, W as prepare, p as presetsObj, H as reconciler, r as registerPrimary, l as removeInteractivity, Z as resolve, s as swapInteractivity, K as unmountComponentAtNode, u as unregisterPrimary, a5 as updateCamera, a6 as updateFrustum, y as useEnvironment, o as useGraph, n as useInstanceHandle, q as useLoader, t as useTexture, v as useTextures, d as waitForPrimary, w as whenThree } from '../shared/fiber.tsM9NKZ9.mjs';
2
+ import { x as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from '../shared/fiber.5Q8N6Hhq.mjs';
3
+ export { k as Environment, i as EnvironmentCube, E as EnvironmentMap, j as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, R as REACT_INTERNAL_PROPS, Y as RESERVED_PROPS, T as Texture, _ as _roots, A as addAfterEffect, z as addEffect, B as addTail, F as advance, a2 as applyProps, $ as attach, S as buildGraph, a3 as calculateDpr, m as createEvents, a as createPointerEvents, L as createPortal, N as createStore, a0 as detach, a1 as diffProps, U as dispose, a as events, G as extend, O as findInitialRoot, M as flushSync, aj as fromRef, V as getInstanceProps, b as getPrimary, f as getPrimaryIds, Q as getRootState, g as getThree, a4 as getUuidPrefix, ah as hasConstructor, e as hasPrimary, h as hasThree, D as invalidate, X 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, J as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, W as prepare, p as presetsObj, H as reconciler, r as registerPrimary, l as removeInteractivity, Z as resolve, s as swapInteractivity, K as unmountComponentAtNode, u as unregisterPrimary, a5 as updateCamera, a6 as updateFrustum, y as useEnvironment, o as useGraph, n as useInstanceHandle, q as useLoader, t as useTexture, v as useTextures, d as waitForPrimary, w as whenThree } from '../shared/fiber.5Q8N6Hhq.mjs';
4
4
  import { webgpuSupport } from '../chunks/webgpu.mjs';
5
- import { a as useThree$1, b as useFrame$1 } from '../shared/fiber.B0oukOFO.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.B0oukOFO.mjs';
5
+ import { a as useThree$1, b as useFrame$1 } from '../shared/fiber.CUKAa7Rv.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.CUKAa7Rv.mjs';
7
7
  export { Scheduler, getScheduler } from '@pmndrs/scheduler';
8
8
 
9
9
  function addTexture(set, key, value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "10.0.0-canary.b86abaa",
3
+ "version": "10.0.0-canary.b9d5979",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",