@react-three/fiber 10.0.0-canary.ca63ccd → 10.0.0-canary.da7a768
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2004 -1843
- package/dist/index.d.cts +28 -11
- package/dist/index.d.mts +28 -11
- package/dist/index.d.ts +28 -11
- package/dist/index.mjs +2006 -1845
- package/dist/legacy.cjs +2000 -1844
- package/dist/legacy.d.cts +27 -14
- package/dist/legacy.d.mts +27 -14
- package/dist/legacy.d.ts +27 -14
- package/dist/legacy.mjs +2002 -1846
- package/dist/webgpu/index.cjs +2293 -2372
- package/dist/webgpu/index.d.cts +62 -65
- package/dist/webgpu/index.d.mts +62 -65
- package/dist/webgpu/index.d.ts +62 -65
- package/dist/webgpu/index.mjs +2298 -2377
- package/package.json +3 -3
- package/readme.md +1 -1
- package/react-reconciler/constants.d.ts +0 -7
- package/react-reconciler/constants.js +0 -1
- package/react-reconciler/index.d.ts +0 -1044
- package/react-reconciler/index.js +0 -208
package/dist/webgpu/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as three_examples_jsm_inspector_Inspector_js from 'three/examples/jsm/inspector/Inspector.js';
|
|
1
2
|
import * as three_webgpu from 'three/webgpu';
|
|
2
3
|
import { CubeRenderTarget, RenderTarget, WebGPURenderer, Node, StorageTexture, Data3DTexture, CanvasTarget, ShaderNodeObject, Euler as Euler$2, Color as Color$2, ColorRepresentation as ColorRepresentation$1, Layers as Layers$1, Raycaster, Intersection as Intersection$1, BufferGeometry, Matrix4 as Matrix4$1, Quaternion as Quaternion$1, Vector2 as Vector2$1, Vector3 as Vector3$1, Vector4 as Vector4$1, Matrix3 as Matrix3$1, Loader as Loader$1, ColorSpace, Texture as Texture$1, CubeTexture, Scene, Object3D, Frustum, OrthographicCamera, WebGPURendererParameters } from 'three/webgpu';
|
|
3
4
|
import { Inspector } from 'three/addons/inspector/Inspector.js';
|
|
@@ -11,7 +12,6 @@ import { FrameTimingState, FrameCallback as FrameCallback$1, SchedulerApi, UseFr
|
|
|
11
12
|
export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
|
|
12
13
|
import { Options } from 'react-use-measure';
|
|
13
14
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
14
|
-
import { ThreeElement as ThreeElement$1, Euler as Euler$3 } from '@react-three/fiber';
|
|
15
15
|
import { GroundedSkybox } from 'three/examples/jsm/objects/GroundedSkybox.js';
|
|
16
16
|
|
|
17
17
|
function _mergeNamespaces(n, m) {
|
|
@@ -41,6 +41,8 @@ function _mergeNamespaces(n, m) {
|
|
|
41
41
|
declare const R3F_BUILD_LEGACY = false;
|
|
42
42
|
declare const R3F_BUILD_WEBGPU = true;
|
|
43
43
|
|
|
44
|
+
/** Lazily load the three Inspector. Keeps it out of the eager module graph — see note above. */
|
|
45
|
+
declare function loadInspector(): Promise<typeof three_examples_jsm_inspector_Inspector_js.Inspector>;
|
|
44
46
|
declare const WebGLRenderer: {
|
|
45
47
|
new (): {};
|
|
46
48
|
};
|
|
@@ -62,7 +64,8 @@ var THREE = /*#__PURE__*/_mergeNamespaces({
|
|
|
62
64
|
WebGLRenderTarget: WebGLRenderTarget,
|
|
63
65
|
WebGLRenderer: WebGLRenderer,
|
|
64
66
|
WebGLRendererParameters: WebGLRendererParameters,
|
|
65
|
-
WebGLShadowMap: WebGLShadowMap
|
|
67
|
+
WebGLShadowMap: WebGLShadowMap,
|
|
68
|
+
loadInspector: loadInspector
|
|
66
69
|
}, [three_webgpu]);
|
|
67
70
|
|
|
68
71
|
//* Utility Types ==============================
|
|
@@ -1638,9 +1641,9 @@ type EnvironmentProps = {
|
|
|
1638
1641
|
blur?: number;
|
|
1639
1642
|
backgroundBlurriness?: number;
|
|
1640
1643
|
backgroundIntensity?: number;
|
|
1641
|
-
backgroundRotation?: Euler
|
|
1644
|
+
backgroundRotation?: Euler;
|
|
1642
1645
|
environmentIntensity?: number;
|
|
1643
|
-
environmentRotation?: Euler
|
|
1646
|
+
environmentRotation?: Euler;
|
|
1644
1647
|
map?: Texture$1;
|
|
1645
1648
|
preset?: PresetsType;
|
|
1646
1649
|
scene?: Scene | React$1.RefObject<Scene>;
|
|
@@ -1724,7 +1727,7 @@ declare function EnvironmentCube({ background, scene, blur, backgroundBlurriness
|
|
|
1724
1727
|
declare function EnvironmentPortal({ children, near, far, resolution, frames, map, background, blur, backgroundBlurriness, backgroundIntensity, backgroundRotation, environmentIntensity, environmentRotation, scene, files, path, preset, extensions, }: EnvironmentProps): react_jsx_runtime.JSX.Element;
|
|
1725
1728
|
declare module '@react-three/fiber' {
|
|
1726
1729
|
interface ThreeElements {
|
|
1727
|
-
groundProjectedEnvImpl: ThreeElement
|
|
1730
|
+
groundProjectedEnvImpl: ThreeElement<typeof GroundedSkybox>;
|
|
1728
1731
|
}
|
|
1729
1732
|
}
|
|
1730
1733
|
/**
|
|
@@ -1824,6 +1827,24 @@ declare module '@react-three/fiber' {
|
|
|
1824
1827
|
*/
|
|
1825
1828
|
declare function Environment(props: EnvironmentProps): react_jsx_runtime.JSX.Element;
|
|
1826
1829
|
|
|
1830
|
+
/**
|
|
1831
|
+
* Moves every trace of interactivity from one object to its replacement, for reconstruction.
|
|
1832
|
+
*
|
|
1833
|
+
* When `args` or a `primitive`'s `object` changes, R3F builds a new three object and keeps the same
|
|
1834
|
+
* instance. Removing the old object from the interaction state and registering the new one from
|
|
1835
|
+
* scratch makes events *work* again (#3778), but it forgets what was in flight: a pointer resting on
|
|
1836
|
+
* the object fires a second `onPointerEnter` without ever having left, and an active pointer capture
|
|
1837
|
+
* is dropped mid-drag. Rewriting the references instead keeps the interaction continuous across a
|
|
1838
|
+
* swap the user never asked to see (#3744).
|
|
1839
|
+
*
|
|
1840
|
+
* Captures are re-keyed rather than released, so the DOM-level capture on `captureData.target` is
|
|
1841
|
+
* left alone — releasing and re-acquiring it is precisely the glitch being avoided.
|
|
1842
|
+
*
|
|
1843
|
+
* Visibility handlers are deliberately not transferred: that registry is keyed by `object.uuid`, so
|
|
1844
|
+
* the replacement re-registers itself through `applyProps`. The old entry is dropped here so it
|
|
1845
|
+
* cannot outlive the object it described.
|
|
1846
|
+
*/
|
|
1847
|
+
declare function swapInteractivity(store: RootStore, object: Object3D, newObject: Object3D): void;
|
|
1827
1848
|
declare function removeInteractivity(store: RootStore, object: Object3D): void;
|
|
1828
1849
|
declare function createEvents(store: RootStore): {
|
|
1829
1850
|
handlePointer: (name: string) => (event: DomEvent) => void;
|
|
@@ -1851,50 +1872,6 @@ declare namespace useLoader {
|
|
|
1851
1872
|
var loader: typeof getLoader;
|
|
1852
1873
|
}
|
|
1853
1874
|
|
|
1854
|
-
/**
|
|
1855
|
-
* Frame hook with phase-based ordering, priority, and FPS throttling.
|
|
1856
|
-
*
|
|
1857
|
-
* Always delivers full RootState — works both inside and outside Canvas context:
|
|
1858
|
-
* - Inside Canvas: Full RootState (renderer, scene, camera, etc.)
|
|
1859
|
-
* - Outside Canvas: The job registers immediately but the callback is held until a
|
|
1860
|
-
* Canvas adopts it, then runs with full RootState. For hostless / standalone
|
|
1861
|
-
* frame loops with no Canvas, use `@pmndrs/scheduler` directly.
|
|
1862
|
-
*
|
|
1863
|
-
* Returns a controls object for manual stepping, pausing, and resuming.
|
|
1864
|
-
*
|
|
1865
|
-
* @param callback - Function called each frame with (state, delta). Optional if you only need scheduler access.
|
|
1866
|
-
* @param priorityOrOptions - Either a priority number (backwards compat) or options object
|
|
1867
|
-
* @returns Controls object with step(), stepAll(), pause(), resume(), isPaused, id, scheduler
|
|
1868
|
-
*
|
|
1869
|
-
* @example
|
|
1870
|
-
* // Simple priority (backwards compat)
|
|
1871
|
-
* useFrame((state, delta) => { ... }, 5)
|
|
1872
|
-
*
|
|
1873
|
-
* @example
|
|
1874
|
-
* // With phase-based ordering
|
|
1875
|
-
* useFrame((state, delta) => { ... }, { phase: 'physics' })
|
|
1876
|
-
*
|
|
1877
|
-
* @example
|
|
1878
|
-
* // Outside Canvas - callback waits for a Canvas, then always has full state
|
|
1879
|
-
* function UI() {
|
|
1880
|
-
* useFrame((state, delta) => { syncUI(state.camera) });
|
|
1881
|
-
* return <button>...</button>;
|
|
1882
|
-
* }
|
|
1883
|
-
*
|
|
1884
|
-
* @example
|
|
1885
|
-
* // Hostless / standalone loop (no Canvas) - use @pmndrs/scheduler directly
|
|
1886
|
-
* import { getScheduler } from '@pmndrs/scheduler'
|
|
1887
|
-
* getScheduler().register((state, delta) => { updateGame(delta) })
|
|
1888
|
-
*
|
|
1889
|
-
* @example
|
|
1890
|
-
* // Scheduler-only access (no callback)
|
|
1891
|
-
* const { scheduler } = useFrame()
|
|
1892
|
-
* scheduler.pauseJob('some-job-id')
|
|
1893
|
-
*
|
|
1894
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#useframe
|
|
1895
|
-
*/
|
|
1896
|
-
declare function useFrame(callback?: FrameNextCallback, priorityOrOptions?: number | UseFrameNextOptions): FrameNextControls;
|
|
1897
|
-
|
|
1898
1875
|
declare const IsObject: (url: unknown) => url is Record<string, string>;
|
|
1899
1876
|
type TextureArray<T> = T extends string[] ? Texture$1[] : never;
|
|
1900
1877
|
type TextureRecord<T> = T extends Record<string, string> ? {
|
|
@@ -2080,11 +2057,6 @@ declare function useRenderTarget(width: number, height: number, options?: Render
|
|
|
2080
2057
|
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usestore
|
|
2081
2058
|
*/
|
|
2082
2059
|
declare function useStore(): RootStore;
|
|
2083
|
-
/**
|
|
2084
|
-
* Accesses R3F's internal state, containing renderer, canvas, scene, etc.
|
|
2085
|
-
* @see https://docs.pmnd.rs/react-three-fiber/api/hooks#usethree
|
|
2086
|
-
*/
|
|
2087
|
-
declare function useThree<T = RootState>(selector?: (state: RootState) => T, equalityFn?: <T>(state: T, newState: T) => boolean): T;
|
|
2088
2060
|
/**
|
|
2089
2061
|
* Exposes an object's {@link Instance}.
|
|
2090
2062
|
* @see https://docs.pmnd.rs/react-three-fiber/api/additional-exports#useInstanceHandle
|
|
@@ -3249,11 +3221,6 @@ declare function flushSync<R>(fn: () => R): R;
|
|
|
3249
3221
|
declare const context: React$1.Context<RootStore>;
|
|
3250
3222
|
declare const createStore: (invalidate: (state?: RootState, frames?: number, stackFrames?: boolean) => void, advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState, frame?: XRFrame) => void) => RootStore;
|
|
3251
3223
|
|
|
3252
|
-
/**
|
|
3253
|
-
* Safely flush async effects when testing, simulating a legacy root.
|
|
3254
|
-
* @deprecated Import from React instead. import { act } from 'react'
|
|
3255
|
-
*/
|
|
3256
|
-
declare const act: typeof React$1.act;
|
|
3257
3224
|
/**
|
|
3258
3225
|
* An SSR-friendly useLayoutEffect.
|
|
3259
3226
|
*
|
|
@@ -3821,9 +3788,12 @@ declare function useUniforms<T extends UniformInputRecord>(uniforms: T): Uniform
|
|
|
3821
3788
|
declare function useUniforms<T extends UniformInputRecord>(uniforms: T, scope: string): UniformsWithUtils<UniformRecord<UniformNode>>;
|
|
3822
3789
|
/**
|
|
3823
3790
|
* Global rebuildUniforms function for HMR integration.
|
|
3824
|
-
*
|
|
3791
|
+
* Invalidates cached uniforms and increments _hmrVersion to trigger re-creation.
|
|
3825
3792
|
* Call this when HMR is detected to refresh all uniform creators.
|
|
3826
3793
|
*
|
|
3794
|
+
* Resolves to the primary store so shared TSL resources rebuild on the
|
|
3795
|
+
* authoritative store.
|
|
3796
|
+
*
|
|
3827
3797
|
* @param store - The R3F store (from useStore or context)
|
|
3828
3798
|
* @param scope - Optional scope to rebuild ('root' for root only, string for specific scope, undefined for all)
|
|
3829
3799
|
*/
|
|
@@ -3907,9 +3877,12 @@ declare function useNodes<T extends Record<string, TSLNodeLike>>(creator: NodeCr
|
|
|
3907
3877
|
declare function useNodes<T extends Record<string, TSLNodeLike>>(creator: NodeCreator<T>, scope: string): NodesWithUtils<T>;
|
|
3908
3878
|
/**
|
|
3909
3879
|
* Global rebuildNodes function for HMR integration.
|
|
3910
|
-
*
|
|
3880
|
+
* Invalidates cached nodes and increments _hmrVersion to trigger re-creation.
|
|
3911
3881
|
* Call this when HMR is detected to refresh all node creators.
|
|
3912
3882
|
*
|
|
3883
|
+
* Resolves to the primary store so shared TSL resources rebuild on the
|
|
3884
|
+
* authoritative store.
|
|
3885
|
+
*
|
|
3913
3886
|
* @param store - The R3F store (from useStore or context)
|
|
3914
3887
|
* @param scope - Optional scope to rebuild ('root' for root only, string for specific scope, undefined for all)
|
|
3915
3888
|
*/
|
|
@@ -3986,9 +3959,12 @@ declare function useBuffers<T extends Record<string, BufferLike>>(creator: Buffe
|
|
|
3986
3959
|
declare function useBuffers<T extends Record<string, BufferLike>>(creator: BufferCreator<T>, scope: string): BuffersWithUtils<T>;
|
|
3987
3960
|
/**
|
|
3988
3961
|
* Global rebuildBuffers function for HMR integration.
|
|
3989
|
-
*
|
|
3962
|
+
* Invalidates cached buffers and increments _hmrVersion to trigger re-creation.
|
|
3990
3963
|
* Call this when HMR is detected to refresh all buffer creators.
|
|
3991
3964
|
*
|
|
3965
|
+
* Resolves to the primary store so shared TSL resources rebuild on the
|
|
3966
|
+
* authoritative store.
|
|
3967
|
+
*
|
|
3992
3968
|
* @param store - The R3F store (from useStore or context)
|
|
3993
3969
|
* @param scope - Optional scope to rebuild ('root' for root only, string for specific scope, undefined for all)
|
|
3994
3970
|
*/
|
|
@@ -4020,9 +3996,12 @@ declare function useGPUStorage<T extends Record<string, StorageLike>>(creator: S
|
|
|
4020
3996
|
declare function useGPUStorage<T extends Record<string, StorageLike>>(creator: StorageCreator<T>, scope: string): StorageWithUtils<T>;
|
|
4021
3997
|
/**
|
|
4022
3998
|
* Global rebuildStorage function for HMR integration.
|
|
4023
|
-
*
|
|
3999
|
+
* Invalidates cached storage and increments _hmrVersion to trigger re-creation.
|
|
4024
4000
|
* Call this when HMR is detected to refresh all storage creators.
|
|
4025
4001
|
*
|
|
4002
|
+
* Resolves to the primary store so shared TSL resources rebuild on the
|
|
4003
|
+
* authoritative store.
|
|
4004
|
+
*
|
|
4026
4005
|
* @param store - The R3F store (from useStore or context)
|
|
4027
4006
|
* @param scope - Optional scope to rebuild ('root' for root only, string for specific scope, undefined for all)
|
|
4028
4007
|
*/
|
|
@@ -4139,5 +4118,23 @@ interface WebGPURootState extends Omit<RootState, 'renderer' | 'gl' | 'internal'
|
|
|
4139
4118
|
internal: WebGPUInternalState
|
|
4140
4119
|
}
|
|
4141
4120
|
|
|
4142
|
-
|
|
4143
|
-
|
|
4121
|
+
/**
|
|
4122
|
+
* @fileoverview WebGPU entry point - WebGPU only, no legacy WebGL
|
|
4123
|
+
*
|
|
4124
|
+
* This entry point is for apps that want to use ONLY WebGPURenderer.
|
|
4125
|
+
* Includes WebGPU-specific hooks (useUniforms, useNodes, useTextures).
|
|
4126
|
+
* Auto-extends THREE with WebGPU node materials (MeshBasicNodeMaterial, etc.)
|
|
4127
|
+
*
|
|
4128
|
+
* Usage:
|
|
4129
|
+
* import { Canvas, useFrame, useUniforms } from '@react-three/fiber/webgpu'
|
|
4130
|
+
*/
|
|
4131
|
+
|
|
4132
|
+
/** `useThree` narrowed to WebGPU state — `state.renderer` is a `WebGPURenderer`. */
|
|
4133
|
+
type UseThreeWebGPU = <T = WebGPURootState>(selector?: (state: WebGPURootState) => T, equalityFn?: <U>(state: U, newState: U) => boolean) => T;
|
|
4134
|
+
/** `useFrame` narrowed to WebGPU state — the callback's `state.renderer` is a `WebGPURenderer`. */
|
|
4135
|
+
type UseFrameWebGPU = (callback?: FrameCallback$1<WebGPURootState>, priorityOrOptions?: number | UseFrameNextOptions) => FrameNextControls;
|
|
4136
|
+
declare const useThree: UseThreeWebGPU;
|
|
4137
|
+
declare const useFrame: UseFrameWebGPU;
|
|
4138
|
+
|
|
4139
|
+
export { Block, Canvas, Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal, ErrorBoundary, FROM_REF, IsObject, ONCE, Portal, R3F_BUILD_LEGACY, R3F_BUILD_WEBGPU, REACT_INTERNAL_PROPS, RESERVED_PROPS, three_d as ReactThreeFiber, Texture, _roots, addAfterEffect, addEffect, addTail, advance, applyProps, attach, buildGraph, calculateDpr, clearNodeScope, clearRootNodes, clearRootUniforms, clearScope, context, createEvents, createPointerEvents, createPortal, createRoot, createScopedStore, createStore, createTextureOperations, detach, diffProps, dispose, createPointerEvents as events, extend, findInitialRoot, flushSync, fromRef, getInstanceProps, getPrimary, getPrimaryIds, getRootState, getUuidPrefix, hasConstructor, hasPrimary, invalidate, invalidateInstance, is, isColorRepresentation, isCopyable, isFromRef, isObject3D, isOnce, isOrthographicCamera, isRef, isRenderer, isTexture, isVectorLike, once, prepare, presetsObj, rebuildAllBuffers, rebuildAllNodes, rebuildAllStorage, rebuildAllUniforms, reconciler, registerPrimary, removeInteractivity, removeNodes, removeUniforms, resolve, swapInteractivity, unmountComponentAtNode, unregisterPrimary, updateCamera, updateFrustum, useBridge, useBuffers, useEnvironment, useFrame, useGPUStorage, useGraph, useInstanceHandle, useIsomorphicLayoutEffect, useLoader, useLocalNodes, useMutableCallback, useNodes, useRenderPipeline, useRenderTarget, useStore, useTexture, useTextures, useThree, useUniform, useUniforms, waitForPrimary };
|
|
4140
|
+
export type { Act, Args, ArgsProp, AttachFnType, AttachType, BackgroundConfig, BackgroundProp, BaseRendererProps, Bridge, BufferCreator, BufferLike, BufferRecord, BufferStore, BuffersWithUtils, Camera, CameraProps, CanvasProps, CanvasSchedulerConfig, Catalogue, ClearBuffersFn, ClearNodesFn, ClearStorageFn, ClearUniformsFn, Color, ColorManagementConfig, ComputeFunction, ConstructorRepresentation, CreatorState, DefaultGLProps, DefaultRendererProps, Disposable, DisposeBuffersFn, DisposeOptions, DisposeStorageFn, DomEvent, Dpr, ElementProps, EnvironmentLoaderProps, EnvironmentProps, EquConfig, Euler, EventHandlers, EventManager, EventProps, Events, Extensions, FiberRoot, FilterFunction, FrameCallback, FrameNextCallback, FrameNextState, FrameState, Frameloop, GLProps, GLTFLike, GeometryProps, GeometryTransformProps, GlobalEffectType, GlobalRenderCallback, HostConfig, InferLoadResult, InjectState, InputLike, Instance, InstanceProps, WebGPUInternalState as InternalState, Intersection, IntersectionEvent, IsAllOptional, IsOptional, Layers, LegacyInternalState, LegacyRenderer, LegacyRootState, LoaderInstance, LoaderLike, LoaderResult, LocalNodeCreator, MappedTextureType, MathProps, MathRepresentation, MathType, MathTypes, Matrix3, Matrix4, Mutable, MutableOrReadonlyParameters, NodeCreator, NodeProps, NodeRecord, NodesWithUtils, NonFunctionKeys, ObjectMap, OffscreenCanvas$1 as OffscreenCanvas, Overwrite, Performance, PointerCaptureTarget, PointerState, PresetsType, PrimaryCanvasEntry, Properties, Quaternion, WebGPUR3FRenderer as R3FRenderer, RaycastableRepresentation, ReactProps, RebuildBuffersFn, RebuildNodesFn, RebuildStorageFn, RebuildUniformsFn, ReconcilerRoot, RemoveBuffersFn, RemoveNodesFn, RemoveStorageFn, RemoveUniformsFn, RenderCallback, RenderProps, RenderTargetOptions, Renderer, RendererConfigExtended, RendererFactory, RendererProps, Root, WebGPURootState as RootState, RootStore, ScopedStoreType, SetBlock, Size, StorageCreator, StorageLike, StorageRecord, StorageStore, StorageWithUtils, Subscription, TSLNode, TSLNodeInput, TextureEntry, TextureInput, TextureNode, TextureOperations, TextureResult, ThreeCamera, ThreeElement, ThreeElements, ThreeElementsImpl, ThreeEvent, ThreeExports, ThreeToJSXElements, UnblockProps, UniformCreator, UniformValue, UniformsWithUtils, UseFrameWebGPU, UseTextureOptions, UseTexturesReturn, UseThreeWebGPU, Vector2, Vector3, Vector4, VectorRepresentation, Viewport, VisibilityEntry, WebGLDefaultProps, WebGLProps, WebGLShadowConfig, WebGPUDefaultProps, WebGPUProps, WebGPUShadowConfig, XRManager, XRPointerConfig };
|