@react-three/fiber 10.0.0-canary.5140ac8 → 10.0.0-canary.58acabc

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 (40) hide show
  1. package/dist/extension.cjs +1 -1
  2. package/dist/extension.d.cts +49 -5
  3. package/dist/extension.d.mts +49 -5
  4. package/dist/extension.d.ts +49 -5
  5. package/dist/extension.mjs +1 -1
  6. package/dist/index.cjs +7 -8
  7. package/dist/index.d.cts +9 -42
  8. package/dist/index.d.mts +9 -42
  9. package/dist/index.d.ts +9 -42
  10. package/dist/index.mjs +6 -6
  11. package/dist/legacy.cjs +2 -2
  12. package/dist/legacy.d.cts +4 -4
  13. package/dist/legacy.d.mts +4 -4
  14. package/dist/legacy.d.ts +4 -4
  15. package/dist/legacy.mjs +4 -4
  16. package/dist/shared/{fiber.CvlK0a1Z.d.mts → fiber.34TOMPo3.d.cts} +3 -3
  17. package/dist/shared/fiber.BFuGd7gN.d.cts +90 -0
  18. package/dist/shared/{fiber.DfiCufha.cjs → fiber.BO8-26r8.cjs} +20 -0
  19. package/dist/shared/fiber.BSXtODQl.cjs +14 -0
  20. package/dist/shared/fiber.Bll9fqKA.d.mts +90 -0
  21. package/dist/shared/{fiber.CaF-CYl7.mjs → fiber.BuWl08aJ.mjs} +8 -6
  22. package/dist/shared/{fiber.Biz9olEe.mjs → fiber.C-3TIsF8.mjs} +20 -1
  23. package/dist/shared/{fiber.CtivZ3IY.d.ts → fiber.CjMAAsJy.d.ts} +3 -3
  24. package/dist/shared/fiber.DEWBFQJe.mjs +9 -0
  25. package/dist/shared/{fiber.C_MFx7We.d.ts → fiber.DQTSZ24m.d.cts} +11 -8
  26. package/dist/shared/{fiber.C_MFx7We.d.cts → fiber.DQTSZ24m.d.mts} +11 -8
  27. package/dist/shared/{fiber.C_MFx7We.d.mts → fiber.DQTSZ24m.d.ts} +11 -8
  28. package/dist/shared/fiber.DuA4F8L5.d.ts +90 -0
  29. package/dist/shared/{fiber.VTTQNnlj.d.cts → fiber.Dy7Uz273.d.mts} +3 -3
  30. package/dist/shared/{fiber.DEF5PVV3.cjs → fiber.TRm3lZ7I.cjs} +8 -6
  31. package/dist/webgpu/index.cjs +7 -9
  32. package/dist/webgpu/index.d.cts +11 -78
  33. package/dist/webgpu/index.d.mts +11 -78
  34. package/dist/webgpu/index.d.ts +11 -78
  35. package/dist/webgpu/index.mjs +7 -9
  36. package/package.json +1 -1
  37. package/readme.md +10 -1
  38. package/dist/shared/fiber.C6hitYDY.d.cts +0 -48
  39. package/dist/shared/fiber.D4fD6H74.d.mts +0 -48
  40. package/dist/shared/fiber.YgTUGbja.d.ts +0 -48
@@ -340,10 +340,14 @@ interface RendererProvider {
340
340
  }
341
341
 
342
342
  //* Register ==============================
343
- // The root entry can construct either renderer, so by default `state.renderer` is the union of
344
- // both and a WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. An app that
345
- // has decided on one renderer says so once, and every renderer-typed field follows -- `useThree`,
346
- // `useFrame`, `onCreated`, `useRenderTarget`, `state.internal.support`:
343
+ // The base RootState is typed for both renderers, so by default `state.renderer` is the union and a
344
+ // WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. That base is what
345
+ // `@react-three/fiber/extension` (the entry for libraries) and the `RootState` type expose, so a
346
+ // library compiles for apps on either renderer.
347
+ //
348
+ // Apps rarely need this: each entry's hooks are already typed for the renderer it renders with
349
+ // (`@react-three/fiber` WebGPU, `/legacy` WebGL). Registering narrows the base types too, for code
350
+ // that goes through them (`/extension` hooks in an app, `RootState` annotations):
347
351
  //
348
352
  // declare module '@react-three/fiber' {
349
353
  // interface Register {
@@ -352,8 +356,7 @@ interface RendererProvider {
352
356
  // }
353
357
  //
354
358
  // Same pattern as `Register` in @react-three/tsl (and TanStack Router). Nothing registered means
355
- // the union, unchanged. The `/legacy` and `/webgpu` entries are the same thing decided by import
356
- // path; this is for apps on `@react-three/fiber` that want the narrowed types without changing it.
359
+ // the union, unchanged.
357
360
 
358
361
  /**
359
362
  * Augment this to type `RootState` for the renderer your app uses. Recognised keys:
@@ -1233,5 +1236,5 @@ declare function useThree<T = RootState>(selector?: (state: RootState) => T, equ
1233
1236
  */
1234
1237
  declare const context: React$1.Context<RootStore>;
1235
1238
 
1236
- export { useStore as a$, useThree as b0, registerRootExtension as u, setRenderOverride as v, context as x };
1237
- export type { Events as $, Viewport as A, RenderCallback as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, Performance as H, InternalState as I, RootState as J, RootStore as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Intersection as U, VectorRepresentation as V, Camera as W, XRManager as X, IntersectionEvent as Y, ThreeEvent as Z, DomEvent as _, MathRepresentation as a, EventHandlers as a0, FilterFunction as a1, ComputeFunction as a2, XRPointerConfig as a3, EventManager as a4, PointerCaptureTarget as a5, VisibilityEntry as a6, OffscreenCanvas$1 as a7, BaseRendererProps as a8, RendererFactory as a9, Properties as aA, Mutable as aB, IsOptional as aC, IsAllOptional as aD, ThreeCamera as aE, Act as aF, Bridge as aG, SetBlock as aH, UnblockProps as aI, ObjectMap as aJ, EquConfig as aK, Disposable as aL, FrameNextState as aM, FrameState as aN, FrameNextCallback as aO, FrameCallback as aP, ThreeNamespace as aQ, ThreeCore as aR, OcclusionSupport as aS, WebGLSupport as aT, WebGPUSupport as aU, RendererSupport as aV, RendererProvider as aW, Register as aX, RegisteredRenderer as aY, ForRegisteredRenderer as aZ, R3FRendererSupport as a_, Renderer as aa, ColorManagementConfig as ab, ShadowsConfig as ac, RendererSettingsConfig as ad, DefaultGLProps as ae, GLProps as af, DefaultRendererProps as ag, CanvasSchedulerConfig as ah, RendererConfigExtended as ai, RendererProps as aj, CameraProps as ak, RenderProps as al, InjectState as am, FiberRoot as an, TrackedPromise as ao, Root as ap, AttachFnType as aq, AttachType as ar, Catalogue as as, Args as at, ArgsProp as au, InstanceProps as av, Instance as aw, HostConfig as ax, NonFunctionKeys as ay, Overwrite as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, R3FRenderTarget as s, ReconcilerRoot as t, RootExtension as w, R3FRenderer as y, Size as z };
1239
+ export { useStore as a$, useThree as b0, registerRootExtension as t, setRenderOverride as u, context as w };
1240
+ export type { EventHandlers as $, RenderCallback as A, Performance as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, RootState as H, InternalState as I, RootStore as J, Intersection as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Camera as U, VectorRepresentation as V, IntersectionEvent as W, XRManager as X, ThreeEvent as Y, DomEvent as Z, Events as _, MathRepresentation as a, FilterFunction as a0, ComputeFunction as a1, XRPointerConfig as a2, EventManager as a3, PointerCaptureTarget as a4, VisibilityEntry as a5, OffscreenCanvas$1 as a6, BaseRendererProps as a7, RendererFactory as a8, Renderer as a9, Mutable as aA, IsOptional as aB, IsAllOptional as aC, ThreeCamera as aD, Act as aE, Bridge as aF, SetBlock as aG, UnblockProps as aH, ObjectMap as aI, EquConfig as aJ, Disposable as aK, FrameNextState as aL, FrameState as aM, FrameNextCallback as aN, FrameCallback as aO, ThreeNamespace as aP, ThreeCore as aQ, OcclusionSupport as aR, WebGLSupport as aS, WebGPUSupport as aT, RendererSupport as aU, RendererProvider as aV, Register as aW, RegisteredRenderer as aX, ForRegisteredRenderer as aY, R3FRenderTarget as aZ, R3FRendererSupport as a_, ColorManagementConfig as aa, ShadowsConfig as ab, RendererSettingsConfig as ac, DefaultGLProps as ad, GLProps as ae, DefaultRendererProps as af, CanvasSchedulerConfig as ag, RendererConfigExtended as ah, RendererProps as ai, CameraProps as aj, RenderProps as ak, InjectState as al, FiberRoot as am, TrackedPromise as an, Root as ao, AttachFnType as ap, AttachType as aq, Catalogue as ar, Args as as, ArgsProp as at, InstanceProps as au, Instance as av, HostConfig as aw, NonFunctionKeys as ax, Overwrite as ay, Properties as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, ReconcilerRoot as s, RootExtension as v, R3FRenderer as x, Size as y, Viewport as z };
@@ -340,10 +340,14 @@ interface RendererProvider {
340
340
  }
341
341
 
342
342
  //* Register ==============================
343
- // The root entry can construct either renderer, so by default `state.renderer` is the union of
344
- // both and a WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. An app that
345
- // has decided on one renderer says so once, and every renderer-typed field follows -- `useThree`,
346
- // `useFrame`, `onCreated`, `useRenderTarget`, `state.internal.support`:
343
+ // The base RootState is typed for both renderers, so by default `state.renderer` is the union and a
344
+ // WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. That base is what
345
+ // `@react-three/fiber/extension` (the entry for libraries) and the `RootState` type expose, so a
346
+ // library compiles for apps on either renderer.
347
+ //
348
+ // Apps rarely need this: each entry's hooks are already typed for the renderer it renders with
349
+ // (`@react-three/fiber` WebGPU, `/legacy` WebGL). Registering narrows the base types too, for code
350
+ // that goes through them (`/extension` hooks in an app, `RootState` annotations):
347
351
  //
348
352
  // declare module '@react-three/fiber' {
349
353
  // interface Register {
@@ -352,8 +356,7 @@ interface RendererProvider {
352
356
  // }
353
357
  //
354
358
  // Same pattern as `Register` in @react-three/tsl (and TanStack Router). Nothing registered means
355
- // the union, unchanged. The `/legacy` and `/webgpu` entries are the same thing decided by import
356
- // path; this is for apps on `@react-three/fiber` that want the narrowed types without changing it.
359
+ // the union, unchanged.
357
360
 
358
361
  /**
359
362
  * Augment this to type `RootState` for the renderer your app uses. Recognised keys:
@@ -1233,5 +1236,5 @@ declare function useThree<T = RootState>(selector?: (state: RootState) => T, equ
1233
1236
  */
1234
1237
  declare const context: React$1.Context<RootStore>;
1235
1238
 
1236
- export { useStore as a$, useThree as b0, registerRootExtension as u, setRenderOverride as v, context as x };
1237
- export type { Events as $, Viewport as A, RenderCallback as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, Performance as H, InternalState as I, RootState as J, RootStore as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Intersection as U, VectorRepresentation as V, Camera as W, XRManager as X, IntersectionEvent as Y, ThreeEvent as Z, DomEvent as _, MathRepresentation as a, EventHandlers as a0, FilterFunction as a1, ComputeFunction as a2, XRPointerConfig as a3, EventManager as a4, PointerCaptureTarget as a5, VisibilityEntry as a6, OffscreenCanvas$1 as a7, BaseRendererProps as a8, RendererFactory as a9, Properties as aA, Mutable as aB, IsOptional as aC, IsAllOptional as aD, ThreeCamera as aE, Act as aF, Bridge as aG, SetBlock as aH, UnblockProps as aI, ObjectMap as aJ, EquConfig as aK, Disposable as aL, FrameNextState as aM, FrameState as aN, FrameNextCallback as aO, FrameCallback as aP, ThreeNamespace as aQ, ThreeCore as aR, OcclusionSupport as aS, WebGLSupport as aT, WebGPUSupport as aU, RendererSupport as aV, RendererProvider as aW, Register as aX, RegisteredRenderer as aY, ForRegisteredRenderer as aZ, R3FRendererSupport as a_, Renderer as aa, ColorManagementConfig as ab, ShadowsConfig as ac, RendererSettingsConfig as ad, DefaultGLProps as ae, GLProps as af, DefaultRendererProps as ag, CanvasSchedulerConfig as ah, RendererConfigExtended as ai, RendererProps as aj, CameraProps as ak, RenderProps as al, InjectState as am, FiberRoot as an, TrackedPromise as ao, Root as ap, AttachFnType as aq, AttachType as ar, Catalogue as as, Args as at, ArgsProp as au, InstanceProps as av, Instance as aw, HostConfig as ax, NonFunctionKeys as ay, Overwrite as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, R3FRenderTarget as s, ReconcilerRoot as t, RootExtension as w, R3FRenderer as y, Size as z };
1239
+ export { useStore as a$, useThree as b0, registerRootExtension as t, setRenderOverride as u, context as w };
1240
+ export type { EventHandlers as $, RenderCallback as A, Performance as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, RootState as H, InternalState as I, RootStore as J, Intersection as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Camera as U, VectorRepresentation as V, IntersectionEvent as W, XRManager as X, ThreeEvent as Y, DomEvent as Z, Events as _, MathRepresentation as a, FilterFunction as a0, ComputeFunction as a1, XRPointerConfig as a2, EventManager as a3, PointerCaptureTarget as a4, VisibilityEntry as a5, OffscreenCanvas$1 as a6, BaseRendererProps as a7, RendererFactory as a8, Renderer as a9, Mutable as aA, IsOptional as aB, IsAllOptional as aC, ThreeCamera as aD, Act as aE, Bridge as aF, SetBlock as aG, UnblockProps as aH, ObjectMap as aI, EquConfig as aJ, Disposable as aK, FrameNextState as aL, FrameState as aM, FrameNextCallback as aN, FrameCallback as aO, ThreeNamespace as aP, ThreeCore as aQ, OcclusionSupport as aR, WebGLSupport as aS, WebGPUSupport as aT, RendererSupport as aU, RendererProvider as aV, Register as aW, RegisteredRenderer as aX, ForRegisteredRenderer as aY, R3FRenderTarget as aZ, R3FRendererSupport as a_, ColorManagementConfig as aa, ShadowsConfig as ab, RendererSettingsConfig as ac, DefaultGLProps as ad, GLProps as ae, DefaultRendererProps as af, CanvasSchedulerConfig as ag, RendererConfigExtended as ah, RendererProps as ai, CameraProps as aj, RenderProps as ak, InjectState as al, FiberRoot as am, TrackedPromise as an, Root as ao, AttachFnType as ap, AttachType as aq, Catalogue as ar, Args as as, ArgsProp as at, InstanceProps as au, Instance as av, HostConfig as aw, NonFunctionKeys as ax, Overwrite as ay, Properties as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, ReconcilerRoot as s, RootExtension as v, R3FRenderer as x, Size as y, Viewport as z };
@@ -340,10 +340,14 @@ interface RendererProvider {
340
340
  }
341
341
 
342
342
  //* Register ==============================
343
- // The root entry can construct either renderer, so by default `state.renderer` is the union of
344
- // both and a WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. An app that
345
- // has decided on one renderer says so once, and every renderer-typed field follows -- `useThree`,
346
- // `useFrame`, `onCreated`, `useRenderTarget`, `state.internal.support`:
343
+ // The base RootState is typed for both renderers, so by default `state.renderer` is the union and a
344
+ // WebGPU-only member (`renderer.compute`, `renderer.backend`) needs a narrow. That base is what
345
+ // `@react-three/fiber/extension` (the entry for libraries) and the `RootState` type expose, so a
346
+ // library compiles for apps on either renderer.
347
+ //
348
+ // Apps rarely need this: each entry's hooks are already typed for the renderer it renders with
349
+ // (`@react-three/fiber` WebGPU, `/legacy` WebGL). Registering narrows the base types too, for code
350
+ // that goes through them (`/extension` hooks in an app, `RootState` annotations):
347
351
  //
348
352
  // declare module '@react-three/fiber' {
349
353
  // interface Register {
@@ -352,8 +356,7 @@ interface RendererProvider {
352
356
  // }
353
357
  //
354
358
  // Same pattern as `Register` in @react-three/tsl (and TanStack Router). Nothing registered means
355
- // the union, unchanged. The `/legacy` and `/webgpu` entries are the same thing decided by import
356
- // path; this is for apps on `@react-three/fiber` that want the narrowed types without changing it.
359
+ // the union, unchanged.
357
360
 
358
361
  /**
359
362
  * Augment this to type `RootState` for the renderer your app uses. Recognised keys:
@@ -1233,5 +1236,5 @@ declare function useThree<T = RootState>(selector?: (state: RootState) => T, equ
1233
1236
  */
1234
1237
  declare const context: React$1.Context<RootStore>;
1235
1238
 
1236
- export { useStore as a$, useThree as b0, registerRootExtension as u, setRenderOverride as v, context as x };
1237
- export type { Events as $, Viewport as A, RenderCallback as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, Performance as H, InternalState as I, RootState as J, RootStore as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Intersection as U, VectorRepresentation as V, Camera as W, XRManager as X, IntersectionEvent as Y, ThreeEvent as Z, DomEvent as _, MathRepresentation as a, EventHandlers as a0, FilterFunction as a1, ComputeFunction as a2, XRPointerConfig as a3, EventManager as a4, PointerCaptureTarget as a5, VisibilityEntry as a6, OffscreenCanvas$1 as a7, BaseRendererProps as a8, RendererFactory as a9, Properties as aA, Mutable as aB, IsOptional as aC, IsAllOptional as aD, ThreeCamera as aE, Act as aF, Bridge as aG, SetBlock as aH, UnblockProps as aI, ObjectMap as aJ, EquConfig as aK, Disposable as aL, FrameNextState as aM, FrameState as aN, FrameNextCallback as aO, FrameCallback as aP, ThreeNamespace as aQ, ThreeCore as aR, OcclusionSupport as aS, WebGLSupport as aT, WebGPUSupport as aU, RendererSupport as aV, RendererProvider as aW, Register as aX, RegisteredRenderer as aY, ForRegisteredRenderer as aZ, R3FRendererSupport as a_, Renderer as aa, ColorManagementConfig as ab, ShadowsConfig as ac, RendererSettingsConfig as ad, DefaultGLProps as ae, GLProps as af, DefaultRendererProps as ag, CanvasSchedulerConfig as ah, RendererConfigExtended as ai, RendererProps as aj, CameraProps as ak, RenderProps as al, InjectState as am, FiberRoot as an, TrackedPromise as ao, Root as ap, AttachFnType as aq, AttachType as ar, Catalogue as as, Args as at, ArgsProp as au, InstanceProps as av, Instance as aw, HostConfig as ax, NonFunctionKeys as ay, Overwrite as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, R3FRenderTarget as s, ReconcilerRoot as t, RootExtension as w, R3FRenderer as y, Size as z };
1239
+ export { useStore as a$, useThree as b0, registerRootExtension as t, setRenderOverride as u, context as w };
1240
+ export type { EventHandlers as $, RenderCallback as A, Performance as B, Color as C, Dpr as D, Euler as E, Frameloop as F, GeometryTransformProps as G, RootState as H, InternalState as I, RootStore as J, Intersection as K, Layers as L, MutableOrReadonlyParameters as M, NodeProps as N, Object3DMethod as O, PointerState as P, Quaternion as Q, RaycastableRepresentation as R, Subscription as S, TSLNodeInput as T, Camera as U, VectorRepresentation as V, IntersectionEvent as W, XRManager as X, ThreeEvent as Y, DomEvent as Z, Events as _, MathRepresentation as a, FilterFunction as a0, ComputeFunction as a1, XRPointerConfig as a2, EventManager as a3, PointerCaptureTarget as a4, VisibilityEntry as a5, OffscreenCanvas$1 as a6, BaseRendererProps as a7, RendererFactory as a8, Renderer as a9, Mutable as aA, IsOptional as aB, IsAllOptional as aC, ThreeCamera as aD, Act as aE, Bridge as aF, SetBlock as aG, UnblockProps as aH, ObjectMap as aI, EquConfig as aJ, Disposable as aK, FrameNextState as aL, FrameState as aM, FrameNextCallback as aN, FrameCallback as aO, ThreeNamespace as aP, ThreeCore as aQ, OcclusionSupport as aR, WebGLSupport as aS, WebGPUSupport as aT, RendererSupport as aU, RendererProvider as aV, Register as aW, RegisteredRenderer as aX, ForRegisteredRenderer as aY, R3FRenderTarget as aZ, R3FRendererSupport as a_, ColorManagementConfig as aa, ShadowsConfig as ab, RendererSettingsConfig as ac, DefaultGLProps as ad, GLProps as ae, DefaultRendererProps as af, CanvasSchedulerConfig as ag, RendererConfigExtended as ah, RendererProps as ai, CameraProps as aj, RenderProps as ak, InjectState as al, FiberRoot as am, TrackedPromise as an, Root as ao, AttachFnType as ap, AttachType as aq, Catalogue as ar, Args as as, ArgsProp as at, InstanceProps as au, Instance as av, HostConfig as aw, NonFunctionKeys as ax, Overwrite as ay, Properties as az, MathTypes as b, MathType as c, MathProps as d, Vector2 as e, Vector3 as f, Vector4 as g, Matrix3 as h, Matrix4 as i, EventProps as j, GeometryProps as k, ReactProps as l, ConstructorRepresentation as m, ElementProps as n, ThreeElement as o, ThreeToJSXElements as p, ThreeElementsOf as q, ElementOf as r, ReconcilerRoot as s, RootExtension as v, R3FRenderer as x, Size as y, Viewport as z };
@@ -0,0 +1,90 @@
1
+ import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
2
+ import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
3
+ import { H as RootState, I as InternalState, a8 as RendererFactory, a7 as BaseRendererProps, az as Properties } from './fiber.DQTSZ24m.js';
4
+ import { R as RenderTargetOptions, aU as CanvasProps } from './fiber.CjMAAsJy.js';
5
+
6
+ //* Renderer Props ========================================
7
+
8
+ type WebGPUDefaultProps = Omit<WebGPURendererParameters, 'canvas'> & BaseRendererProps
9
+
10
+ type WebGPUProps =
11
+ | RendererFactory<WebGPURenderer, WebGPUDefaultProps>
12
+ | Partial<Properties<WebGPURenderer> | WebGPURendererParameters>
13
+
14
+ // WebGPU doesn't have shadow maps in the same way
15
+ interface WebGPUShadowConfig {
16
+ shadows?: boolean // Simplified for WebGPU
17
+ }
18
+
19
+ //* WebGPU-specific Types ========================================
20
+
21
+ /** WebGPU renderer type - re-exported as R3FRenderer from @react-three/fiber/webgpu */
22
+ type WebGPUR3FRenderer = WebGPURenderer
23
+
24
+ /** WebGPU internal state with narrowed renderer type */
25
+ interface WebGPUInternalState extends Omit<InternalState, 'actualRenderer'> {
26
+ actualRenderer: WebGPURenderer
27
+ }
28
+
29
+ /**
30
+ * WebGPU-specific RootState with narrowed renderer type.
31
+ * Automatically used when importing from `@react-three/fiber/webgpu`.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * import { useThree } from '@react-three/fiber/webgpu'
36
+ *
37
+ * function MyComponent() {
38
+ * const { renderer } = useThree()
39
+ * // renderer is typed as WebGPURenderer
40
+ * renderer.compute(computePass)
41
+ * }
42
+ * ```
43
+ */
44
+ // `gl` is not narrowed: it keeps the base type (WebGLRenderer, for code written against it), so a
45
+ // WebGPURootState stays assignable to RootState and `useFrame((state: RootState) => ...)` still
46
+ // compiles where the hooks are WebGPU-typed. At runtime it aliases `renderer`; use that instead.
47
+ interface WebGPURootState extends Omit<RootState, 'renderer' | 'internal'> {
48
+ /** The WebGPU renderer instance */
49
+ renderer: WebGPURenderer
50
+ /** Internals with WebGPU renderer */
51
+ internal: WebGPUInternalState
52
+ }
53
+
54
+ /**
55
+ * @fileoverview WebGPU-narrowed hook and Canvas types, shared by the entries that render with WebGPU
56
+ *
57
+ * `@react-three/fiber` and `@react-three/fiber/webgpu` both render with WebGPURenderer. The core
58
+ * hooks are declared against the base RootState, whose `renderer` is the R3FRenderer union
59
+ * (WebGLRenderer included) so that libraries typed against it also compile for `/legacy` apps. On
60
+ * these entries that union is already resolved, so leaving it in place forced a cast for anything
61
+ * WebGPU-only:
62
+ *
63
+ * const renderer = useThree((s) => s.renderer)
64
+ * renderer.compute(node) // Property 'compute' does not exist on type 'R3FRenderer'
65
+ *
66
+ * The entries re-export the hooks below instead. Types only: the values are the core
67
+ * implementations untouched, so there is no runtime cost and no second code path to keep in sync.
68
+ * See https://github.com/pmndrs/react-three-fiber/issues/3851
69
+ */
70
+
71
+ /** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
72
+ type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
73
+ /** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
74
+ type UseFrameWebGPU = (callback?: FrameCallback<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
75
+ declare const useThree: UseThreeWebGPU;
76
+ declare const useFrame: UseFrameWebGPU;
77
+ /** `useRenderTarget` narrowed to the target a WebGPU renderer produces. */
78
+ declare const useRenderTarget: {
79
+ (options?: RenderTargetOptions): RenderTarget;
80
+ (size: number, options?: RenderTargetOptions): RenderTarget;
81
+ (width: number, height: number, options?: RenderTargetOptions): RenderTarget;
82
+ };
83
+ /** Canvas props on a WebGPU entry: `onCreated` receives `WebGPURootState`. */
84
+ type WebGPUCanvasProps = Omit<CanvasProps, 'onCreated'> & {
85
+ /** Callback after the canvas has rendered (but not yet committed); `state.renderer` is a `WebGPURenderer` */
86
+ onCreated?: (state: WebGPURootState) => void;
87
+ };
88
+
89
+ export { useFrame as a, useRenderTarget as b, useThree as u };
90
+ export type { UseThreeWebGPU as U, WebGPUCanvasProps as W, UseFrameWebGPU as c, WebGPURootState as d, WebGPUInternalState as e, WebGPUR3FRenderer as f, WebGPUProps as g, WebGPUDefaultProps as h, WebGPUShadowConfig as i };
@@ -1,7 +1,7 @@
1
1
  import * as React$1 from 'react';
2
2
  import { ReactNode, Component, RefObject, JSX } from 'react';
3
3
  import { Options } from 'react-use-measure';
4
- import { al as RenderProps, m as ConstructorRepresentation, aJ as ObjectMap, a8 as BaseRendererProps, a9 as RendererFactory, aA as Properties, I as InternalState, J as RootState, E as Euler$1, K as RootStore, a4 as EventManager, _ as DomEvent, aw as Instance, o as ThreeElement, as as Catalogue, ap as Root, am as InjectState, aR as ThreeCore, aG as Bridge, aI as UnblockProps, aL as Disposable, D as Dpr, aE as ThreeCamera, z as Size, aK as EquConfig } from './fiber.C_MFx7We.cjs';
4
+ import { ak as RenderProps, m as ConstructorRepresentation, aI as ObjectMap, a7 as BaseRendererProps, a8 as RendererFactory, az as Properties, I as InternalState, H as RootState, E as Euler$1, J as RootStore, a3 as EventManager, Z as DomEvent, av as Instance, o as ThreeElement, ar as Catalogue, ao as Root, al as InjectState, aQ as ThreeCore, aF as Bridge, aH as UnblockProps, aK as Disposable, D as Dpr, aD as ThreeCamera, y as Size, aJ as EquConfig } from './fiber.DQTSZ24m.mjs';
5
5
  import * as THREE from 'three';
6
6
  import { ColorRepresentation, Euler, Loader, RenderTargetOptions as RenderTargetOptions$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D } from 'three';
7
7
  import { WebGPURenderer } from 'three/webgpu';
@@ -2490,5 +2490,5 @@ declare function isOnce(value: unknown): value is {
2490
2490
  [ONCE]: any[] | true;
2491
2491
  };
2492
2492
 
2493
- export { useTexture as $, EnvironmentMap as H, EnvironmentCube as J, EnvironmentPortal as K, Environment as M, presetsObj as N, swapInteractivity as Q, removeInteractivity as S, createEvents as T, useInstanceHandle as U, useGraph as V, useLoader as X, IsObject as Y, addEffect as a, Texture as a0, useTextures as a5, useEnvironment as a7, extend as a8, reconciler as a9, diffProps as aA, applyProps as aB, is as aC, isOrthographicCamera as aD, isRef as aE, isColorRepresentation as aF, isObject3D as aG, isTexture as aH, isLayers as aI, isUniform as aJ, isVectorLike as aK, isCopyable as aL, hasConstructor as aM, FROM_REF as aN, fromRef as aP, isFromRef as aQ, ONCE as aR, once as aS, isOnce as aU, flushSync as aa, _roots as ab, unmountComponentAtNode as ac, createPortal as ad, Portal as ae, useIsomorphicLayoutEffect as af, useMutableCallback as ag, useBridge as ah, Block as ai, ErrorBoundary as aj, calculateDpr as ak, getUuidPrefix as al, updateCamera as am, updateFrustum as an, REACT_INTERNAL_PROPS as ao, findInitialRoot as ap, getRootState as aq, buildGraph as ar, dispose as as, getInstanceProps as at, prepare as au, invalidateInstance as av, RESERVED_PROPS as aw, resolve as ax, attach as ay, detach as az, addAfterEffect as b, createPointerEvents as c, addTail as d, advance as e, isRenderer as f, getPrimary as g, hasPrimary as h, invalidate as i, getPrimaryIds as j, createStore as k, getThree as l, hasThree as m, whenThree as n, registerPrimary as r, unregisterPrimary as u, waitForPrimary as w };
2494
- export type { LegacyInternalState as A, BackgroundConfig as B, CanvasProps as C, LegacyRootState as D, Extensions as E, EnvironmentProps as F, GlobalRenderCallback as G, InputLike as I, LoaderLike as L, PresetsType as O, PrimaryCanvasEntry as P, RenderTargetOptions as R, WebGLDefaultProps as W, MappedTextureType as Z, UseTextureOptions as _, TextureInput as a1, TextureResult as a2, DisposeOptions as a3, UseTexturesReturn as a4, EnvironmentLoaderProps as a6, FromRefMarker as aO, OnceValue as aT, GlobalEffectType as o, BackgroundProp as p, GLTFLike as q, LoaderInstance as s, InferLoadResult as t, LoaderResult as v, WebGLProps as x, WebGLShadowConfig as y, LegacyRenderer as z };
2493
+ export { Texture as $, EnvironmentMap as F, EnvironmentCube as H, EnvironmentPortal as J, Environment as K, presetsObj as M, swapInteractivity as O, removeInteractivity as Q, createEvents as S, useInstanceHandle as T, useGraph as U, useLoader as V, IsObject as X, useTexture as _, addEffect as a, useTextures as a4, useEnvironment as a6, extend as a7, reconciler as a8, flushSync as a9, applyProps as aA, is as aB, isOrthographicCamera as aC, isRef as aD, isColorRepresentation as aE, isObject3D as aF, isTexture as aG, isLayers as aH, isUniform as aI, isVectorLike as aJ, isCopyable as aK, hasConstructor as aL, FROM_REF as aM, fromRef as aO, isFromRef as aP, ONCE as aQ, once as aR, isOnce as aT, _roots as aa, unmountComponentAtNode as ab, createPortal as ac, Portal as ad, useIsomorphicLayoutEffect as ae, useMutableCallback as af, useBridge as ag, Block as ah, ErrorBoundary as ai, calculateDpr as aj, getUuidPrefix as ak, updateCamera as al, updateFrustum as am, REACT_INTERNAL_PROPS as an, findInitialRoot as ao, getRootState as ap, buildGraph as aq, dispose as ar, getInstanceProps as as, prepare as at, invalidateInstance as au, RESERVED_PROPS as av, resolve as aw, attach as ax, detach as ay, diffProps as az, addAfterEffect as b, createPointerEvents as c, addTail as d, advance as e, isRenderer as f, getPrimary as g, hasPrimary as h, invalidate as i, getPrimaryIds as j, createStore as k, getThree as l, hasThree as m, whenThree as n, registerPrimary as r, unregisterPrimary as u, waitForPrimary as w };
2494
+ export type { LegacyInternalState as A, BackgroundConfig as B, LegacyRootState as C, EnvironmentProps as D, Extensions as E, GlobalRenderCallback as G, InputLike as I, LoaderLike as L, PresetsType as N, PrimaryCanvasEntry as P, RenderTargetOptions as R, WebGLDefaultProps as W, MappedTextureType as Y, UseTextureOptions as Z, TextureInput as a0, TextureResult as a1, DisposeOptions as a2, UseTexturesReturn as a3, EnvironmentLoaderProps as a5, FromRefMarker as aN, OnceValue as aS, CanvasProps as aU, GlobalEffectType as o, BackgroundProp as p, GLTFLike as q, LoaderInstance as s, InferLoadResult as t, LoaderResult as v, WebGLProps as x, WebGLShadowConfig as y, LegacyRenderer as z };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const textureStaging = require('./fiber.DfiCufha.cjs');
4
+ const textureStaging = require('./fiber.BO8-26r8.cjs');
5
5
  const React = require('react');
6
6
  const useMeasure = require('react-use-measure');
7
7
  const itsFine = require('its-fine');
@@ -644,8 +644,9 @@ function applyProps(object, props) {
644
644
  for (const name in nextUniforms) {
645
645
  const uniform = nextUniforms[name];
646
646
  const targetUniform = uniforms[name];
647
- if (targetUniform) Object.assign(targetUniform, uniform);
648
- else {
647
+ if (targetUniform) {
648
+ Object.assign(targetUniform, uniform);
649
+ } else {
649
650
  const nextUniform = isUniform(uniform) ? uniform.clone() : new (getThree()).Uniform(uniform.value);
650
651
  uniforms[name] = nextUniform;
651
652
  }
@@ -964,7 +965,8 @@ function configureScheduler(store, canvasId, schedulerConfig, previous) {
964
965
  if (!rootId) {
965
966
  const newRootId = state.internal.pendingRootId ?? canvasId ?? scheduler$1.generateRootId();
966
967
  const unregisterRoot = scheduler$1.registerRoot(newRootId, {
967
- getState: () => store.getState(),
968
+ // The scheduler spreads this into each frame state; see stateForScheduler
969
+ getState: () => textureStaging.stateForScheduler(store.getState()),
968
970
  onError: (err) => store.getState().setError(err),
969
971
  frameloop: store.getState().frameloop,
970
972
  before: rootBefore,
@@ -1908,7 +1910,7 @@ function createRootConfiguration(store, canvas) {
1908
1910
  };
1909
1911
  }
1910
1912
 
1911
- const version = "10.0.0-alpha.5";
1913
+ const version = "10.0.0-alpha.6";
1912
1914
  const packageData = {
1913
1915
  version: version};
1914
1916
 
@@ -16530,7 +16532,7 @@ function CanvasImpl({
16530
16532
  if (rootEntry?.store) textureStaging.notifyRootExtensionsHmr(rootEntry.store);
16531
16533
  });
16532
16534
  };
16533
- if (typeof ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/fiber.DEF5PVV3.cjs', document.baseURI).href)) }) !== "undefined" && undefined) {
16535
+ if (typeof ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/fiber.TRm3lZ7I.cjs', document.baseURI).href)) }) !== "undefined" && undefined) {
16534
16536
  const hot = undefined;
16535
16537
  hot.on("vite:afterUpdate", handleHMR);
16536
16538
  return () => hot.off?.("vite:afterUpdate", handleHMR);
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Canvas$1 = require('../shared/fiber.DEF5PVV3.cjs');
4
+ const Canvas$1 = require('../shared/fiber.TRm3lZ7I.cjs');
5
5
  const webgpu = require('../chunks/webgpu.cjs');
6
- const textureStaging = require('../shared/fiber.DfiCufha.cjs');
6
+ const narrowed = require('../shared/fiber.BSXtODQl.cjs');
7
+ const textureStaging = require('../shared/fiber.BO8-26r8.cjs');
7
8
  const scheduler = require('@pmndrs/scheduler');
8
9
 
9
10
  function addTexture(set, key, value) {
@@ -54,10 +55,7 @@ const provider = {
54
55
  function createRoot(canvas) {
55
56
  return Canvas$1.createRoot(canvas, provider);
56
57
  }
57
- const useThree = textureStaging.useThree;
58
- const useFrame = textureStaging.useFrame;
59
- const useRenderTarget = Canvas$1.useRenderTarget;
60
- const Canvas = ((props) => /* @__PURE__ */ jsxRuntime.jsx(Canvas$1.Canvas, { ...props, provider }));
58
+ const Canvas = narrowed.asWebGPUCanvas((props) => /* @__PURE__ */ jsxRuntime.jsx(Canvas$1.Canvas, { ...props, provider }));
61
59
 
62
60
  exports.Environment = Canvas$1.Environment;
63
61
  exports.EnvironmentCube = Canvas$1.EnvironmentCube;
@@ -135,6 +133,9 @@ exports.useTexture = Canvas$1.useTexture;
135
133
  exports.useTextures = Canvas$1.useTextures;
136
134
  exports.waitForPrimary = Canvas$1.waitForPrimary;
137
135
  exports.whenThree = Canvas$1.whenThree;
136
+ exports.useFrame = narrowed.useFrame;
137
+ exports.useRenderTarget = narrowed.useRenderTarget;
138
+ exports.useThree = narrowed.useThree;
138
139
  exports.Block = textureStaging.Block;
139
140
  exports.ErrorBoundary = textureStaging.ErrorBoundary;
140
141
  exports.context = textureStaging.context;
@@ -151,6 +152,3 @@ exports.R3F_BUILD_LEGACY = R3F_BUILD_LEGACY;
151
152
  exports.R3F_BUILD_WEBGPU = R3F_BUILD_WEBGPU;
152
153
  exports.createRoot = createRoot;
153
154
  exports.createTextureOperations = createTextureOperations;
154
- exports.useFrame = useFrame;
155
- exports.useRenderTarget = useRenderTarget;
156
- exports.useThree = useThree;
@@ -1,14 +1,13 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
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 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, J as RootState, I as InternalState, a9 as RendererFactory, a8 as BaseRendererProps, aA as Properties, t as ReconcilerRoot } from '../shared/fiber.C_MFx7We.cjs';
4
- export { aF as Act, at as Args, au as ArgsProp, aq as AttachFnType, ar as AttachType, 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, s as R3FRenderTarget, a_ as R3FRendererSupport, aX as Register, aY as RegisteredRenderer, B as RenderCallback, al as RenderProps, aa as Renderer, ai as RendererConfigExtended, 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, 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, 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';
2
+ import * as React from 'react';
3
+ import * as _react_three_fiber from '@react-three/fiber';
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, H as RootState, s as ReconcilerRoot } from '../shared/fiber.DQTSZ24m.cjs';
5
+ export { aE as Act, as as Args, at as ArgsProp, ap as AttachFnType, aq as AttachType, a7 as BaseRendererProps, aF as Bridge, U as Camera, aj as CameraProps, ag as CanvasSchedulerConfig, ar as Catalogue, aa as ColorManagementConfig, a1 as ComputeFunction, ad as DefaultGLProps, af as DefaultRendererProps, aK as Disposable, Z as DomEvent, D as Dpr, aJ as EquConfig, $ as EventHandlers, a3 as EventManager, _ as Events, am as FiberRoot, a0 as FilterFunction, aY as ForRegisteredRenderer, aO as FrameCallback, aN as FrameNextCallback, aL as FrameNextState, aM as FrameState, F as Frameloop, ae as GLProps, aw as HostConfig, al as InjectState, av as Instance, au as InstanceProps, K as Intersection, W as IntersectionEvent, aC as IsAllOptional, aB as IsOptional, aA as Mutable, ax as NonFunctionKeys, aI as ObjectMap, aR as OcclusionSupport, a6 as OffscreenCanvas, ay as Overwrite, B as Performance, a4 as PointerCaptureTarget, P as PointerState, az as Properties, aZ as R3FRenderTarget, a_ as R3FRendererSupport, aW as Register, aX as RegisteredRenderer, A as RenderCallback, ak as RenderProps, a9 as Renderer, ah as RendererConfigExtended, a8 as RendererFactory, ai as RendererProps, aV as RendererProvider, ac as RendererSettingsConfig, aU as RendererSupport, ao as Root, v as RootExtension, J as RootStore, aG as SetBlock, ab as ShadowsConfig, y as Size, S as Subscription, aD as ThreeCamera, aQ as ThreeCore, Y as ThreeEvent, aP as ThreeNamespace, an as TrackedPromise, aH as UnblockProps, z as Viewport, a5 as VisibilityEntry, aS as WebGLSupport, aT as WebGPUSupport, X as XRManager, a2 as XRPointerConfig, w as context, t as registerRootExtension, u as setRenderOverride, a$ as useStore } from '../shared/fiber.DQTSZ24m.cjs';
6
+ export { B as BackgroundConfig, p as BackgroundProp, ah as Block, a2 as DisposeOptions, K as Environment, H as EnvironmentCube, a5 as EnvironmentLoaderProps, F as EnvironmentMap, J as EnvironmentPortal, D as EnvironmentProps, ai as ErrorBoundary, E as Extensions, aM as FROM_REF, aN as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, X as IsObject, A as LegacyInternalState, z as LegacyRenderer, C as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Y as MappedTextureType, aQ as ONCE, aS as OnceValue, ad as Portal, N as PresetsType, P as PrimaryCanvasEntry, an as REACT_INTERNAL_PROPS, av as RESERVED_PROPS, R as RenderTargetOptions, $ as Texture, a0 as TextureInput, a1 as TextureResult, Z as UseTextureOptions, a3 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, aa as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aA as applyProps, ax as attach, aq as buildGraph, aj as calculateDpr, S as createEvents, c as createPointerEvents, ac as createPortal, k as createStore, ay as detach, az as diffProps, ar as dispose, c as events, a7 as extend, ao as findInitialRoot, a9 as flushSync, aO as fromRef, as as getInstanceProps, g as getPrimary, j as getPrimaryIds, ap as getRootState, l as getThree, ak as getUuidPrefix, aL as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, au as invalidateInstance, aB as is, aE as isColorRepresentation, aK as isCopyable, aP as isFromRef, aH as isLayers, aF as isObject3D, aT as isOnce, aC as isOrthographicCamera, aD as isRef, f as isRenderer, aG as isTexture, aI as isUniform, aJ as isVectorLike, aR as once, at as prepare, M as presetsObj, a8 as reconciler, r as registerPrimary, Q as removeInteractivity, aw as resolve, O as swapInteractivity, ab as unmountComponentAtNode, u as unregisterPrimary, al as updateCamera, am as updateFrustum, ag as useBridge, a6 as useEnvironment, U as useGraph, T as useInstanceHandle, ae as useIsomorphicLayoutEffect, V as useLoader, af as useMutableCallback, _ as useTexture, a4 as useTextures, w as waitForPrimary, n as whenThree } from '../shared/fiber.34TOMPo3.cjs';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
- import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
9
+ export { W as CanvasProps, e as InternalState, f as R3FRenderer, d as RootState, c as UseFrameWebGPU, U as UseThreeWebGPU, W as WebGPUCanvasProps, h as WebGPUDefaultProps, g as WebGPUProps, i as WebGPUShadowConfig, a as useFrame, b as useRenderTarget, u as useThree } from '../shared/fiber.BFuGd7gN.cjs';
10
10
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
11
- import { JSX } from 'react';
12
11
  import 'zustand/traditional';
13
12
  import 'three/tsl';
14
13
  import 'react-use-measure';
@@ -109,89 +108,23 @@ interface TextureOperations {
109
108
  }
110
109
  declare function createTextureOperations(set: StoreApi<RootState>['setState']): TextureOperations;
111
110
 
112
- //* Renderer Props ========================================
113
-
114
- type WebGPUDefaultProps = Omit<WebGPURendererParameters, 'canvas'> & BaseRendererProps
115
-
116
- type WebGPUProps =
117
- | RendererFactory<WebGPURenderer, WebGPUDefaultProps>
118
- | Partial<Properties<WebGPURenderer> | WebGPURendererParameters>
119
-
120
- // WebGPU doesn't have shadow maps in the same way
121
- interface WebGPUShadowConfig {
122
- shadows?: boolean // Simplified for WebGPU
123
- }
124
-
125
- //* WebGPU-specific Types ========================================
126
-
127
- /** WebGPU renderer type - re-exported as R3FRenderer from @react-three/fiber/webgpu */
128
- type WebGPUR3FRenderer = WebGPURenderer
129
-
130
- /** WebGPU internal state with narrowed renderer type */
131
- interface WebGPUInternalState extends Omit<InternalState, 'actualRenderer'> {
132
- actualRenderer: WebGPURenderer
133
- }
134
-
135
- /**
136
- * WebGPU-specific RootState with narrowed renderer type.
137
- * Automatically used when importing from `@react-three/fiber/webgpu`.
138
- *
139
- * @example
140
- * ```tsx
141
- * import { useThree } from '@react-three/fiber/webgpu'
142
- *
143
- * function MyComponent() {
144
- * const { renderer } = useThree()
145
- * // renderer is typed as WebGPURenderer
146
- * renderer.compute(computePass)
147
- * }
148
- * ```
149
- */
150
- interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'> {
151
- /** @deprecated Use `renderer` instead */
152
- gl: WebGPURenderer
153
- /** The WebGPU renderer instance */
154
- renderer: WebGPURenderer
155
- /** Internals with WebGPU renderer */
156
- internal: WebGPUInternalState
157
- }
158
-
159
111
  declare const R3F_BUILD_LEGACY = false;
160
112
  declare const R3F_BUILD_WEBGPU = true;
161
113
  /**
162
114
  * Create a root that always constructs a WebGPURenderer.
163
115
  * @deprecated `@react-three/fiber/webgpu` is removed in the first v10 beta. Import `createRoot` from
164
- * `@react-three/fiber`, which renders with WebGPU.
116
+ * `@react-three/fiber`, which renders with WebGPU and has the same types.
165
117
  */
166
118
  declare function createRoot<TCanvas extends HTMLCanvasElement | OffscreenCanvas>(canvas: TCanvas): ReconcilerRoot<TCanvas>;
167
119
 
168
- /** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
169
- type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
170
- /** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
171
- type UseFrameWebGPU = (callback?: FrameCallback<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
172
- declare const useThree: UseThreeWebGPU;
173
- declare const useFrame: UseFrameWebGPU;
174
- /** `useRenderTarget` narrowed to the target this entry's renderer produces. */
175
- declare const useRenderTarget: {
176
- (options?: RenderTargetOptions): RenderTarget;
177
- (size: number, options?: RenderTargetOptions): RenderTarget;
178
- (width: number, height: number, options?: RenderTargetOptions): RenderTarget;
179
- };
180
-
181
- /** Canvas props on the WebGPU entry: `onCreated` receives `WebGPURootState`. */
182
- type WebGPUCanvasProps = Omit<CanvasProps, 'onCreated'> & {
183
- /** Callback after the canvas has rendered (but not yet committed); `state.renderer` is a `WebGPURenderer` */
184
- onCreated?: (state: WebGPURootState) => void;
185
- };
186
-
187
120
  /**
188
121
  * A DOM canvas which accepts threejs elements as children, rendered with WebGPU. `onCreated` is
189
122
  * typed against `WebGPURootState`.
190
123
  * @deprecated `@react-three/fiber/webgpu` is removed in the first v10 beta. Import `Canvas` from
191
- * `@react-three/fiber`, which renders with WebGPU, and register the renderer type for narrowed state.
124
+ * `@react-three/fiber`, which renders with WebGPU and has the same types.
192
125
  * @see https://docs.pmnd.rs/react-three-fiber/api/canvas
193
126
  */
194
- declare const Canvas: (props: WebGPUCanvasProps) => JSX.Element;
127
+ declare const Canvas: (props: _react_three_fiber.CanvasProps) => React.JSX.Element;
195
128
  /** Three.js constructors available as JSX elements on this entry. */
196
129
  type ThreeExports = typeof ThreeWebGPU;
197
130
  interface ThreeElements extends ThreeElementsOf$1<ThreeExports> {
@@ -203,5 +136,5 @@ declare module 'react' {
203
136
  }
204
137
  }
205
138
 
206
- export { BaseRendererProps, RootState as BaseRootState, Canvas, Color$1 as Color, ConstructorRepresentation, ElementOf$1 as ElementOf, ElementProps$1 as ElementProps, Euler$1 as Euler, EventProps$1 as EventProps, GeometryProps$1 as GeometryProps, GeometryTransformProps$1 as GeometryTransformProps, Layers$1 as Layers, MathProps$1 as MathProps, MathRepresentation$1 as MathRepresentation, MathType$1 as MathType, MathTypes$1 as MathTypes, Matrix3$1 as Matrix3, Matrix4$1 as Matrix4, MutableOrReadonlyParameters$1 as MutableOrReadonlyParameters, NodeProps$1 as NodeProps, Object3DMethod$1 as Object3DMethod, Properties, Quaternion$1 as Quaternion, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, RaycastableRepresentation$1 as RaycastableRepresentation, ReactProps$1 as ReactProps, webgpu_d as ReactThreeFiber, ReconcilerRoot, RenderTargetOptions, RendererFactory, TSLNodeInput$1 as TSLNodeInput, ThreeElement$1 as ThreeElement, ThreeElementsOf$1 as ThreeElementsOf, ThreeToJSXElements$1 as ThreeToJSXElements, Vector2$1 as Vector2, Vector3$1 as Vector3, Vector4$1 as Vector4, VectorRepresentation$1 as VectorRepresentation, createRoot, createTextureOperations, useFrame, useRenderTarget, useThree };
207
- export type { WebGPUCanvasProps as CanvasProps, WebGPUInternalState as InternalState, WebGPUR3FRenderer as R3FRenderer, WebGPURootState as RootState, TextureEntry, TextureNode, TextureOperations, ThreeElements, ThreeExports, UseFrameWebGPU, UseThreeWebGPU, WebGPUCanvasProps, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig };
139
+ export { RootState as BaseRootState, Canvas, Color$1 as Color, ConstructorRepresentation, ElementOf$1 as ElementOf, ElementProps$1 as ElementProps, Euler$1 as Euler, EventProps$1 as EventProps, GeometryProps$1 as GeometryProps, GeometryTransformProps$1 as GeometryTransformProps, Layers$1 as Layers, MathProps$1 as MathProps, MathRepresentation$1 as MathRepresentation, MathType$1 as MathType, MathTypes$1 as MathTypes, Matrix3$1 as Matrix3, Matrix4$1 as Matrix4, MutableOrReadonlyParameters$1 as MutableOrReadonlyParameters, NodeProps$1 as NodeProps, Object3DMethod$1 as Object3DMethod, Quaternion$1 as Quaternion, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, RaycastableRepresentation$1 as RaycastableRepresentation, ReactProps$1 as ReactProps, webgpu_d as ReactThreeFiber, ReconcilerRoot, TSLNodeInput$1 as TSLNodeInput, ThreeElement$1 as ThreeElement, ThreeElementsOf$1 as ThreeElementsOf, ThreeToJSXElements$1 as ThreeToJSXElements, Vector2$1 as Vector2, Vector3$1 as Vector3, Vector4$1 as Vector4, VectorRepresentation$1 as VectorRepresentation, createRoot, createTextureOperations };
140
+ export type { TextureEntry, TextureNode, TextureOperations, ThreeElements, ThreeExports };