@react-three/fiber 10.0.0-canary.f81281f → 10.0.0-canary.fbd44ae

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 (37) hide show
  1. package/dist/extension.cjs +8 -7
  2. package/dist/extension.d.cts +10 -47
  3. package/dist/extension.d.mts +10 -47
  4. package/dist/extension.d.ts +10 -47
  5. package/dist/extension.mjs +1 -1
  6. package/dist/index.cjs +13 -13
  7. package/dist/index.d.cts +8 -9
  8. package/dist/index.d.mts +8 -9
  9. package/dist/index.d.ts +8 -9
  10. package/dist/index.mjs +3 -3
  11. package/dist/legacy.cjs +13 -13
  12. package/dist/legacy.d.cts +10 -7
  13. package/dist/legacy.d.mts +10 -7
  14. package/dist/legacy.d.ts +10 -7
  15. package/dist/legacy.mjs +4 -4
  16. package/dist/shared/{fiber.DAg-9ieU.d.ts → fiber.3jeDXXYd.d.mts} +183 -542
  17. package/dist/shared/{fiber.Ddgoyqql.d.mts → fiber.B_KQAb3I.d.ts} +183 -542
  18. package/dist/shared/fiber.Bi_S5KAx.cjs +16630 -0
  19. package/dist/shared/fiber.C6hitYDY.d.cts +48 -0
  20. package/dist/shared/fiber.CFK811nR.mjs +16532 -0
  21. package/dist/shared/{fiber.Bw8YnGg5.d.ts → fiber.C_MFx7We.d.cts} +555 -19
  22. package/dist/shared/{fiber.Bw8YnGg5.d.cts → fiber.C_MFx7We.d.mts} +555 -19
  23. package/dist/shared/{fiber.Bw8YnGg5.d.mts → fiber.C_MFx7We.d.ts} +555 -19
  24. package/dist/shared/fiber.D4fD6H74.d.mts +48 -0
  25. package/dist/shared/{fiber.C_v1rkNg.mjs → fiber.QxL_6jra.mjs} +113 -52
  26. package/dist/shared/fiber.YgTUGbja.d.ts +48 -0
  27. package/dist/shared/{fiber.B6zNSmwj.cjs → fiber.eR9ie2vQ.cjs} +116 -50
  28. package/dist/shared/{fiber.DiPB625B.d.cts → fiber.fR3DaJb1.d.cts} +183 -542
  29. package/dist/webgpu/index.cjs +13 -13
  30. package/dist/webgpu/index.d.cts +5 -6
  31. package/dist/webgpu/index.d.mts +5 -6
  32. package/dist/webgpu/index.d.ts +5 -6
  33. package/dist/webgpu/index.mjs +4 -4
  34. package/package.json +7 -7
  35. package/readme.md +1 -1
  36. package/dist/shared/fiber.BGL2rpse.cjs +0 -15129
  37. package/dist/shared/fiber.Ch4JrXS2.mjs +0 -15031
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Canvas$1 = require('../shared/fiber.BGL2rpse.cjs');
4
+ const Canvas$1 = require('../shared/fiber.Bi_S5KAx.cjs');
5
5
  const webgpu = require('../chunks/webgpu.cjs');
6
- const extensions = require('../shared/fiber.B6zNSmwj.cjs');
6
+ const textureStaging = require('../shared/fiber.eR9ie2vQ.cjs');
7
7
  const scheduler = require('@pmndrs/scheduler');
8
8
 
9
9
  function addTexture(set, key, value) {
@@ -54,8 +54,8 @@ const provider = {
54
54
  function createRoot(canvas) {
55
55
  return Canvas$1.createRoot(canvas, provider);
56
56
  }
57
- const useThree = extensions.useThree;
58
- const useFrame = extensions.useFrame;
57
+ const useThree = textureStaging.useThree;
58
+ const useFrame = textureStaging.useFrame;
59
59
  const useRenderTarget = Canvas$1.useRenderTarget;
60
60
  const Canvas = ((props) => /* @__PURE__ */ jsxRuntime.jsx(Canvas$1.Canvas, { ...props, provider }));
61
61
 
@@ -135,15 +135,15 @@ exports.useTexture = Canvas$1.useTexture;
135
135
  exports.useTextures = Canvas$1.useTextures;
136
136
  exports.waitForPrimary = Canvas$1.waitForPrimary;
137
137
  exports.whenThree = Canvas$1.whenThree;
138
- exports.Block = extensions.Block;
139
- exports.ErrorBoundary = extensions.ErrorBoundary;
140
- exports.context = extensions.context;
141
- exports.registerRootExtension = extensions.registerRootExtension;
142
- exports.setRenderOverride = extensions.setRenderOverride;
143
- exports.useBridge = extensions.useBridge;
144
- exports.useIsomorphicLayoutEffect = extensions.useIsomorphicLayoutEffect;
145
- exports.useMutableCallback = extensions.useMutableCallback;
146
- exports.useStore = extensions.useStore;
138
+ exports.Block = textureStaging.Block;
139
+ exports.ErrorBoundary = textureStaging.ErrorBoundary;
140
+ exports.context = textureStaging.context;
141
+ exports.registerRootExtension = textureStaging.registerRootExtension;
142
+ exports.setRenderOverride = textureStaging.setRenderOverride;
143
+ exports.useBridge = textureStaging.useBridge;
144
+ exports.useIsomorphicLayoutEffect = textureStaging.useIsomorphicLayoutEffect;
145
+ exports.useMutableCallback = textureStaging.useMutableCallback;
146
+ exports.useStore = textureStaging.useStore;
147
147
  exports.Scheduler = scheduler.Scheduler;
148
148
  exports.getScheduler = scheduler.getScheduler;
149
149
  exports.Canvas = Canvas;
@@ -1,18 +1,17 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
3
- import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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 RendererFactory, I as BaseRendererProps, s as CanvasProps, u as ReconcilerRoot, v as RenderTargetOptions } from '../shared/fiber.DiPB625B.cjs';
4
- export { a7 as Args, a8 as ArgsProp, a4 as AttachFnType, a5 as AttachType, ae as BackgroundConfig, af as BackgroundProp, b8 as Block, $ as CameraProps, Y as CanvasSchedulerConfig, a6 as Catalogue, P as ColorManagementConfig, S as DefaultGLProps, X as DefaultRendererProps, aO as DisposeOptions, ay as Environment, aw as EnvironmentCube, aR as EnvironmentLoaderProps, av as EnvironmentMap, ax as EnvironmentPortal, au as EnvironmentProps, b9 as ErrorBoundary, am as Extensions, bD as FROM_REF, a2 as FiberRoot, bE as FromRefMarker, U as GLProps, ai as GLTFLike, ad as GlobalEffectType, ac as GlobalRenderCallback, ab as HostConfig, ak as InferLoadResult, a1 as InjectState, ag as InputLike, aa as Instance, a9 as InstanceProps, aH as IsObject, x as LegacyInternalState, y as LegacyRenderer, t as LegacyRootState, aj as LoaderInstance, ah as LoaderLike, al as LoaderResult, aI as MappedTextureType, bH as ONCE, H as OffscreenCanvas, bJ as OnceValue, b2 as Portal, aA as PresetsType, an as PrimaryCanvasEntry, ba as REACT_INTERNAL_PROPS, bi as RESERVED_PROPS, a0 as RenderProps, K as Renderer, Z as RendererConfigExtended, _ as RendererProps, a3 as Root, aL as Texture, aM as TextureInput, aN as TextureResult, aJ as UseTextureOptions, aP as UseTexturesReturn, z as WebGLDefaultProps, W as WebGLProps, A as WebGLShadowConfig, a$ as _roots, aU as addAfterEffect, aT as addEffect, aV as addTail, aX as advance, bn as applyProps, bk as attach, bd as buildGraph, bo as calculateDpr, aD as createEvents, w as createPointerEvents, b1 as createPortal, b4 as createStore, bl as detach, bm as diffProps, be as dispose, w as events, aY as extend, bb as findInitialRoot, b3 as flushSync, bF as fromRef, bf as getInstanceProps, ap as getPrimary, at as getPrimaryIds, bc as getRootState, B as getThree, bp as getUuidPrefix, bC as hasConstructor, ar as hasPrimary, D as hasThree, aW as invalidate, bh as invalidateInstance, bs as is, bv as isColorRepresentation, bB as isCopyable, bG as isFromRef, by as isLayers, bw as isObject3D, bK as isOnce, bt as isOrthographicCamera, bu as isRef, a_ as isRenderer, bx as isTexture, bz as isUniform, bA as isVectorLike, bI as once, bg as prepare, az as presetsObj, aZ as reconciler, ao as registerPrimary, aC as removeInteractivity, bj as resolve, aB as swapInteractivity, b0 as unmountComponentAtNode, as as unregisterPrimary, bq as updateCamera, br as updateFrustum, b7 as useBridge, aS as useEnvironment, aF as useGraph, aE as useInstanceHandle, b5 as useIsomorphicLayoutEffect, aG as useLoader, b6 as useMutableCallback, aK as useTexture, aQ as useTextures, aq as waitForPrimary, F as whenThree } from '../shared/fiber.DiPB625B.cjs';
5
- import { a6 as RootState, a5 as InternalState, n as Properties } from '../shared/fiber.Bw8YnGg5.cjs';
6
- export { A as Act, B as Bridge, C as Camera, i as ComputeFunction, w as Disposable, f as DomEvent, D as Dpr, v as EquConfig, g as EventHandlers, k as EventManager, E as Events, h as FilterFunction, $ as ForRegisteredRenderer, G as FrameCallback, z as FrameNextCallback, x as FrameNextState, y as FrameState, F as Frameloop, I as Intersection, e as IntersectionEvent, p as IsAllOptional, o as IsOptional, M as Mutable, N as NonFunctionKeys, u as ObjectMap, K as OcclusionSupport, O as Overwrite, c as Performance, l as PointerCaptureTarget, P as PointerState, a0 as R3FRenderTarget, a1 as R3FRendererSupport, Z as Register, _ as RegisteredRenderer, b as RenderCallback, Y as RendererProvider, Q as RendererSupport, R as RootExtension, d as RootStore, t as SetBlock, a as Size, S as Subscription, q as ThreeCamera, J as ThreeCore, T as ThreeEvent, H as ThreeNamespace, U as UnblockProps, V as Viewport, m as VisibilityEntry, W as WebGLSupport, L as WebGPUSupport, X as XRManager, j as XRPointerConfig, a3 as context, r as registerRootExtension, s as setRenderOverride, a2 as useStore } from '../shared/fiber.Bw8YnGg5.cjs';
3
+ import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
10
10
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
11
11
  import { JSX } from 'react';
12
- import 'react-use-measure';
13
- import 'react/jsx-runtime';
14
12
  import 'zustand/traditional';
15
13
  import 'three/tsl';
14
+ import 'react-use-measure';
16
15
 
17
16
  /**
18
17
  * The `ReactThreeFiber` namespace of the WebGPU entry: the shared element types plus this entry's JSX map.
@@ -1,18 +1,17 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
3
- import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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 RendererFactory, I as BaseRendererProps, s as CanvasProps, u as ReconcilerRoot, v as RenderTargetOptions } from '../shared/fiber.Ddgoyqql.mjs';
4
- export { a7 as Args, a8 as ArgsProp, a4 as AttachFnType, a5 as AttachType, ae as BackgroundConfig, af as BackgroundProp, b8 as Block, $ as CameraProps, Y as CanvasSchedulerConfig, a6 as Catalogue, P as ColorManagementConfig, S as DefaultGLProps, X as DefaultRendererProps, aO as DisposeOptions, ay as Environment, aw as EnvironmentCube, aR as EnvironmentLoaderProps, av as EnvironmentMap, ax as EnvironmentPortal, au as EnvironmentProps, b9 as ErrorBoundary, am as Extensions, bD as FROM_REF, a2 as FiberRoot, bE as FromRefMarker, U as GLProps, ai as GLTFLike, ad as GlobalEffectType, ac as GlobalRenderCallback, ab as HostConfig, ak as InferLoadResult, a1 as InjectState, ag as InputLike, aa as Instance, a9 as InstanceProps, aH as IsObject, x as LegacyInternalState, y as LegacyRenderer, t as LegacyRootState, aj as LoaderInstance, ah as LoaderLike, al as LoaderResult, aI as MappedTextureType, bH as ONCE, H as OffscreenCanvas, bJ as OnceValue, b2 as Portal, aA as PresetsType, an as PrimaryCanvasEntry, ba as REACT_INTERNAL_PROPS, bi as RESERVED_PROPS, a0 as RenderProps, K as Renderer, Z as RendererConfigExtended, _ as RendererProps, a3 as Root, aL as Texture, aM as TextureInput, aN as TextureResult, aJ as UseTextureOptions, aP as UseTexturesReturn, z as WebGLDefaultProps, W as WebGLProps, A as WebGLShadowConfig, a$ as _roots, aU as addAfterEffect, aT as addEffect, aV as addTail, aX as advance, bn as applyProps, bk as attach, bd as buildGraph, bo as calculateDpr, aD as createEvents, w as createPointerEvents, b1 as createPortal, b4 as createStore, bl as detach, bm as diffProps, be as dispose, w as events, aY as extend, bb as findInitialRoot, b3 as flushSync, bF as fromRef, bf as getInstanceProps, ap as getPrimary, at as getPrimaryIds, bc as getRootState, B as getThree, bp as getUuidPrefix, bC as hasConstructor, ar as hasPrimary, D as hasThree, aW as invalidate, bh as invalidateInstance, bs as is, bv as isColorRepresentation, bB as isCopyable, bG as isFromRef, by as isLayers, bw as isObject3D, bK as isOnce, bt as isOrthographicCamera, bu as isRef, a_ as isRenderer, bx as isTexture, bz as isUniform, bA as isVectorLike, bI as once, bg as prepare, az as presetsObj, aZ as reconciler, ao as registerPrimary, aC as removeInteractivity, bj as resolve, aB as swapInteractivity, b0 as unmountComponentAtNode, as as unregisterPrimary, bq as updateCamera, br as updateFrustum, b7 as useBridge, aS as useEnvironment, aF as useGraph, aE as useInstanceHandle, b5 as useIsomorphicLayoutEffect, aG as useLoader, b6 as useMutableCallback, aK as useTexture, aQ as useTextures, aq as waitForPrimary, F as whenThree } from '../shared/fiber.Ddgoyqql.mjs';
5
- import { a6 as RootState, a5 as InternalState, n as Properties } from '../shared/fiber.Bw8YnGg5.mjs';
6
- export { A as Act, B as Bridge, C as Camera, i as ComputeFunction, w as Disposable, f as DomEvent, D as Dpr, v as EquConfig, g as EventHandlers, k as EventManager, E as Events, h as FilterFunction, $ as ForRegisteredRenderer, G as FrameCallback, z as FrameNextCallback, x as FrameNextState, y as FrameState, F as Frameloop, I as Intersection, e as IntersectionEvent, p as IsAllOptional, o as IsOptional, M as Mutable, N as NonFunctionKeys, u as ObjectMap, K as OcclusionSupport, O as Overwrite, c as Performance, l as PointerCaptureTarget, P as PointerState, a0 as R3FRenderTarget, a1 as R3FRendererSupport, Z as Register, _ as RegisteredRenderer, b as RenderCallback, Y as RendererProvider, Q as RendererSupport, R as RootExtension, d as RootStore, t as SetBlock, a as Size, S as Subscription, q as ThreeCamera, J as ThreeCore, T as ThreeEvent, H as ThreeNamespace, U as UnblockProps, V as Viewport, m as VisibilityEntry, W as WebGLSupport, L as WebGPUSupport, X as XRManager, j as XRPointerConfig, a3 as context, r as registerRootExtension, s as setRenderOverride, a2 as useStore } from '../shared/fiber.Bw8YnGg5.mjs';
3
+ import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
10
10
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
11
11
  import { JSX } from 'react';
12
- import 'react-use-measure';
13
- import 'react/jsx-runtime';
14
12
  import 'zustand/traditional';
15
13
  import 'three/tsl';
14
+ import 'react-use-measure';
16
15
 
17
16
  /**
18
17
  * The `ReactThreeFiber` namespace of the WebGPU entry: the shared element types plus this entry's JSX map.
@@ -1,18 +1,17 @@
1
1
  import * as ThreeWebGPU from 'three/webgpu';
2
2
  import { WebGPURenderer, WebGPURendererParameters, RenderTarget } from 'three/webgpu';
3
- import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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 RendererFactory, I as BaseRendererProps, s as CanvasProps, u as ReconcilerRoot, v as RenderTargetOptions } from '../shared/fiber.DAg-9ieU.js';
4
- export { a7 as Args, a8 as ArgsProp, a4 as AttachFnType, a5 as AttachType, ae as BackgroundConfig, af as BackgroundProp, b8 as Block, $ as CameraProps, Y as CanvasSchedulerConfig, a6 as Catalogue, P as ColorManagementConfig, S as DefaultGLProps, X as DefaultRendererProps, aO as DisposeOptions, ay as Environment, aw as EnvironmentCube, aR as EnvironmentLoaderProps, av as EnvironmentMap, ax as EnvironmentPortal, au as EnvironmentProps, b9 as ErrorBoundary, am as Extensions, bD as FROM_REF, a2 as FiberRoot, bE as FromRefMarker, U as GLProps, ai as GLTFLike, ad as GlobalEffectType, ac as GlobalRenderCallback, ab as HostConfig, ak as InferLoadResult, a1 as InjectState, ag as InputLike, aa as Instance, a9 as InstanceProps, aH as IsObject, x as LegacyInternalState, y as LegacyRenderer, t as LegacyRootState, aj as LoaderInstance, ah as LoaderLike, al as LoaderResult, aI as MappedTextureType, bH as ONCE, H as OffscreenCanvas, bJ as OnceValue, b2 as Portal, aA as PresetsType, an as PrimaryCanvasEntry, ba as REACT_INTERNAL_PROPS, bi as RESERVED_PROPS, a0 as RenderProps, K as Renderer, Z as RendererConfigExtended, _ as RendererProps, a3 as Root, aL as Texture, aM as TextureInput, aN as TextureResult, aJ as UseTextureOptions, aP as UseTexturesReturn, z as WebGLDefaultProps, W as WebGLProps, A as WebGLShadowConfig, a$ as _roots, aU as addAfterEffect, aT as addEffect, aV as addTail, aX as advance, bn as applyProps, bk as attach, bd as buildGraph, bo as calculateDpr, aD as createEvents, w as createPointerEvents, b1 as createPortal, b4 as createStore, bl as detach, bm as diffProps, be as dispose, w as events, aY as extend, bb as findInitialRoot, b3 as flushSync, bF as fromRef, bf as getInstanceProps, ap as getPrimary, at as getPrimaryIds, bc as getRootState, B as getThree, bp as getUuidPrefix, bC as hasConstructor, ar as hasPrimary, D as hasThree, aW as invalidate, bh as invalidateInstance, bs as is, bv as isColorRepresentation, bB as isCopyable, bG as isFromRef, by as isLayers, bw as isObject3D, bK as isOnce, bt as isOrthographicCamera, bu as isRef, a_ as isRenderer, bx as isTexture, bz as isUniform, bA as isVectorLike, bI as once, bg as prepare, az as presetsObj, aZ as reconciler, ao as registerPrimary, aC as removeInteractivity, bj as resolve, aB as swapInteractivity, b0 as unmountComponentAtNode, as as unregisterPrimary, bq as updateCamera, br as updateFrustum, b7 as useBridge, aS as useEnvironment, aF as useGraph, aE as useInstanceHandle, b5 as useIsomorphicLayoutEffect, aG as useLoader, b6 as useMutableCallback, aK as useTexture, aQ as useTextures, aq as waitForPrimary, F as whenThree } from '../shared/fiber.DAg-9ieU.js';
5
- import { a6 as RootState, a5 as InternalState, n as Properties } from '../shared/fiber.Bw8YnGg5.js';
6
- export { A as Act, B as Bridge, C as Camera, i as ComputeFunction, w as Disposable, f as DomEvent, D as Dpr, v as EquConfig, g as EventHandlers, k as EventManager, E as Events, h as FilterFunction, $ as ForRegisteredRenderer, G as FrameCallback, z as FrameNextCallback, x as FrameNextState, y as FrameState, F as Frameloop, I as Intersection, e as IntersectionEvent, p as IsAllOptional, o as IsOptional, M as Mutable, N as NonFunctionKeys, u as ObjectMap, K as OcclusionSupport, O as Overwrite, c as Performance, l as PointerCaptureTarget, P as PointerState, a0 as R3FRenderTarget, a1 as R3FRendererSupport, Z as Register, _ as RegisteredRenderer, b as RenderCallback, Y as RendererProvider, Q as RendererSupport, R as RootExtension, d as RootStore, t as SetBlock, a as Size, S as Subscription, q as ThreeCamera, J as ThreeCore, T as ThreeEvent, H as ThreeNamespace, U as UnblockProps, V as Viewport, m as VisibilityEntry, W as WebGLSupport, L as WebGPUSupport, X as XRManager, j as XRPointerConfig, a3 as context, r as registerRootExtension, s as setRenderOverride, a2 as useStore } from '../shared/fiber.Bw8YnGg5.js';
3
+ import { M as MutableOrReadonlyParameters$1, a as MathRepresentation$1, V as VectorRepresentation$1, b as MathTypes$1, c as MathType$1, d as MathProps$1, e as Vector2$1, f as Vector3$1, g as Vector4$1, C as Color$1, L as Layers$1, Q as Quaternion$1, E as Euler$1, h as Matrix3$1, i as Matrix4$1, R as RaycastableRepresentation$1, j as EventProps$1, G as GeometryTransformProps$1, k as GeometryProps$1, T as TSLNodeInput$1, N as NodeProps$1, l as ReactProps$1, m as 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';
7
7
  import { Texture } from 'three';
8
8
  import { StoreApi } from 'zustand';
9
9
  import { FrameCallback, UseFrameNextOptions, FrameNextControls } from '@pmndrs/scheduler';
10
10
  export { AddPhaseOptions, FrameControls, FrameNextControls, FrameTimingState, RootOptions, Scheduler, SchedulerApi, UseFrameNextOptions, UseFrameOptions, getScheduler } from '@pmndrs/scheduler';
11
11
  import { JSX } from 'react';
12
- import 'react-use-measure';
13
- import 'react/jsx-runtime';
14
12
  import 'zustand/traditional';
15
13
  import 'three/tsl';
14
+ import 'react-use-measure';
16
15
 
17
16
  /**
18
17
  * The `ReactThreeFiber` namespace of the WebGPU entry: the shared element types plus this entry's JSX map.
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { x as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from '../shared/fiber.Ch4JrXS2.mjs';
3
- export { k as Environment, i as EnvironmentCube, E as EnvironmentMap, j as EnvironmentPortal, ai as FROM_REF, I as IsObject, al as ONCE, P as Portal, R as REACT_INTERNAL_PROPS, Y as RESERVED_PROPS, T as Texture, _ as _roots, A as addAfterEffect, z as addEffect, B as addTail, F as advance, a2 as applyProps, $ as attach, S as buildGraph, a3 as calculateDpr, m as createEvents, a as createPointerEvents, L as createPortal, N as createStore, a0 as detach, a1 as diffProps, U as dispose, a as events, G as extend, O as findInitialRoot, M as flushSync, aj as fromRef, V as getInstanceProps, b as getPrimary, f as getPrimaryIds, Q as getRootState, g as getThree, a4 as getUuidPrefix, ah as hasConstructor, e as hasPrimary, h as hasThree, D as invalidate, X as invalidateInstance, a7 as is, aa as isColorRepresentation, ag as isCopyable, ak as isFromRef, ad as isLayers, ab as isObject3D, an as isOnce, a8 as isOrthographicCamera, a9 as isRef, J as isRenderer, ac as isTexture, ae as isUniform, af as isVectorLike, am as once, W as prepare, p as presetsObj, H as reconciler, r as registerPrimary, l as removeInteractivity, Z as resolve, s as swapInteractivity, K as unmountComponentAtNode, u as unregisterPrimary, a5 as updateCamera, a6 as updateFrustum, y as useEnvironment, o as useGraph, n as useInstanceHandle, q as useLoader, t as useTexture, v as useTextures, d as waitForPrimary, w as whenThree } from '../shared/fiber.Ch4JrXS2.mjs';
2
+ import { G as useRenderTarget$1, c as createRoot$1, C as Canvas$1 } from '../shared/fiber.CFK811nR.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.CFK811nR.mjs';
4
4
  import { webgpuSupport } from '../chunks/webgpu.mjs';
5
- import { a as useThree$1, b as useFrame$1 } from '../shared/fiber.C_v1rkNg.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.C_v1rkNg.mjs';
5
+ import { a as useThree$1, b as useFrame$1 } from '../shared/fiber.QxL_6jra.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.QxL_6jra.mjs';
7
7
  export { Scheduler, getScheduler } from '@pmndrs/scheduler';
8
8
 
9
9
  function addTexture(set, key, value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "10.0.0-canary.f81281f",
3
+ "version": "10.0.0-canary.fbd44ae",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",
@@ -64,22 +64,22 @@
64
64
  "@babel/runtime": "^7.28.6",
65
65
  "@pmndrs/scheduler": "^0.2.0",
66
66
  "dequal": "^2.0.3",
67
- "its-fine": "^2.0.0",
67
+ "its-fine": "^2.1.1",
68
68
  "react-use-measure": "^2.1.7",
69
- "scheduler": "^0.27.0",
69
+ "scheduler": "^0.28.0",
70
70
  "suspend-react": "^0.1.3",
71
71
  "use-sync-external-store": "^1.6.0",
72
72
  "zustand": "^5.0.10"
73
73
  },
74
74
  "devDependencies": {
75
- "@types/react-reconciler": "^0.32.3",
75
+ "@types/react-reconciler": "^0.33.0",
76
76
  "@types/three": "^0.185.0",
77
77
  "@types/webxr": "*",
78
- "react-reconciler": "^0.33.0"
78
+ "react-reconciler": "^0.34.0"
79
79
  },
80
80
  "peerDependencies": {
81
- "react": ">=19.0 <19.3",
82
- "react-dom": ">=19.0 <19.3",
81
+ "react": ">=19.0 <19.4",
82
+ "react-dom": ">=19.0 <19.4",
83
83
  "three": ">=0.185.0"
84
84
  },
85
85
  "peerDependenciesMeta": {
package/readme.md CHANGED
@@ -215,7 +215,7 @@ Visit [docs.pmnd.rs](https://docs.pmnd.rs/react-three-fiber) | [Awesome React Th
215
215
 
216
216
  You need to be versed in both React and Threejs before rushing into this. If you are unsure about React consult the official [React docs](https://react.dev/learn), especially [the section about hooks](https://react.dev/reference/react). As for Threejs, make sure you at least glance over the following links:
217
217
 
218
- 1. Make sure you have a [basic grasp of Threejs](https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene). Keep that site open.
218
+ 1. Make sure you have a [basic grasp of Threejs](https://threejs.org/manual/#en/creating-a-scene). Keep that site open.
219
219
  2. When you know what a scene is, a camera, mesh, geometry, material, fork the [demo above](https://github.com/pmndrs/react-three-fiber#what-does-it-look-like).
220
220
  3. [Look up](https://threejs.org/docs/index.html#api/en/objects/Mesh) the JSX elements that you see (mesh, ambientLight, etc), _all_ threejs exports are native to three-fiber.
221
221
  4. Try changing some values, scroll through our [API](https://docs.pmnd.rs/react-three-fiber) to see what the various settings and hooks do.