@react-three/drei 9.109.3 → 9.109.5

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 (161) hide show
  1. package/core/AccumulativeShadows.d.ts +61 -0
  2. package/core/AdaptiveDpr.d.ts +3 -0
  3. package/core/AdaptiveEvents.d.ts +1 -0
  4. package/core/ArcballControls.d.ts +15 -0
  5. package/core/AsciiRenderer.d.ts +12 -0
  6. package/core/BBAnchor.d.ts +7 -0
  7. package/core/Backdrop.d.ts +14 -0
  8. package/core/BakeShadows.d.ts +1 -0
  9. package/core/Billboard.cjs.js +1 -1
  10. package/core/Billboard.d.ts +9 -0
  11. package/core/Billboard.js +1 -3
  12. package/core/Bounds.d.ts +35 -0
  13. package/core/Bvh.d.ts +18 -0
  14. package/core/CameraControls.d.ts +22 -0
  15. package/core/CameraShake.d.ts +17 -0
  16. package/core/CatmullRomLine.d.ts +11 -0
  17. package/core/Caustics.d.ts +35 -0
  18. package/core/Center.d.ts +31 -0
  19. package/core/Clone.d.ts +15 -0
  20. package/core/Cloud.d.ts +59 -0
  21. package/core/ComputedAttribute.d.ts +9 -0
  22. package/core/ContactShadows.d.ts +17 -0
  23. package/core/CubeCamera.d.ts +21 -0
  24. package/core/CubeTexture.d.ts +15 -0
  25. package/core/CubicBezierLine.d.ts +13 -0
  26. package/core/CurveModifier.d.ts +10 -0
  27. package/core/Decal.d.ts +16 -0
  28. package/core/Detailed.d.ts +10 -0
  29. package/core/DetectGPU.d.ts +8 -0
  30. package/core/DeviceOrientationControls.d.ts +10 -0
  31. package/core/Edges.d.ts +13 -0
  32. package/core/Effects.d.ts +29 -0
  33. package/core/Environment.d.ts +39 -0
  34. package/core/Example.d.ts +13 -0
  35. package/core/Fbo.d.ts +28 -0
  36. package/core/Fbx.d.ts +11 -0
  37. package/core/FirstPersonControls.d.ts +8 -0
  38. package/core/Fisheye.d.ts +9 -0
  39. package/core/Float.d.ts +13 -0
  40. package/core/FlyControls.d.ts +10 -0
  41. package/core/GizmoHelper.d.ts +15 -0
  42. package/core/GizmoViewcube.d.ts +14 -0
  43. package/core/GizmoViewport.d.ts +16 -0
  44. package/core/Gltf.d.ts +20 -0
  45. package/core/GradientTexture.d.ts +18 -0
  46. package/core/Grid.d.ts +27 -0
  47. package/core/Helper.d.ts +16 -0
  48. package/core/Hud.d.ts +7 -0
  49. package/core/Image.d.ts +40 -0
  50. package/core/Instances.d.ts +43 -0
  51. package/core/Ktx2.d.ts +14 -0
  52. package/core/Lightformer.d.ts +14 -0
  53. package/core/Line.d.ts +13 -0
  54. package/core/MapControls.d.ts +14 -0
  55. package/core/MarchingCubes.d.ts +24 -0
  56. package/core/Mask.d.ts +17 -0
  57. package/core/MatcapTexture.d.ts +9 -0
  58. package/core/MeshDiscardMaterial.d.ts +11 -0
  59. package/core/MeshDistortMaterial.d.ts +41 -0
  60. package/core/MeshPortalMaterial.d.ts +28 -0
  61. package/core/MeshReflectorMaterial.d.ts +27 -0
  62. package/core/MeshRefractionMaterial.d.ts +22 -0
  63. package/core/MeshTransmissionMaterial.d.ts +35 -0
  64. package/core/MeshWobbleMaterial.d.ts +38 -0
  65. package/core/MotionPathControls.d.ts +27 -0
  66. package/core/NormalTexture.d.ts +14 -0
  67. package/core/OrbitControls.d.ts +22 -0
  68. package/core/OrthographicCamera.d.ts +14 -0
  69. package/core/Outlines.d.ts +16 -0
  70. package/core/PerformanceMonitor.d.ts +36 -0
  71. package/core/PerspectiveCamera.d.ts +14 -0
  72. package/core/PointMaterial.d.ts +16 -0
  73. package/core/PointerLockControls.d.ts +15 -0
  74. package/core/Points.d.ts +34 -0
  75. package/core/PositionalAudio.d.ts +9 -0
  76. package/core/Preload.d.ts +8 -0
  77. package/core/Progress.d.ts +14 -0
  78. package/core/QuadraticBezierLine.d.ts +16 -0
  79. package/core/Reflector.d.ts +30 -0
  80. package/core/RenderCubeTexture.d.ts +30 -0
  81. package/core/RenderTexture.d.ts +18 -0
  82. package/core/Resize.d.ts +10 -0
  83. package/core/RoundedBox.d.ts +12 -0
  84. package/core/Sampler.d.ts +28 -0
  85. package/core/ScreenQuad.d.ts +5 -0
  86. package/core/ScreenSizer.d.ts +7 -0
  87. package/core/ScreenSpace.d.ts +6 -0
  88. package/core/Segments.d.ts +31 -0
  89. package/core/Shadow.d.ts +12 -0
  90. package/core/ShadowAlpha.d.ts +8 -0
  91. package/core/Sky.d.ts +17 -0
  92. package/core/Sparkles.d.ts +21 -0
  93. package/core/Splat.d.ts +58 -0
  94. package/core/SpotLight.d.ts +26 -0
  95. package/core/SpriteAnimator.d.ts +38 -0
  96. package/core/Stage.d.ts +26 -0
  97. package/core/Stars.d.ts +24 -0
  98. package/core/Stats.d.ts +8 -0
  99. package/core/StatsGl.d.ts +9 -0
  100. package/core/Svg.d.ts +13 -0
  101. package/core/Text.d.ts +38 -0
  102. package/core/Text3D.d.ts +23 -0
  103. package/core/Texture.d.ts +20 -0
  104. package/core/TrackballControls.d.ts +15 -0
  105. package/core/Trail.d.ts +21 -0
  106. package/core/TrailTexture.d.ts +18 -0
  107. package/core/TransformControls.d.ts +28 -0
  108. package/core/VideoTexture.d.ts +14 -0
  109. package/core/Wireframe.d.ts +17 -0
  110. package/core/calculateScaleFactor.d.ts +3 -0
  111. package/core/index.d.ts +122 -0
  112. package/core/meshBounds.d.ts +2 -0
  113. package/core/shaderMaterial.d.ts +7 -0
  114. package/core/shapes.d.ts +25 -0
  115. package/core/softShadows.d.ts +7 -0
  116. package/core/useAnimations.d.ts +13 -0
  117. package/core/useAspect.d.ts +1 -0
  118. package/core/useBoxProjectedEnv.d.ts +19 -0
  119. package/core/useCamera.d.ts +3 -0
  120. package/core/useContextBridge.d.ts +4 -0
  121. package/core/useDepthBuffer.d.ts +6 -0
  122. package/core/useEnvironment.d.ts +11 -0
  123. package/core/useFont.d.ts +24 -0
  124. package/core/useIntersect.d.ts +3 -0
  125. package/core/useSpriteLoader.d.ts +10 -0
  126. package/helpers/constants.d.ts +1 -0
  127. package/helpers/deprecated.d.ts +8 -0
  128. package/helpers/environment-assets.d.ts +13 -0
  129. package/helpers/ts-utils.d.ts +3 -0
  130. package/helpers/useEffectfulState.d.ts +4 -0
  131. package/index.cjs.js +1 -1
  132. package/index.d.ts +1 -0
  133. package/materials/BlurPass.d.ts +23 -0
  134. package/materials/ConvolutionMaterial.d.ts +7 -0
  135. package/materials/DiscardMaterial.d.ts +3 -0
  136. package/materials/MeshReflectorMaterial.d.ts +66 -0
  137. package/materials/MeshRefractionMaterial.d.ts +7 -0
  138. package/materials/SpotLightMaterial.d.ts +4 -0
  139. package/materials/WireframeMaterial.d.ts +48 -0
  140. package/native/index.d.ts +1 -0
  141. package/package.json +1 -1
  142. package/web/CycleRaycast.d.ts +10 -0
  143. package/web/DragControls.d.ts +17 -0
  144. package/web/FaceControls.d.ts +42 -0
  145. package/web/FaceLandmarker.d.ts +15 -0
  146. package/web/Facemesh.d.ts +150 -0
  147. package/web/Html.d.ts +34 -0
  148. package/web/KeyboardControls.d.ts +37 -0
  149. package/web/Loader.d.ts +12 -0
  150. package/web/PresentationControls.d.ts +17 -0
  151. package/web/ScrollControls.d.ts +45 -0
  152. package/web/Select.d.ts +14 -0
  153. package/web/View.d.ts +36 -0
  154. package/web/index.d.ts +15 -0
  155. package/web/pivotControls/AxisArrow.d.ts +7 -0
  156. package/web/pivotControls/AxisRotator.d.ts +7 -0
  157. package/web/pivotControls/PlaneSlider.d.ts +7 -0
  158. package/web/pivotControls/ScalingSphere.d.ts +7 -0
  159. package/web/pivotControls/context.d.ts +32 -0
  160. package/web/pivotControls/index.d.ts +39 -0
  161. package/web/useCursor.d.ts +1 -0
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import type { Color } from '@react-three/fiber';
3
+ export type ExampleProps = {
4
+ font: string;
5
+ color?: Color;
6
+ debug?: boolean;
7
+ bevelSize?: number;
8
+ } & React.ComponentProps<'group'>;
9
+ export type ExampleApi = {
10
+ incr: (x?: number) => void;
11
+ decr: (x?: number) => void;
12
+ };
13
+ export declare const Example: React.ForwardRefExoticComponent<Omit<ExampleProps, "ref"> & React.RefAttributes<ExampleApi>>;
package/core/Fbo.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import { TextureEncoding } from '../helpers/deprecated';
4
+ type ColorSpace = 'srgb' | 'srgb-linear' | '' | string;
5
+ type FBOSettings = {
6
+ samples?: number;
7
+ depth?: boolean;
8
+ wrapS?: THREE.Wrapping | undefined;
9
+ wrapT?: THREE.Wrapping | undefined;
10
+ magFilter?: THREE.MagnificationTextureFilter | undefined;
11
+ minFilter?: THREE.MinificationTextureFilter | undefined;
12
+ format?: number | undefined;
13
+ type?: THREE.TextureDataType | undefined;
14
+ anisotropy?: number | undefined;
15
+ depthBuffer?: boolean | undefined;
16
+ stencilBuffer?: boolean | undefined;
17
+ generateMipmaps?: boolean | undefined;
18
+ depthTexture?: THREE.DepthTexture | undefined;
19
+ encoding?: TextureEncoding | undefined;
20
+ colorSpace?: ColorSpace | undefined;
21
+ };
22
+ export declare function useFBO(width?: number | FBOSettings, height?: number, settings?: FBOSettings): THREE.WebGLRenderTarget;
23
+ export declare const Fbo: ({ children, width, height, ...settings }: {
24
+ children?: (target: ReturnType<typeof useFBO>) => React.ReactNode;
25
+ width: Parameters<typeof useFBO>[0];
26
+ height: Parameters<typeof useFBO>[1];
27
+ } & FBOSettings) => React.JSX.Element;
28
+ export {};
package/core/Fbx.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { Group } from 'three';
3
+ import { Clone } from './Clone';
4
+ export declare function useFBX(path: string): Group;
5
+ export declare namespace useFBX {
6
+ var preload: (path: string) => undefined;
7
+ var clear: (input: string | string[]) => void;
8
+ }
9
+ export declare function Fbx({ path, ...props }: {
10
+ path: Parameters<typeof useFBX>[0];
11
+ } & Omit<React.ComponentProps<typeof Clone>, 'object'>): React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Object3DNode } from '@react-three/fiber';
2
+ import { FirstPersonControls as FirstPersonControlImpl } from 'three-stdlib';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ export type FirstPersonControlsProps = Object3DNode<FirstPersonControlImpl, typeof FirstPersonControlImpl> & {
5
+ domElement?: HTMLElement;
6
+ makeDefault?: boolean;
7
+ };
8
+ export declare const FirstPersonControls: ForwardRefComponent<FirstPersonControlsProps, FirstPersonControlImpl>;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ export type FisheyeProps = JSX.IntrinsicElements['mesh'] & {
3
+ zoom?: number;
4
+ segments?: number;
5
+ resolution?: number;
6
+ children: React.ReactNode;
7
+ renderPriority?: number;
8
+ };
9
+ export declare function Fisheye({ renderPriority, zoom, segments, children, resolution, ...props }: FisheyeProps): React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ export type FloatProps = JSX.IntrinsicElements['group'] & {
5
+ enabled?: boolean;
6
+ speed?: number;
7
+ rotationIntensity?: number;
8
+ floatIntensity?: number;
9
+ children?: React.ReactNode;
10
+ floatingRange?: [number?, number?];
11
+ autoInvalidate?: boolean;
12
+ };
13
+ export declare const Float: ForwardRefComponent<FloatProps, THREE.Group>;
@@ -0,0 +1,10 @@
1
+ import { ReactThreeFiber } from '@react-three/fiber';
2
+ import * as THREE from 'three';
3
+ import { FlyControls as FlyControlsImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ export type FlyControlsProps = ReactThreeFiber.Object3DNode<FlyControlsImpl, typeof FlyControlsImpl> & {
6
+ onChange?: (e?: THREE.Event) => void;
7
+ domElement?: HTMLElement;
8
+ makeDefault?: boolean;
9
+ };
10
+ export declare const FlyControls: ForwardRefComponent<FlyControlsProps, FlyControlsImpl>;
@@ -0,0 +1,15 @@
1
+ import { Vector3 } from 'three';
2
+ type GizmoHelperContext = {
3
+ tweenCamera: (direction: Vector3) => void;
4
+ };
5
+ export declare const useGizmoContext: () => GizmoHelperContext;
6
+ export type GizmoHelperProps = JSX.IntrinsicElements['group'] & {
7
+ alignment?: 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left' | 'bottom-center' | 'center-right' | 'center-left' | 'center-center' | 'top-center';
8
+ margin?: [number, number];
9
+ renderPriority?: number;
10
+ autoClear?: boolean;
11
+ onUpdate?: () => void;
12
+ onTarget?: () => Vector3;
13
+ };
14
+ export declare const GizmoHelper: ({ alignment, margin, renderPriority, onUpdate, onTarget, children, }: GizmoHelperProps) => any;
15
+ export {};
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { ThreeEvent } from '@react-three/fiber';
3
+ type GenericProps = {
4
+ font?: string;
5
+ opacity?: number;
6
+ color?: string;
7
+ hoverColor?: string;
8
+ textColor?: string;
9
+ strokeColor?: string;
10
+ onClick?: (e: ThreeEvent<MouseEvent>) => null;
11
+ faces?: string[];
12
+ };
13
+ export declare const GizmoViewcube: (props: GenericProps) => React.JSX.Element;
14
+ export {};
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { ThreeEvent } from '@react-three/fiber';
3
+ type GizmoViewportProps = JSX.IntrinsicElements['group'] & {
4
+ axisColors?: [string, string, string];
5
+ axisScale?: [number, number, number];
6
+ labels?: [string, string, string];
7
+ axisHeadScale?: number;
8
+ labelColor?: string;
9
+ hideNegativeAxes?: boolean;
10
+ hideAxisHeads?: boolean;
11
+ disabled?: boolean;
12
+ font?: string;
13
+ onClick?: (e: ThreeEvent<MouseEvent>) => null;
14
+ };
15
+ export declare const GizmoViewport: ({ hideNegativeAxes, hideAxisHeads, disabled, font, axisColors, axisHeadScale, axisScale, labels, labelColor, onClick, ...props }: GizmoViewportProps) => React.JSX.Element;
16
+ export {};
package/core/Gltf.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import { Clone } from './Clone';
3
+ import { type GLTF, GLTFLoader } from 'three-stdlib';
4
+ import { type ObjectMap } from '@react-three/fiber';
5
+ export declare function useGLTF<T extends string | string[]>(path: T, useDraco?: boolean | string, useMeshOpt?: boolean, extendLoader?: (loader: GLTFLoader) => void): T extends any[] ? (GLTF & ObjectMap)[] : GLTF & ObjectMap;
6
+ export declare namespace useGLTF {
7
+ var preload: (path: string | string[], useDraco?: string | boolean, useMeshOpt?: boolean, extendLoader?: ((loader: GLTFLoader) => void) | undefined) => undefined;
8
+ var clear: (input: string | string[]) => void;
9
+ var setDecoderPath: (path: string) => void;
10
+ }
11
+ type UseGLTF = Parameters<typeof useGLTF>;
12
+ type CloneProps = React.ComponentProps<typeof Clone>;
13
+ type GltfProps = Omit<CloneProps, 'object'> & {
14
+ src: string;
15
+ useDraco?: UseGLTF[1];
16
+ useMeshOpt?: UseGLTF[2];
17
+ extendLoader?: UseGLTF[3];
18
+ };
19
+ export declare const Gltf: React.ForwardRefExoticComponent<Omit<GltfProps, "ref"> & React.RefAttributes<import("three").Group>>;
20
+ export {};
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ export declare enum GradientType {
4
+ Linear = "linear",
5
+ Radial = "radial"
6
+ }
7
+ type Props = {
8
+ stops: Array<number>;
9
+ colors: Array<THREE.ColorRepresentation>;
10
+ attach?: string;
11
+ size?: number;
12
+ width?: number;
13
+ type?: GradientType;
14
+ innerCircleRadius?: number;
15
+ outerCircleRadius?: string | number;
16
+ } & JSX.IntrinsicElements['texture'];
17
+ export declare function GradientTexture({ stops, colors, size, width, type, innerCircleRadius, outerCircleRadius, ...props }: Props): React.JSX.Element;
18
+ export {};
package/core/Grid.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ import * as THREE from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ export type GridMaterialType = {
4
+ cellSize?: number;
5
+ cellThickness?: number;
6
+ cellColor?: THREE.ColorRepresentation;
7
+ sectionSize?: number;
8
+ sectionThickness?: number;
9
+ sectionColor?: THREE.ColorRepresentation;
10
+ followCamera?: boolean;
11
+ infiniteGrid?: boolean;
12
+ fadeDistance?: number;
13
+ fadeStrength?: number;
14
+ fadeFrom?: number;
15
+ side?: THREE.Side;
16
+ };
17
+ export type GridProps = GridMaterialType & {
18
+ args?: ConstructorParameters<typeof THREE.PlaneGeometry>;
19
+ };
20
+ declare global {
21
+ namespace JSX {
22
+ interface IntrinsicElements {
23
+ gridMaterial: JSX.IntrinsicElements['shaderMaterial'] & GridMaterialType;
24
+ }
25
+ }
26
+ }
27
+ export declare const Grid: ForwardRefComponent<Omit<JSX.IntrinsicElements['mesh'], 'args'> & GridProps, THREE.Mesh>;
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { Object3D } from 'three';
3
+ import { Falsey } from 'utility-types';
4
+ type HelperType = Object3D & {
5
+ update: () => void;
6
+ dispose: () => void;
7
+ };
8
+ type HelperConstructor = new (...args: any[]) => any;
9
+ type HelperArgs<T> = T extends [infer _, ...infer R] ? R : never;
10
+ export declare function useHelper<T extends HelperConstructor>(object3D: React.MutableRefObject<Object3D> | Falsey, helperConstructor: T, ...args: HelperArgs<ConstructorParameters<T>>): React.MutableRefObject<HelperType | undefined>;
11
+ export type HelperProps<T extends HelperConstructor> = {
12
+ type: T;
13
+ args?: HelperArgs<ConstructorParameters<T>>;
14
+ };
15
+ export declare const Helper: <T extends HelperConstructor>({ type: helperConstructor, args, }: HelperProps<T>) => React.JSX.Element;
16
+ export {};
package/core/Hud.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ type HudProps = {
3
+ children: React.ReactNode;
4
+ renderPriority?: number;
5
+ };
6
+ export declare function Hud({ children, renderPriority }: HudProps): React.JSX.Element;
7
+ export {};
@@ -0,0 +1,40 @@
1
+ import * as THREE from 'three';
2
+ import { Color } from '@react-three/fiber';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ export type ImageProps = Omit<JSX.IntrinsicElements['mesh'], 'scale'> & {
5
+ segments?: number;
6
+ scale?: number | [number, number];
7
+ color?: Color;
8
+ zoom?: number;
9
+ radius?: number;
10
+ grayscale?: number;
11
+ toneMapped?: boolean;
12
+ transparent?: boolean;
13
+ opacity?: number;
14
+ side?: THREE.Side;
15
+ } & ({
16
+ texture: THREE.Texture;
17
+ url?: never;
18
+ } | {
19
+ texture?: never;
20
+ url: string;
21
+ });
22
+ type ImageMaterialType = JSX.IntrinsicElements['shaderMaterial'] & {
23
+ scale?: number[];
24
+ imageBounds?: number[];
25
+ radius?: number;
26
+ resolution?: number;
27
+ color?: Color;
28
+ map: THREE.Texture;
29
+ zoom?: number;
30
+ grayscale?: number;
31
+ };
32
+ declare global {
33
+ namespace JSX {
34
+ interface IntrinsicElements {
35
+ imageMaterial: ImageMaterialType;
36
+ }
37
+ }
38
+ }
39
+ export declare const Image: ForwardRefComponent<ImageProps, THREE.Mesh>;
40
+ export {};
@@ -0,0 +1,43 @@
1
+ import * as THREE from 'three';
2
+ import * as React from 'react';
3
+ import { ReactThreeFiber } from '@react-three/fiber';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ declare global {
6
+ namespace JSX {
7
+ interface IntrinsicElements {
8
+ positionMesh: ReactThreeFiber.Object3DNode<PositionMesh, typeof PositionMesh>;
9
+ }
10
+ }
11
+ }
12
+ type Api = {
13
+ getParent: () => React.MutableRefObject<InstancedMesh>;
14
+ subscribe: <T>(ref: React.MutableRefObject<T>) => void;
15
+ };
16
+ export type InstancesProps = JSX.IntrinsicElements['instancedMesh'] & {
17
+ range?: number;
18
+ limit?: number;
19
+ frames?: number;
20
+ };
21
+ export type InstanceProps = JSX.IntrinsicElements['positionMesh'] & {
22
+ context?: React.Context<Api>;
23
+ };
24
+ type InstancedMesh = Omit<THREE.InstancedMesh, 'instanceMatrix' | 'instanceColor'> & {
25
+ instanceMatrix: THREE.InstancedBufferAttribute;
26
+ instanceColor: THREE.InstancedBufferAttribute;
27
+ };
28
+ declare class PositionMesh extends THREE.Group {
29
+ color: THREE.Color;
30
+ instance: React.MutableRefObject<THREE.InstancedMesh | undefined>;
31
+ instanceKey: React.MutableRefObject<JSX.IntrinsicElements['positionMesh'] | undefined>;
32
+ constructor();
33
+ get geometry(): THREE.BufferGeometry | undefined;
34
+ raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
35
+ }
36
+ export declare const Instance: React.ForwardRefExoticComponent<Omit<InstanceProps, "ref"> & React.RefAttributes<unknown>>;
37
+ export declare const Instances: ForwardRefComponent<InstancesProps, InstancedMesh>;
38
+ export interface MergedProps extends InstancesProps {
39
+ meshes: THREE.Mesh[];
40
+ children: React.ReactNode;
41
+ }
42
+ export declare const Merged: ForwardRefComponent<any, THREE.Group>;
43
+ export {};
package/core/Ktx2.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { Texture } from 'three';
3
+ export declare function useKTX2<Url extends string[] | string | Record<string, string>>(input: Url, basisPath?: string): Url extends any[] ? Texture[] : Url extends object ? {
4
+ [key in keyof Url]: Texture;
5
+ } : Texture;
6
+ export declare namespace useKTX2 {
7
+ var preload: (url: string, basisPath?: string) => undefined;
8
+ var clear: (input: string | string[]) => void;
9
+ }
10
+ export declare const Ktx2: ({ children, input, basisPath, }: {
11
+ children?: (texture: ReturnType<typeof useKTX2>) => React.ReactNode;
12
+ input: Parameters<typeof useKTX2>[0];
13
+ basisPath?: Parameters<typeof useKTX2>[1];
14
+ }) => React.JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { ReactThreeFiber } from '@react-three/fiber';
2
+ import * as THREE from 'three';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ export type LightProps = JSX.IntrinsicElements['mesh'] & {
5
+ args?: any[];
6
+ map?: THREE.Texture;
7
+ toneMapped?: boolean;
8
+ color?: ReactThreeFiber.Color;
9
+ form?: 'circle' | 'ring' | 'rect' | any;
10
+ scale?: number | [number, number, number] | [number, number];
11
+ intensity?: number;
12
+ target?: [number, number, number] | THREE.Vector3;
13
+ };
14
+ export declare const Lightformer: ForwardRefComponent<LightProps, THREE.Mesh>;
package/core/Line.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { Vector2, Vector3, Color, ColorRepresentation } from 'three';
2
+ import { ReactThreeFiber } from '@react-three/fiber';
3
+ import { LineMaterial, LineMaterialParameters, Line2, LineSegments2 } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ export type LineProps = {
6
+ points: Array<Vector3 | Vector2 | [number, number, number] | [number, number] | number>;
7
+ vertexColors?: Array<Color | [number, number, number] | [number, number, number, number]>;
8
+ lineWidth?: number;
9
+ segments?: boolean;
10
+ } & Omit<LineMaterialParameters, 'vertexColors' | 'color'> & Omit<ReactThreeFiber.Object3DNode<Line2, typeof Line2>, 'args'> & Omit<ReactThreeFiber.Object3DNode<LineMaterial, [LineMaterialParameters]>, 'color' | 'vertexColors' | 'args'> & {
11
+ color?: ColorRepresentation;
12
+ };
13
+ export declare const Line: ForwardRefComponent<LineProps, Line2 | LineSegments2>;
@@ -0,0 +1,14 @@
1
+ import { ReactThreeFiber } from '@react-three/fiber';
2
+ import * as THREE from 'three';
3
+ import { MapControls as MapControlsImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ export type MapControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<MapControlsImpl, typeof MapControlsImpl>, {
6
+ target?: ReactThreeFiber.Vector3;
7
+ camera?: THREE.Camera;
8
+ makeDefault?: boolean;
9
+ onChange?: (e?: THREE.Event) => void;
10
+ onStart?: (e?: THREE.Event) => void;
11
+ onEnd?: (e?: THREE.Event) => void;
12
+ domElement?: HTMLElement;
13
+ }>;
14
+ export declare const MapControls: ForwardRefComponent<MapControlsProps, MapControlsImpl>;
@@ -0,0 +1,24 @@
1
+ import * as THREE from 'three';
2
+ import { Color } from 'three';
3
+ import { MarchingCubes as MarchingCubesImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ export type MarchingCubesProps = {
6
+ resolution?: number;
7
+ maxPolyCount?: number;
8
+ enableUvs?: boolean;
9
+ enableColors?: boolean;
10
+ } & JSX.IntrinsicElements['group'];
11
+ export declare const MarchingCubes: ForwardRefComponent<MarchingCubesProps, MarchingCubesImpl>;
12
+ type MarchingCubeProps = {
13
+ strength?: number;
14
+ subtract?: number;
15
+ color?: Color;
16
+ } & JSX.IntrinsicElements['group'];
17
+ export declare const MarchingCube: ForwardRefComponent<MarchingCubeProps, THREE.Group>;
18
+ type MarchingPlaneProps = {
19
+ planeType?: 'x' | 'y' | 'z';
20
+ strength?: number;
21
+ subtract?: number;
22
+ } & JSX.IntrinsicElements['group'];
23
+ export declare const MarchingPlane: ForwardRefComponent<MarchingPlaneProps, THREE.Group>;
24
+ export {};
package/core/Mask.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import * as THREE from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ type Props = Omit<JSX.IntrinsicElements['mesh'], 'id'> & {
4
+ id: number;
5
+ colorWrite?: boolean;
6
+ depthWrite?: boolean;
7
+ };
8
+ export declare const Mask: ForwardRefComponent<Props, THREE.Mesh>;
9
+ export declare function useMask(id: number, inverse?: boolean): {
10
+ stencilWrite: boolean;
11
+ stencilRef: number;
12
+ stencilFunc: 514 | 517;
13
+ stencilFail: 7680;
14
+ stencilZFail: 7680;
15
+ stencilZPass: 7680;
16
+ };
17
+ export {};
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { Texture } from 'three';
3
+ export declare function useMatcapTexture(id?: number | string, format?: number, onLoad?: (texture: Texture | Texture[]) => void): [Texture, string, number];
4
+ export declare const MatcapTexture: ({ children, id, format, onLoad, }: {
5
+ children?: (texture: ReturnType<typeof useMatcapTexture>) => React.ReactNode;
6
+ id?: Parameters<typeof useMatcapTexture>[0];
7
+ format?: Parameters<typeof useMatcapTexture>[1];
8
+ onLoad?: Parameters<typeof useMatcapTexture>[2];
9
+ }) => React.JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { ShaderMaterial } from 'three';
2
+ import { ReactThreeFiber } from '@react-three/fiber';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ declare global {
5
+ namespace JSX {
6
+ interface IntrinsicElements {
7
+ discardMaterialImpl: ReactThreeFiber.ShaderMaterialProps;
8
+ }
9
+ }
10
+ }
11
+ export declare const MeshDiscardMaterial: ForwardRefComponent<JSX.IntrinsicElements['shaderMaterial'], ShaderMaterial>;
@@ -0,0 +1,41 @@
1
+ import { IUniform, MeshPhysicalMaterial, MeshPhysicalMaterialParameters } from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ type DistortMaterialType = JSX.IntrinsicElements['meshPhysicalMaterial'] & {
4
+ time?: number;
5
+ distort?: number;
6
+ radius?: number;
7
+ };
8
+ type Props = DistortMaterialType & {
9
+ speed?: number;
10
+ factor?: number;
11
+ };
12
+ declare global {
13
+ namespace JSX {
14
+ interface IntrinsicElements {
15
+ distortMaterialImpl: DistortMaterialType;
16
+ }
17
+ }
18
+ }
19
+ interface Uniform<T> {
20
+ value: T;
21
+ }
22
+ declare class DistortMaterialImpl extends MeshPhysicalMaterial {
23
+ _time: Uniform<number>;
24
+ _distort: Uniform<number>;
25
+ _radius: Uniform<number>;
26
+ constructor(parameters?: MeshPhysicalMaterialParameters);
27
+ onBeforeCompile(shader: {
28
+ vertexShader: string;
29
+ uniforms: {
30
+ [uniform: string]: IUniform;
31
+ };
32
+ }): void;
33
+ get time(): number;
34
+ set time(v: number);
35
+ get distort(): number;
36
+ set distort(v: number);
37
+ get radius(): number;
38
+ set radius(v: number);
39
+ }
40
+ export declare const MeshDistortMaterial: ForwardRefComponent<Props, DistortMaterialImpl>;
41
+ export {};
@@ -0,0 +1,28 @@
1
+ import * as THREE from 'three';
2
+ import * as React from 'react';
3
+ import { ReactThreeFiber } from '@react-three/fiber';
4
+ export type PortalMaterialType = {
5
+ resolution: ReactThreeFiber.Vector2;
6
+ blur: number;
7
+ blend: number;
8
+ size?: number;
9
+ sdf?: THREE.Texture;
10
+ map?: THREE.Texture;
11
+ } & JSX.IntrinsicElements['shaderMaterial'];
12
+ declare global {
13
+ namespace JSX {
14
+ interface IntrinsicElements {
15
+ portalMaterialImpl: PortalMaterialType;
16
+ }
17
+ }
18
+ }
19
+ export type PortalProps = JSX.IntrinsicElements['shaderMaterial'] & {
20
+ blend?: number;
21
+ blur?: number;
22
+ resolution?: number;
23
+ worldUnits?: boolean;
24
+ eventPriority?: number;
25
+ renderPriority?: number;
26
+ events?: boolean;
27
+ };
28
+ export declare const MeshPortalMaterial: React.ForwardRefExoticComponent<Omit<PortalProps, "ref"> & React.RefAttributes<PortalMaterialType>>;
@@ -0,0 +1,27 @@
1
+ import { Texture } from 'three';
2
+ import { MeshReflectorMaterialProps, MeshReflectorMaterial as MeshReflectorMaterialImpl } from '../materials/MeshReflectorMaterial';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
+ type Props = JSX.IntrinsicElements['meshStandardMaterial'] & {
5
+ resolution?: number;
6
+ mixBlur?: number;
7
+ mixStrength?: number;
8
+ blur?: [number, number] | number;
9
+ mirror: number;
10
+ minDepthThreshold?: number;
11
+ maxDepthThreshold?: number;
12
+ depthScale?: number;
13
+ depthToBlurRatioBias?: number;
14
+ distortionMap?: Texture;
15
+ distortion?: number;
16
+ mixContrast?: number;
17
+ reflectorOffset?: number;
18
+ };
19
+ declare global {
20
+ namespace JSX {
21
+ interface IntrinsicElements {
22
+ meshReflectorMaterialImpl: MeshReflectorMaterialProps;
23
+ }
24
+ }
25
+ }
26
+ export declare const MeshReflectorMaterial: ForwardRefComponent<Props, MeshReflectorMaterialImpl>;
27
+ export {};
@@ -0,0 +1,22 @@
1
+ import * as THREE from 'three';
2
+ import * as React from 'react';
3
+ import { ReactThreeFiber } from '@react-three/fiber';
4
+ import { MeshRefractionMaterial as MeshRefractionMaterial_ } from '../materials/MeshRefractionMaterial';
5
+ declare global {
6
+ namespace JSX {
7
+ interface IntrinsicElements {
8
+ meshRefractionMaterial: typeof MeshRefractionMaterial_;
9
+ }
10
+ }
11
+ }
12
+ type MeshRefractionMaterialProps = JSX.IntrinsicElements['shaderMaterial'] & {
13
+ envMap: THREE.CubeTexture | THREE.Texture;
14
+ bounces?: number;
15
+ ior?: number;
16
+ fresnel?: number;
17
+ aberrationStrength?: number;
18
+ color?: ReactThreeFiber.Color;
19
+ fastChroma?: boolean;
20
+ };
21
+ export declare function MeshRefractionMaterial({ aberrationStrength, fastChroma, envMap, ...props }: MeshRefractionMaterialProps): React.JSX.Element;
22
+ export {};
@@ -0,0 +1,35 @@
1
+ import * as THREE from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ type MeshTransmissionMaterialType = Omit<JSX.IntrinsicElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission'> & {
4
+ transmission?: number;
5
+ thickness?: number;
6
+ roughness?: number;
7
+ chromaticAberration?: number;
8
+ anisotropy?: number;
9
+ anisotropicBlur?: number;
10
+ distortion?: number;
11
+ distortionScale?: number;
12
+ temporalDistortion?: number;
13
+ buffer?: THREE.Texture;
14
+ time?: number;
15
+ args?: [samples: number, transmissionSampler: boolean];
16
+ };
17
+ type MeshTransmissionMaterialProps = Omit<MeshTransmissionMaterialType, 'args'> & {
18
+ transmissionSampler?: boolean;
19
+ backside?: boolean;
20
+ backsideThickness?: number;
21
+ backsideEnvMapIntensity?: number;
22
+ resolution?: number;
23
+ backsideResolution?: number;
24
+ samples?: number;
25
+ background?: THREE.Texture | THREE.Color;
26
+ };
27
+ declare global {
28
+ namespace JSX {
29
+ interface IntrinsicElements {
30
+ meshTransmissionMaterial: MeshTransmissionMaterialType;
31
+ }
32
+ }
33
+ }
34
+ export declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, JSX.IntrinsicElements['meshTransmissionMaterial']>;
35
+ export {};
@@ -0,0 +1,38 @@
1
+ import { IUniform, MeshStandardMaterial, MeshStandardMaterialParameters } from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ type WobbleMaterialType = JSX.IntrinsicElements['meshStandardMaterial'] & {
4
+ time?: number;
5
+ factor?: number;
6
+ speed?: number;
7
+ };
8
+ type Props = WobbleMaterialType & {
9
+ speed?: number;
10
+ factor?: number;
11
+ };
12
+ declare global {
13
+ namespace JSX {
14
+ interface IntrinsicElements {
15
+ wobbleMaterialImpl: WobbleMaterialType;
16
+ }
17
+ }
18
+ }
19
+ interface Uniform<T> {
20
+ value: T;
21
+ }
22
+ declare class WobbleMaterialImpl extends MeshStandardMaterial {
23
+ _time: Uniform<number>;
24
+ _factor: Uniform<number>;
25
+ constructor(parameters?: MeshStandardMaterialParameters);
26
+ onBeforeCompile(shader: {
27
+ vertexShader: string;
28
+ uniforms: {
29
+ [uniform: string]: IUniform;
30
+ };
31
+ }): void;
32
+ get time(): number;
33
+ set time(v: number);
34
+ get factor(): number;
35
+ set factor(v: number);
36
+ }
37
+ export declare const MeshWobbleMaterial: ForwardRefComponent<Props, WobbleMaterialImpl>;
38
+ export {};