@react-three/fiber 10.0.0-canary.87166dc → 10.0.0-canary.88b1ca7

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.3jeDXXYd.d.mts → fiber.34TOMPo3.d.cts} +10 -9
  17. package/dist/shared/fiber.BFuGd7gN.d.cts +90 -0
  18. package/dist/shared/{fiber.CsZ092z_.cjs → fiber.BO8-26r8.cjs} +124 -9
  19. package/dist/shared/fiber.BSXtODQl.cjs +14 -0
  20. package/dist/shared/fiber.Bll9fqKA.d.mts +90 -0
  21. package/dist/shared/{fiber.BC5FRLu-.mjs → fiber.BuWl08aJ.mjs} +91 -76
  22. package/dist/shared/{fiber.DlH05gco.mjs → fiber.C-3TIsF8.mjs} +119 -10
  23. package/dist/shared/{fiber.fR3DaJb1.d.cts → fiber.CjMAAsJy.d.ts} +10 -9
  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.B_KQAb3I.d.ts → fiber.Dy7Uz273.d.mts} +10 -9
  30. package/dist/shared/{fiber.BybcfIwy.cjs → fiber.TRm3lZ7I.cjs} +91 -76
  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
@@ -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.fR3DaJb1.cjs';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from '../shared/fiber.fR3DaJb1.cjs';
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 };
@@ -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.mjs';
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.mjs';
5
- import { C as CanvasProps, R as RenderTargetOptions } from '../shared/fiber.3jeDXXYd.mjs';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from '../shared/fiber.3jeDXXYd.mjs';
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.mjs';
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.mjs';
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.Dy7Uz273.mjs';
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.Bll9fqKA.mjs';
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 };
@@ -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.js';
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.js';
5
- import { C as CanvasProps, R as RenderTargetOptions } from '../shared/fiber.B_KQAb3I.js';
6
- export { B as BackgroundConfig, p as BackgroundProp, ai as Block, a3 as DisposeOptions, M as Environment, J as EnvironmentCube, a6 as EnvironmentLoaderProps, H as EnvironmentMap, K as EnvironmentPortal, F as EnvironmentProps, aj as ErrorBoundary, E as Extensions, aN as FROM_REF, aO as FromRefMarker, q as GLTFLike, o as GlobalEffectType, G as GlobalRenderCallback, t as InferLoadResult, I as InputLike, Y as IsObject, A as LegacyInternalState, z as LegacyRenderer, D as LegacyRootState, s as LoaderInstance, L as LoaderLike, v as LoaderResult, Z as MappedTextureType, aR as ONCE, aT as OnceValue, ae as Portal, O as PresetsType, P as PrimaryCanvasEntry, ao as REACT_INTERNAL_PROPS, aw as RESERVED_PROPS, a0 as Texture, a1 as TextureInput, a2 as TextureResult, _ as UseTextureOptions, a4 as UseTexturesReturn, W as WebGLDefaultProps, x as WebGLProps, y as WebGLShadowConfig, ab as _roots, b as addAfterEffect, a as addEffect, d as addTail, e as advance, aB as applyProps, ay as attach, ar as buildGraph, ak as calculateDpr, T as createEvents, c as createPointerEvents, ad as createPortal, k as createStore, az as detach, aA as diffProps, as as dispose, c as events, a8 as extend, ap as findInitialRoot, aa as flushSync, aP as fromRef, at as getInstanceProps, g as getPrimary, j as getPrimaryIds, aq as getRootState, l as getThree, al as getUuidPrefix, aM as hasConstructor, h as hasPrimary, m as hasThree, i as invalidate, av as invalidateInstance, aC as is, aF as isColorRepresentation, aL as isCopyable, aQ as isFromRef, aI as isLayers, aG as isObject3D, aU as isOnce, aD as isOrthographicCamera, aE as isRef, f as isRenderer, aH as isTexture, aJ as isUniform, aK as isVectorLike, aS as once, au as prepare, N as presetsObj, a9 as reconciler, r as registerPrimary, S as removeInteractivity, ax as resolve, Q as swapInteractivity, ac as unmountComponentAtNode, u as unregisterPrimary, am as updateCamera, an as updateFrustum, ah as useBridge, a7 as useEnvironment, V as useGraph, U as useInstanceHandle, af as useIsomorphicLayoutEffect, X as useLoader, ag as useMutableCallback, $ as useTexture, a5 as useTextures, w as waitForPrimary, n as whenThree } from '../shared/fiber.B_KQAb3I.js';
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.js';
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.js';
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.CjMAAsJy.js';
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.DuA4F8L5.js';
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 };
@@ -1,9 +1,10 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { G as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from '../shared/fiber.BC5FRLu-.mjs';
3
- export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, U as REACT_INTERNAL_PROPS, a1 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a6 as applyProps, a3 as attach, X as buildGraph, O as calculateDpr, y as createEvents, a as createPointerEvents, N as createPortal, l as createStore, a4 as detach, a5 as diffProps, Y as dispose, a as events, J as extend, V as findInitialRoot, L as flushSync, aj as fromRef, Z as getInstanceProps, h as getPrimary, k as getPrimaryIds, W as getRootState, m as getThree, Q as getUuidPrefix, ah as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, a0 as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, g as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, $ as prepare, t as presetsObj, K as reconciler, r as registerPrimary, x as removeInteractivity, a2 as resolve, v as swapInteractivity, M as unmountComponentAtNode, u as unregisterPrimary, R as updateCamera, S as updateFrustum, H as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from '../shared/fiber.BC5FRLu-.mjs';
2
+ import { c as createRoot$1, C as Canvas$1 } from '../shared/fiber.BuWl08aJ.mjs';
3
+ export { s as Environment, p as EnvironmentCube, E as EnvironmentMap, q as EnvironmentPortal, ah as FROM_REF, I as IsObject, ak as ONCE, P as Portal, S as REACT_INTERNAL_PROPS, a0 as RESERVED_PROPS, T as Texture, _ as _roots, d as addAfterEffect, b as addEffect, e as addTail, f as advance, a5 as applyProps, a2 as attach, W as buildGraph, N as calculateDpr, y as createEvents, a as createPointerEvents, M as createPortal, l as createStore, a3 as detach, a4 as diffProps, X as dispose, a as events, H as extend, U as findInitialRoot, K as flushSync, ai as fromRef, Y as getInstanceProps, h as getPrimary, k as getPrimaryIds, V as getRootState, m as getThree, O as getUuidPrefix, ag as hasConstructor, j as hasPrimary, n as hasThree, i as invalidate, $ as invalidateInstance, a6 as is, a9 as isColorRepresentation, af as isCopyable, aj as isFromRef, ac as isLayers, aa as isObject3D, am as isOnce, a7 as isOrthographicCamera, a8 as isRef, g as isRenderer, ab as isTexture, ad as isUniform, ae as isVectorLike, al as once, Z as prepare, t as presetsObj, J as reconciler, r as registerPrimary, x as removeInteractivity, a1 as resolve, v as swapInteractivity, L as unmountComponentAtNode, u as unregisterPrimary, Q as updateCamera, R as updateFrustum, G as useEnvironment, A as useGraph, z as useInstanceHandle, B as useLoader, D as useTexture, F as useTextures, w as waitForPrimary, o as whenThree } from '../shared/fiber.BuWl08aJ.mjs';
4
4
  import { webgpuSupport } from '../chunks/webgpu.mjs';
5
- import { a as useThree$1, b as useFrame$1 } from '../shared/fiber.DlH05gco.mjs';
6
- export { B as Block, E as ErrorBoundary, c as context, r as registerRootExtension, s as setRenderOverride, f as useBridge, d as useIsomorphicLayoutEffect, e as useMutableCallback, u as useStore } from '../shared/fiber.DlH05gco.mjs';
5
+ import { a as asWebGPUCanvas } from '../shared/fiber.DEWBFQJe.mjs';
6
+ export { b as useFrame, c as useRenderTarget, u as useThree } from '../shared/fiber.DEWBFQJe.mjs';
7
+ 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.C-3TIsF8.mjs';
7
8
  export { Scheduler, getScheduler } from '@pmndrs/scheduler';
8
9
 
9
10
  function addTexture(set, key, value) {
@@ -54,9 +55,6 @@ const provider = {
54
55
  function createRoot(canvas) {
55
56
  return createRoot$1(canvas, provider);
56
57
  }
57
- const useThree = useThree$1;
58
- const useFrame = useFrame$1;
59
- const useRenderTarget = useRenderTarget$1;
60
- const Canvas = ((props) => /* @__PURE__ */ jsx(Canvas$1, { ...props, provider }));
58
+ const Canvas = asWebGPUCanvas((props) => /* @__PURE__ */ jsx(Canvas$1, { ...props, provider }));
61
59
 
62
- export { Canvas, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, createRoot, createTextureOperations, useFrame, useRenderTarget, useThree };
60
+ export { Canvas, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, createRoot, createTextureOperations };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "10.0.0-canary.87166dc",
3
+ "version": "10.0.0-canary.88b1ca7",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",
package/readme.md CHANGED
@@ -37,7 +37,16 @@ Yes. It merely expresses Threejs in JSX, `<mesh />` dynamically turns into `new
37
37
 
38
38
  #### Does it support WebGPU?
39
39
 
40
- Yes. With minor changes in v9 and significant work in v10 WebGPU support is first class. We support all ThreeJS WebGPU features/Nodes and expand it with our own hooks and utilities.
40
+ Yes. In v10 it is the default: `<Canvas>` from `@react-three/fiber` renders with three's `WebGPURenderer`, which falls back to a WebGL2 backend where the browser has no WebGPU, and the hooks are typed for it. Node materials and TSL work out of the box, with our own hooks in [`@react-three/tsl`](https://github.com/pmndrs/react-three-fiber/tree/v10/packages/tsl). Scenes that need `WebGLRenderer` (GLSL `ShaderMaterial`s, `onBeforeCompile`, `postprocessing`) import from `@react-three/fiber/legacy`.
41
+
42
+ #### Upgrading to v10?
43
+
44
+ v10 is in alpha (`npm install @react-three/fiber@alpha`). Read the [migration guide](https://r3f.docs.pmnd.rs/next/migration/v10) and the [list of breaking changes](https://r3f.docs.pmnd.rs/next/migration/breaking-changes). The short version:
45
+
46
+ - `@react-three/fiber` renders with WebGPU; WebGL is `@react-three/fiber/legacy`, chosen by the import.
47
+ - `useThree`, `useFrame` and `onCreated` are typed for the import's renderer, so `state.renderer.compute(...)` needs no cast. Libraries that run on both renderers type against `@react-three/fiber/extension`.
48
+ - `state.gl` is `state.renderer` (deprecated), `state.clock` is gone (`state.elapsed`, `state.delta`), and `shadows` and the color props moved into `renderer={{ ... }}` / `gl={{ ... }}`.
49
+ - The TSL hooks live in `@react-three/tsl`; the `physics` frame phase runs on a fixed timestep.
41
50
 
42
51
  ### What does it look like?
43
52
 
@@ -1,48 +0,0 @@
1
- import { aO as FrameNextCallback } from './fiber.C_MFx7We.cjs';
2
- import { UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
3
-
4
- /**
5
- * Frame hook with phase-based ordering, priority, and FPS throttling.
6
- *
7
- * Always delivers full RootState — works both inside and outside Canvas context:
8
- * - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
9
- * - Outside Canvas: The job registers immediately but the callback is held until a
10
- * Canvas adopts it, then runs with full RootState. For hostless / standalone
11
- * frame loops with no Canvas, use `@pmndrs/scheduler` directly.
12
- *
13
- * Returns a controls object for manual stepping, pausing, and resuming.
14
- *
15
- * @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
16
- * @param priorityOrOptions - Either a priority number (backwards compat) or options object
17
- * @returns Controls object with step(), stepAll(), invalidate(), pause(), resume(), isPaused, id, rootId, scheduler
18
- *
19
- * @example
20
- * // Simple priority (backwards compat)
21
- * useFrame((state, delta) => { ... }, 5)
22
- *
23
- * @example
24
- * // With phase-based ordering
25
- * useFrame((state, delta) => { ... }, { phase: 'physics' })
26
- *
27
- * @example
28
- * // Outside Canvas - callback waits for a Canvas, then always has full state
29
- * function UI() {
30
- * useFrame((state, delta) => { syncUI(state.camera) });
31
- * return <button>...</button>;
32
- * }
33
- *
34
- * @example
35
- * // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
36
- * import { getScheduler } from '@pmndrs/scheduler'
37
- * getScheduler().register((state, delta) => { updateGame(delta) })
38
- *
39
- * @example
40
- * // Scheduler-only access (no callback)
41
- * const { scheduler } = useFrame()
42
- * scheduler.pauseJob('some-job-id')
43
- *
44
- * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
45
- */
46
- declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
47
-
48
- export { useFrame as u };
@@ -1,48 +0,0 @@
1
- import { aO as FrameNextCallback } from './fiber.C_MFx7We.mjs';
2
- import { UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
3
-
4
- /**
5
- * Frame hook with phase-based ordering, priority, and FPS throttling.
6
- *
7
- * Always delivers full RootState — works both inside and outside Canvas context:
8
- * - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
9
- * - Outside Canvas: The job registers immediately but the callback is held until a
10
- * Canvas adopts it, then runs with full RootState. For hostless / standalone
11
- * frame loops with no Canvas, use `@pmndrs/scheduler` directly.
12
- *
13
- * Returns a controls object for manual stepping, pausing, and resuming.
14
- *
15
- * @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
16
- * @param priorityOrOptions - Either a priority number (backwards compat) or options object
17
- * @returns Controls object with step(), stepAll(), invalidate(), pause(), resume(), isPaused, id, rootId, scheduler
18
- *
19
- * @example
20
- * // Simple priority (backwards compat)
21
- * useFrame((state, delta) => { ... }, 5)
22
- *
23
- * @example
24
- * // With phase-based ordering
25
- * useFrame((state, delta) => { ... }, { phase: 'physics' })
26
- *
27
- * @example
28
- * // Outside Canvas - callback waits for a Canvas, then always has full state
29
- * function UI() {
30
- * useFrame((state, delta) => { syncUI(state.camera) });
31
- * return <button>...</button>;
32
- * }
33
- *
34
- * @example
35
- * // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
36
- * import { getScheduler } from '@pmndrs/scheduler'
37
- * getScheduler().register((state, delta) => { updateGame(delta) })
38
- *
39
- * @example
40
- * // Scheduler-only access (no callback)
41
- * const { scheduler } = useFrame()
42
- * scheduler.pauseJob('some-job-id')
43
- *
44
- * @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
45
- */
46
- declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
47
-
48
- export { useFrame as u };