@react-three/drei 9.80.7 → 9.80.8

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 (67) hide show
  1. package/core/AccumulativeShadows.d.ts +3 -38
  2. package/core/ArcballControls.d.ts +2 -2
  3. package/core/Billboard.d.ts +2 -2
  4. package/core/CameraControls.d.ts +2 -2
  5. package/core/CameraShake.d.ts +2 -2
  6. package/core/CatmullRomLine.d.ts +9 -7
  7. package/core/Caustics.d.ts +16 -31
  8. package/core/Center.d.ts +2 -20
  9. package/core/Clone.d.ts +2 -1
  10. package/core/ContactShadows.d.ts +2 -2
  11. package/core/CubicBezierLine.d.ts +6 -4
  12. package/core/CurveModifier.d.ts +2 -1
  13. package/core/Decal.d.ts +2 -1
  14. package/core/Detailed.d.ts +6 -21
  15. package/core/DeviceOrientationControls.d.ts +2 -2
  16. package/core/Edges.d.ts +7 -23
  17. package/core/Effects.d.ts +15 -14
  18. package/core/FirstPersonControls.d.ts +2 -2
  19. package/core/Float.d.ts +2 -1
  20. package/core/FlyControls.d.ts +2 -2
  21. package/core/Gltf.d.ts +5 -3
  22. package/core/Grid.d.ts +2 -4
  23. package/core/Image.d.ts +2 -26
  24. package/core/Instances.d.ts +3 -2
  25. package/core/Lightformer.d.ts +2 -29
  26. package/core/Line.d.ts +2 -2
  27. package/core/MapControls.d.ts +2 -2
  28. package/core/MarchingCubes.d.ts +17 -71
  29. package/core/Mask.d.ts +7 -5
  30. package/core/MeshDiscardMaterial.d.ts +2 -2
  31. package/core/MeshDistortMaterial.d.ts +23 -10
  32. package/core/MeshReflectorMaterial.d.ts +2 -2
  33. package/core/MeshTransmissionMaterial.d.ts +11 -10
  34. package/core/MeshWobbleMaterial.d.ts +20 -10
  35. package/core/OrbitControls.d.ts +2 -2
  36. package/core/OrthographicCamera.d.ts +11 -7
  37. package/core/PerspectiveCamera.d.ts +11 -7
  38. package/core/PointMaterial.d.ts +2 -2
  39. package/core/PointerLockControls.d.ts +2 -2
  40. package/core/Points.d.ts +4 -21
  41. package/core/PositionalAudio.d.ts +7 -23
  42. package/core/QuadraticBezierLine.d.ts +9 -7
  43. package/core/Reflector.d.ts +2 -1
  44. package/core/RenderTexture.d.ts +15 -12
  45. package/core/RoundedBox.d.ts +2 -3
  46. package/core/ScreenQuad.d.ts +2 -2
  47. package/core/ScreenSpace.d.ts +2 -2
  48. package/core/Segments.d.ts +3 -2
  49. package/core/Shadow.d.ts +10 -26
  50. package/core/Sky.d.ts +3 -2
  51. package/core/Sparkles.d.ts +3 -21
  52. package/core/SpotLight.d.ts +2 -1
  53. package/core/Stars.d.ts +3 -3
  54. package/core/Svg.d.ts +2 -2
  55. package/core/Text.d.ts +33 -48
  56. package/core/Text3D.d.ts +11 -26
  57. package/core/TrackballControls.d.ts +2 -2
  58. package/core/Trail.d.ts +7 -7
  59. package/core/TransformControls.d.ts +2 -1
  60. package/core/shapes.d.ts +20 -58
  61. package/core/useBVH.d.ts +2 -22
  62. package/helpers/ts-utils.d.ts +2 -0
  63. package/package.json +1 -1
  64. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  65. package/web/Html.d.ts +2 -1
  66. package/web/ScrollControls.d.ts +3 -1
  67. package/web/pivotControls/index.d.ts +2 -1
@@ -1,6 +1,7 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
3
  import { ReactThreeFiber } from '@react-three/fiber';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
5
  declare global {
5
6
  namespace JSX {
6
7
  interface IntrinsicElements {
@@ -53,10 +54,10 @@ export declare const Instance: React.ForwardRefExoticComponent<Pick<Omit<ReactTh
53
54
  } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers & {
54
55
  context?: React.Context<Api> | undefined;
55
56
  }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "geometry" | "context" | "instance" | "instanceKey"> & React.RefAttributes<unknown>>;
56
- export declare const Instances: React.ForwardRefExoticComponent<Pick<InstancesProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "range" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "count" | "instanceColor" | "instanceMatrix" | "isInstancedMesh" | "getColorAt" | "getMatrixAt" | "setColorAt" | "setMatrixAt" | "frames" | "limit"> & React.RefAttributes<InstancedMesh>>;
57
+ export declare const Instances: ForwardRefComponent<InstancesProps, InstancedMesh>;
57
58
  export interface MergedProps extends InstancesProps {
58
59
  meshes: THREE.Mesh[];
59
60
  children: React.ReactNode;
60
61
  }
61
- export declare const Merged: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<THREE.Group>>;
62
+ export declare const Merged: ForwardRefComponent<any, THREE.Group>;
62
63
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ReactThreeFiber } from '@react-three/fiber';
2
- import * as React from 'react';
3
2
  import * as THREE from 'three';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
4
  export declare type LightProps = JSX.IntrinsicElements['mesh'] & {
5
5
  args?: any[];
6
6
  map?: THREE.Texture;
@@ -11,31 +11,4 @@ export declare type LightProps = JSX.IntrinsicElements['mesh'] & {
11
11
  intensity?: number;
12
12
  target?: [number, number, number] | THREE.Vector3;
13
13
  };
14
- export declare const Lightformer: React.ForwardRefExoticComponent<Pick<Omit<ReactThreeFiber.ExtendedColors<ReactThreeFiber.Overwrite<Partial<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>, ReactThreeFiber.NodeProps<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>, typeof THREE.Mesh>>>, ReactThreeFiber.NonFunctionKeys<{
15
- position?: ReactThreeFiber.Vector3 | undefined;
16
- up?: ReactThreeFiber.Vector3 | undefined;
17
- scale?: ReactThreeFiber.Vector3 | undefined;
18
- rotation?: ReactThreeFiber.Euler | undefined;
19
- matrix?: ReactThreeFiber.Matrix4 | undefined;
20
- quaternion?: ReactThreeFiber.Quaternion | undefined;
21
- layers?: ReactThreeFiber.Layers | undefined;
22
- dispose?: (() => void) | null | undefined;
23
- }>> & {
24
- position?: ReactThreeFiber.Vector3 | undefined;
25
- up?: ReactThreeFiber.Vector3 | undefined;
26
- scale?: ReactThreeFiber.Vector3 | undefined;
27
- rotation?: ReactThreeFiber.Euler | undefined;
28
- matrix?: ReactThreeFiber.Matrix4 | undefined;
29
- quaternion?: ReactThreeFiber.Quaternion | undefined;
30
- layers?: ReactThreeFiber.Layers | undefined;
31
- dispose?: (() => void) | null | undefined;
32
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers & {
33
- args?: any[] | undefined;
34
- map?: THREE.Texture | undefined;
35
- toneMapped?: boolean | undefined;
36
- color?: ReactThreeFiber.Color | undefined;
37
- form?: 'circle' | 'ring' | 'rect' | any;
38
- scale?: number | [number, number] | [number, number, number] | undefined;
39
- intensity?: number | undefined;
40
- target?: THREE.Vector3 | [number, number, number] | undefined;
41
- }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "form" | "map" | "toneMapped" | "intensity" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "target"> & React.RefAttributes<unknown>>;
14
+ export declare const Lightformer: ForwardRefComponent<LightProps, THREE.Mesh>;
package/core/Line.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
2
1
  import { Vector2, Vector3, Color, ColorRepresentation } from 'three';
3
2
  import { ReactThreeFiber } from '@react-three/fiber';
4
3
  import { LineMaterial, LineMaterialParameters, Line2, LineSegments2 } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
5
  export declare type LineProps = {
6
6
  points: Array<Vector3 | Vector2 | [number, number, number] | [number, number] | number>;
7
7
  vertexColors?: Array<Color | [number, number, number]>;
@@ -10,4 +10,4 @@ export declare type LineProps = {
10
10
  } & Omit<LineMaterialParameters, 'vertexColors' | 'color'> & Omit<ReactThreeFiber.Object3DNode<Line2, typeof Line2>, 'args'> & Omit<ReactThreeFiber.Object3DNode<LineMaterial, [LineMaterialParameters]>, 'color' | 'vertexColors' | 'args'> & {
11
11
  color?: ColorRepresentation;
12
12
  };
13
- export declare const Line: React.ForwardRefExoticComponent<Pick<LineProps, "visible" | "attach" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "blending" | "transparent" | "dashed" | "points" | "fog" | "alphaTest" | "alphaToCoverage" | "blendDst" | "blendDstAlpha" | "blendEquation" | "blendEquationAlpha" | "blendSrc" | "blendSrcAlpha" | "clipIntersection" | "clippingPlanes" | "clipShadows" | "colorWrite" | "defines" | "depthFunc" | "depthTest" | "depthWrite" | "stencilWrite" | "stencilFunc" | "stencilRef" | "stencilWriteMask" | "stencilFuncMask" | "stencilFail" | "stencilZFail" | "stencilZPass" | "isMaterial" | "needsUpdate" | "opacity" | "polygonOffset" | "polygonOffsetFactor" | "polygonOffsetUnits" | "precision" | "premultipliedAlpha" | "forceSinglePass" | "dithering" | "side" | "shadowSide" | "toneMapped" | "vertexColors" | "version" | "onBeforeCompile" | "customProgramCacheKey" | "setValues" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition" | "computeLineDistances" | "uniforms" | "vertexShader" | "fragmentShader" | "linewidth" | "wireframe" | "wireframeLinewidth" | "lights" | "clipping" | "derivatives" | "extensions" | "defaultAttributeValues" | "index0AttributeName" | "uniformsNeedUpdate" | "glslVersion" | "isShaderMaterial" | "dashSize" | "gapSize" | "format" | "dashScale" | "dashOffset" | "resolution" | "worldUnits" | "isLine2" | "isLineSegments2" | "isLineMaterial" | "lineWidth" | "segments"> & React.RefAttributes<Line2 | LineSegments2>>;
13
+ export declare const Line: ForwardRefComponent<LineProps, Line2 | LineSegments2>;
@@ -1,7 +1,7 @@
1
1
  import { ReactThreeFiber } from '@react-three/fiber';
2
- import * as React from 'react';
3
2
  import * as THREE from 'three';
4
3
  import { MapControls as MapControlsImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
5
  export declare type MapControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<MapControlsImpl, typeof MapControlsImpl>, {
6
6
  target?: ReactThreeFiber.Vector3;
7
7
  camera?: THREE.Camera;
@@ -11,4 +11,4 @@ export declare type MapControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber
11
11
  onEnd?: (e?: THREE.Event) => void;
12
12
  domElement?: HTMLElement;
13
13
  }>;
14
- export declare const MapControls: React.ForwardRefExoticComponent<Pick<MapControlsProps, "object" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "reset" | "enabled" | "connect" | "update" | "target" | "domElement" | "onStart" | "keys" | "touches" | "makeDefault" | "minDistance" | "maxDistance" | "minZoom" | "maxZoom" | "minPolarAngle" | "maxPolarAngle" | "minAzimuthAngle" | "maxAzimuthAngle" | "enableDamping" | "dampingFactor" | "enableZoom" | "zoomSpeed" | "enableRotate" | "rotateSpeed" | "enablePan" | "panSpeed" | "screenSpacePanning" | "keyPanSpeed" | "autoRotate" | "autoRotateSpeed" | "reverseOrbit" | "mouseButtons" | "target0" | "position0" | "zoom0" | "_domElementKeyEvents" | "getPolarAngle" | "getAzimuthalAngle" | "setPolarAngle" | "setAzimuthalAngle" | "getDistance" | "listenToKeyEvents" | "saveState" | "onEnd"> & React.RefAttributes<MapControlsImpl>>;
14
+ export declare const MapControls: ForwardRefComponent<MapControlsProps, MapControlsImpl>;
@@ -1,78 +1,24 @@
1
1
  import * as THREE from 'three';
2
- import * as React from 'react';
2
+ import { Color } from 'three';
3
+ import { MarchingCubes as MarchingCubesImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
5
  export declare type MarchingCubesProps = {
4
6
  resolution?: number;
5
7
  maxPolyCount?: number;
6
8
  enableUvs?: boolean;
7
9
  enableColors?: boolean;
8
10
  } & JSX.IntrinsicElements['group'];
9
- export declare const MarchingCubes: React.ForwardRefExoticComponent<Pick<{
10
- resolution?: number | undefined;
11
- maxPolyCount?: number | undefined;
12
- enableUvs?: boolean | undefined;
13
- enableColors?: boolean | undefined;
14
- } & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<THREE.Group>, import("@react-three/fiber").NodeProps<THREE.Group, typeof THREE.Group>>>, import("@react-three/fiber").NonFunctionKeys<{
15
- position?: import("@react-three/fiber").Vector3 | undefined;
16
- up?: import("@react-three/fiber").Vector3 | undefined;
17
- scale?: import("@react-three/fiber").Vector3 | undefined;
18
- rotation?: import("@react-three/fiber").Euler | undefined;
19
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
20
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
21
- layers?: import("@react-three/fiber").Layers | undefined;
22
- dispose?: (() => void) | null | undefined;
23
- }>> & {
24
- position?: import("@react-three/fiber").Vector3 | undefined;
25
- up?: import("@react-three/fiber").Vector3 | undefined;
26
- scale?: import("@react-three/fiber").Vector3 | undefined;
27
- rotation?: import("@react-three/fiber").Euler | undefined;
28
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
29
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
30
- layers?: import("@react-three/fiber").Layers | undefined;
31
- dispose?: (() => void) | null | undefined;
32
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "resolution" | "maxPolyCount" | "enableUvs" | "enableColors"> & React.RefAttributes<unknown>>;
33
- export declare const MarchingCube: React.ForwardRefExoticComponent<Pick<{
34
- strength?: number | undefined;
35
- subtract?: number | undefined;
36
- color?: THREE.Color | undefined;
37
- } & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<THREE.Group>, import("@react-three/fiber").NodeProps<THREE.Group, typeof THREE.Group>>>, import("@react-three/fiber").NonFunctionKeys<{
38
- position?: import("@react-three/fiber").Vector3 | undefined;
39
- up?: import("@react-three/fiber").Vector3 | undefined;
40
- scale?: import("@react-three/fiber").Vector3 | undefined;
41
- rotation?: import("@react-three/fiber").Euler | undefined;
42
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
43
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
44
- layers?: import("@react-three/fiber").Layers | undefined;
45
- dispose?: (() => void) | null | undefined;
46
- }>> & {
47
- position?: import("@react-three/fiber").Vector3 | undefined;
48
- up?: import("@react-three/fiber").Vector3 | undefined;
49
- scale?: import("@react-three/fiber").Vector3 | undefined;
50
- rotation?: import("@react-three/fiber").Euler | undefined;
51
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
52
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
53
- layers?: import("@react-three/fiber").Layers | undefined;
54
- dispose?: (() => void) | null | undefined;
55
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "subtract" | "strength"> & React.RefAttributes<unknown>>;
56
- export declare const MarchingPlane: React.ForwardRefExoticComponent<Pick<{
57
- planeType?: "x" | "y" | "z" | undefined;
58
- strength?: number | undefined;
59
- subtract?: number | undefined;
60
- } & Omit<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<THREE.Group>, import("@react-three/fiber").NodeProps<THREE.Group, typeof THREE.Group>>>, import("@react-three/fiber").NonFunctionKeys<{
61
- position?: import("@react-three/fiber").Vector3 | undefined;
62
- up?: import("@react-three/fiber").Vector3 | undefined;
63
- scale?: import("@react-three/fiber").Vector3 | undefined;
64
- rotation?: import("@react-three/fiber").Euler | undefined;
65
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
66
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
67
- layers?: import("@react-three/fiber").Layers | undefined;
68
- dispose?: (() => void) | null | undefined;
69
- }>> & {
70
- position?: import("@react-three/fiber").Vector3 | undefined;
71
- up?: import("@react-three/fiber").Vector3 | undefined;
72
- scale?: import("@react-three/fiber").Vector3 | undefined;
73
- rotation?: import("@react-three/fiber").Euler | undefined;
74
- matrix?: import("@react-three/fiber").Matrix4 | undefined;
75
- quaternion?: import("@react-three/fiber").Quaternion | undefined;
76
- layers?: import("@react-three/fiber").Layers | undefined;
77
- dispose?: (() => void) | null | undefined;
78
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "subtract" | "strength" | "planeType"> & React.RefAttributes<unknown>>;
11
+ export declare const MarchingCubes: ForwardRefComponent<MarchingCubesProps, MarchingCubesImpl>;
12
+ declare 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
+ declare 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 CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as THREE from 'three';
2
- import * as React from 'react';
3
- export declare const Mask: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "id"> & {
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
+ declare type Props = Omit<JSX.IntrinsicElements['mesh'], 'id'> & {
4
4
  id: number;
5
- colorWrite?: boolean | undefined;
6
- depthWrite?: boolean | undefined;
7
- }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "colorWrite" | "depthWrite" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "getVertexPosition"> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
5
+ colorWrite?: boolean;
6
+ depthWrite?: boolean;
7
+ };
8
+ export declare const Mask: ForwardRefComponent<Props, THREE.Mesh>;
8
9
  export declare function useMask(id: number, inverse?: boolean): {
9
10
  stencilWrite: boolean;
10
11
  stencilRef: number;
@@ -13,3 +14,4 @@ export declare function useMask(id: number, inverse?: boolean): {
13
14
  stencilZFail: THREE.StencilOp;
14
15
  stencilZPass: THREE.StencilOp;
15
16
  };
17
+ export {};
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { ReactThreeFiber } from '@react-three/fiber';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
3
  declare global {
4
4
  namespace JSX {
5
5
  interface IntrinsicElements {
@@ -7,4 +7,4 @@ declare global {
7
7
  }
8
8
  }
9
9
  }
10
- export declare const MeshDiscardMaterial: React.ForwardRefExoticComponent<Pick<ReactThreeFiber.ExtendedColors<ReactThreeFiber.Overwrite<Partial<import("three").ShaderMaterial>, ReactThreeFiber.NodeProps<import("three").ShaderMaterial, [import("three").ShaderMaterialParameters]>>>, "attach" | "args" | "children" | "key" | "onUpdate" | keyof import("three").ShaderMaterial> & React.RefAttributes<import("three").ShaderMaterial>>;
10
+ export declare const MeshDiscardMaterial: ForwardRefComponent<JSX.IntrinsicElements['shaderMaterial'], THREE.ShaderMaterial>;
@@ -1,10 +1,14 @@
1
- import * as React from 'react';
2
- import { MeshPhysicalMaterial, MeshPhysicalMaterialParameters } from 'three';
1
+ import { MeshPhysicalMaterial, MeshPhysicalMaterialParameters, Shader } from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
3
  declare type DistortMaterialType = JSX.IntrinsicElements['meshPhysicalMaterial'] & {
4
4
  time?: number;
5
5
  distort?: number;
6
6
  radius?: number;
7
7
  };
8
+ declare type Props = DistortMaterialType & {
9
+ speed?: number;
10
+ factor?: number;
11
+ };
8
12
  declare global {
9
13
  namespace JSX {
10
14
  interface IntrinsicElements {
@@ -12,12 +16,21 @@ declare global {
12
16
  }
13
17
  }
14
18
  }
15
- export declare const MeshDistortMaterial: React.ForwardRefExoticComponent<Pick<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<MeshPhysicalMaterial>, import("@react-three/fiber").NodeProps<MeshPhysicalMaterial, [MeshPhysicalMaterialParameters]>>> & {
16
- time?: number | undefined;
17
- distort?: number | undefined;
18
- radius?: number | undefined;
19
- } & {
20
- speed?: number | undefined;
21
- factor?: number | undefined;
22
- }, "attach" | "args" | "children" | "key" | "onUpdate" | "time" | keyof MeshPhysicalMaterial | "radius" | "speed" | "distort" | "factor"> & React.RefAttributes<unknown>>;
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: Shader): void;
28
+ get time(): number;
29
+ set time(v: number);
30
+ get distort(): number;
31
+ set distort(v: number);
32
+ get radius(): number;
33
+ set radius(v: number);
34
+ }
35
+ export declare const MeshDistortMaterial: ForwardRefComponent<Props, DistortMaterialImpl>;
23
36
  export {};
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
1
  import { Texture } from 'three';
3
2
  import { MeshReflectorMaterialProps, MeshReflectorMaterial as MeshReflectorMaterialImpl } from '../materials/MeshReflectorMaterial';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
4
  declare type Props = JSX.IntrinsicElements['meshStandardMaterial'] & {
5
5
  resolution?: number;
6
6
  mixBlur?: number;
@@ -23,5 +23,5 @@ declare global {
23
23
  }
24
24
  }
25
25
  }
26
- export declare const MeshReflectorMaterial: React.ForwardRefExoticComponent<Pick<Props, "attach" | "args" | "children" | "key" | "onUpdate" | keyof import("three").MeshStandardMaterial | "blur" | "resolution" | "minDepthThreshold" | "maxDepthThreshold" | "depthScale" | "depthToBlurRatioBias" | "mixBlur" | "mixStrength" | "mirror" | "distortion" | "mixContrast" | "distortionMap" | "reflectorOffset"> & React.RefAttributes<MeshReflectorMaterialImpl>>;
26
+ export declare const MeshReflectorMaterial: ForwardRefComponent<Props, MeshReflectorMaterialImpl>;
27
27
  export {};
@@ -1,5 +1,5 @@
1
1
  import * as THREE from 'three';
2
- import * as React from 'react';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
3
  declare type MeshTransmissionMaterialType = Omit<JSX.IntrinsicElements['meshPhysicalMaterial'], 'args' | 'roughness' | 'thickness' | 'transmission'> & {
4
4
  transmission?: number;
5
5
  thickness?: number;
@@ -14,6 +14,15 @@ declare type MeshTransmissionMaterialType = Omit<JSX.IntrinsicElements['meshPhys
14
14
  time?: number;
15
15
  args?: [samples: number, transmissionSampler: boolean];
16
16
  };
17
+ declare type MeshTransmissionMaterialProps = Omit<MeshTransmissionMaterialType, 'args'> & {
18
+ transmissionSampler?: boolean;
19
+ backside?: boolean;
20
+ backsideThickness?: number;
21
+ resolution?: number;
22
+ backsideResolution?: number;
23
+ samples?: number;
24
+ background?: THREE.Texture | THREE.Color;
25
+ };
17
26
  declare global {
18
27
  namespace JSX {
19
28
  interface IntrinsicElements {
@@ -21,13 +30,5 @@ declare global {
21
30
  }
22
31
  }
23
32
  }
24
- export declare const MeshTransmissionMaterial: React.ForwardRefExoticComponent<Pick<Omit<MeshTransmissionMaterialType, "args"> & {
25
- transmissionSampler?: boolean | undefined;
26
- backside?: boolean | undefined;
27
- backsideThickness?: number | undefined;
28
- resolution?: number | undefined;
29
- backsideResolution?: number | undefined;
30
- samples?: number | undefined;
31
- background?: THREE.Color | THREE.Texture | undefined;
32
- }, "visible" | "attach" | "children" | "key" | "onUpdate" | "dispose" | "type" | "id" | "uuid" | "name" | "userData" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | "blending" | "map" | "time" | "transparent" | "fog" | "alphaTest" | "alphaToCoverage" | "blendDst" | "blendDstAlpha" | "blendEquation" | "blendEquationAlpha" | "blendSrc" | "blendSrcAlpha" | "clipIntersection" | "clippingPlanes" | "clipShadows" | "colorWrite" | "defines" | "depthFunc" | "depthTest" | "depthWrite" | "stencilWrite" | "stencilFunc" | "stencilRef" | "stencilWriteMask" | "stencilFuncMask" | "stencilFail" | "stencilZFail" | "stencilZPass" | "isMaterial" | "needsUpdate" | "opacity" | "polygonOffset" | "polygonOffsetFactor" | "polygonOffsetUnits" | "precision" | "premultipliedAlpha" | "forceSinglePass" | "dithering" | "side" | "shadowSide" | "toneMapped" | "vertexColors" | "version" | "onBeforeCompile" | "customProgramCacheKey" | "setValues" | "background" | "buffer" | "alphaMap" | "wireframe" | "wireframeLinewidth" | "clearcoat" | "clearcoatMap" | "clearcoatRoughness" | "clearcoatRoughnessMap" | "clearcoatNormalScale" | "clearcoatNormalMap" | "reflectivity" | "ior" | "sheen" | "sheenColor" | "sheenColorMap" | "sheenRoughness" | "sheenRoughnessMap" | "transmission" | "transmissionMap" | "thickness" | "thicknessMap" | "attenuationDistance" | "attenuationColor" | "specularIntensity" | "specularColor" | "specularIntensityMap" | "specularColorMap" | "iridescenceMap" | "iridescenceIOR" | "iridescence" | "iridescenceThicknessRange" | "iridescenceThicknessMap" | "roughness" | "metalness" | "lightMap" | "lightMapIntensity" | "aoMap" | "aoMapIntensity" | "emissive" | "emissiveIntensity" | "emissiveMap" | "bumpMap" | "bumpScale" | "normalMap" | "normalMapType" | "normalScale" | "displacementMap" | "displacementScale" | "displacementBias" | "roughnessMap" | "metalnessMap" | "envMap" | "envMapIntensity" | "wireframeLinecap" | "wireframeLinejoin" | "flatShading" | "isMeshStandardMaterial" | "anisotropy" | "resolution" | "samples" | "distortion" | "chromaticAberration" | "anisotropicBlur" | "distortionScale" | "temporalDistortion" | "transmissionSampler" | "backside" | "backsideThickness" | "backsideResolution"> & React.RefAttributes<unknown>>;
33
+ export declare const MeshTransmissionMaterial: ForwardRefComponent<MeshTransmissionMaterialProps, JSX.IntrinsicElements['meshTransmissionMaterial']>;
33
34
  export {};
@@ -1,10 +1,14 @@
1
- import * as React from 'react';
2
- import { MeshStandardMaterial, MeshStandardMaterialParameters } from 'three';
1
+ import { MeshStandardMaterial, MeshStandardMaterialParameters, Shader } from 'three';
2
+ import { ForwardRefComponent } from '../helpers/ts-utils';
3
3
  declare type WobbleMaterialType = JSX.IntrinsicElements['meshStandardMaterial'] & {
4
4
  time?: number;
5
5
  factor?: number;
6
6
  speed?: number;
7
7
  };
8
+ declare type Props = WobbleMaterialType & {
9
+ speed?: number;
10
+ factor?: number;
11
+ };
8
12
  declare global {
9
13
  namespace JSX {
10
14
  interface IntrinsicElements {
@@ -12,12 +16,18 @@ declare global {
12
16
  }
13
17
  }
14
18
  }
15
- export declare const MeshWobbleMaterial: React.ForwardRefExoticComponent<Pick<import("@react-three/fiber").ExtendedColors<import("@react-three/fiber").Overwrite<Partial<MeshStandardMaterial>, import("@react-three/fiber").NodeProps<MeshStandardMaterial, [MeshStandardMaterialParameters]>>> & {
16
- time?: number | undefined;
17
- factor?: number | undefined;
18
- speed?: number | undefined;
19
- } & {
20
- speed?: number | undefined;
21
- factor?: number | undefined;
22
- }, "attach" | "args" | "children" | "key" | "onUpdate" | "time" | keyof MeshStandardMaterial | "speed" | "factor"> & React.RefAttributes<unknown>>;
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: Shader): void;
27
+ get time(): number;
28
+ set time(v: number);
29
+ get factor(): number;
30
+ set factor(v: number);
31
+ }
32
+ export declare const MeshWobbleMaterial: ForwardRefComponent<Props, WobbleMaterialImpl>;
23
33
  export {};
@@ -1,7 +1,7 @@
1
1
  import { ReactThreeFiber } from '@react-three/fiber';
2
- import * as React from 'react';
3
2
  import type { Camera, Event } from 'three';
4
3
  import { OrbitControls as OrbitControlsImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
5
  export declare type OrbitControlsChangeEvent = Event & {
6
6
  target: EventTarget & {
7
7
  object: Camera;
@@ -19,4 +19,4 @@ export declare type OrbitControlsProps = Omit<ReactThreeFiber.Overwrite<ReactThr
19
19
  target?: ReactThreeFiber.Vector3;
20
20
  keyEvents?: boolean | HTMLElement;
21
21
  }>, 'ref'>;
22
- export declare const OrbitControls: React.ForwardRefExoticComponent<OrbitControlsProps & React.RefAttributes<OrbitControlsImpl>>;
22
+ export declare const OrbitControls: ForwardRefComponent<OrbitControlsProps, OrbitControlsImpl>;
@@ -1,10 +1,14 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
- export declare const OrthographicCamera: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").OrthographicCameraProps, "children"> & {
4
- makeDefault?: boolean | undefined;
5
- manual?: boolean | undefined;
3
+ import { OrthographicCamera as OrthographicCameraImpl } from 'three';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ declare type Props = Omit<JSX.IntrinsicElements['orthographicCamera'], 'children'> & {
6
+ makeDefault?: boolean;
7
+ manual?: boolean;
6
8
  children?: React.ReactNode | ((texture: THREE.Texture) => React.ReactNode);
7
- frames?: number | undefined;
8
- resolution?: number | undefined;
9
- envMap?: THREE.Texture | undefined;
10
- }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "left" | "right" | "bottom" | "top" | "manual" | "zoom" | "view" | "matrixWorldInverse" | "projectionMatrix" | "projectionMatrixInverse" | "isCamera" | "near" | "far" | "setViewOffset" | "clearViewOffset" | "updateProjectionMatrix" | "isOrthographicCamera" | "envMap" | "resolution" | "frames" | "makeDefault"> & React.RefAttributes<unknown>>;
9
+ frames?: number;
10
+ resolution?: number;
11
+ envMap?: THREE.Texture;
12
+ };
13
+ export declare const OrthographicCamera: ForwardRefComponent<Props, OrthographicCameraImpl>;
14
+ export {};
@@ -1,10 +1,14 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
- export declare const PerspectiveCamera: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").PerspectiveCameraProps, "children"> & {
4
- makeDefault?: boolean | undefined;
5
- manual?: boolean | undefined;
3
+ import { PerspectiveCamera as PerspectiveCameraImpl } from 'three';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
+ declare type Props = Omit<JSX.IntrinsicElements['perspectiveCamera'], 'children'> & {
6
+ makeDefault?: boolean;
7
+ manual?: boolean;
6
8
  children?: React.ReactNode | ((texture: THREE.Texture) => React.ReactNode);
7
- frames?: number | undefined;
8
- resolution?: number | undefined;
9
- envMap?: THREE.Texture | undefined;
10
- }, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "manual" | "zoom" | "view" | "matrixWorldInverse" | "projectionMatrix" | "projectionMatrixInverse" | "isCamera" | "near" | "far" | "isPerspectiveCamera" | "fov" | "aspect" | "focus" | "filmGauge" | "filmOffset" | "setFocalLength" | "getFocalLength" | "getEffectiveFOV" | "getFilmWidth" | "getFilmHeight" | "setViewOffset" | "clearViewOffset" | "updateProjectionMatrix" | "setLens" | "envMap" | "resolution" | "frames" | "makeDefault"> & React.RefAttributes<unknown>>;
9
+ frames?: number;
10
+ resolution?: number;
11
+ envMap?: THREE.Texture;
12
+ };
13
+ export declare const PerspectiveCamera: ForwardRefComponent<Props, PerspectiveCameraImpl>;
14
+ export {};
@@ -1,6 +1,6 @@
1
1
  import * as THREE from 'three';
2
- import * as React from 'react';
3
2
  import { PrimitiveProps } from '@react-three/fiber';
3
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
4
  declare type PointMaterialType = JSX.IntrinsicElements['pointsMaterial'];
5
5
  declare global {
6
6
  namespace JSX {
@@ -12,5 +12,5 @@ declare global {
12
12
  export declare class PointMaterialImpl extends THREE.PointsMaterial {
13
13
  constructor(props: any);
14
14
  }
15
- export declare const PointMaterial: React.ForwardRefExoticComponent<Pick<Omit<PrimitiveProps, "object" | "attach">, string | number> & React.RefAttributes<PointMaterialImpl>>;
15
+ export declare const PointMaterial: ForwardRefComponent<Omit<PrimitiveProps, 'object' | 'attach'>, PointMaterialImpl>;
16
16
  export {};
@@ -1,7 +1,7 @@
1
1
  import { ReactThreeFiber } from '@react-three/fiber';
2
- import * as React from 'react';
3
2
  import * as THREE from 'three';
4
3
  import { PointerLockControls as PointerLockControlsImpl } from 'three-stdlib';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
5
5
  export declare type PointerLockControlsProps = ReactThreeFiber.Object3DNode<PointerLockControlsImpl, typeof PointerLockControlsImpl> & {
6
6
  domElement?: HTMLElement;
7
7
  selector?: string;
@@ -12,4 +12,4 @@ export declare type PointerLockControlsProps = ReactThreeFiber.Object3DNode<Poin
12
12
  onUnlock?: (e?: THREE.Event) => void;
13
13
  makeDefault?: boolean;
14
14
  };
15
- export declare const PointerLockControls: React.ForwardRefExoticComponent<Pick<PointerLockControlsProps, "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "onChange" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "camera" | "enabled" | "connect" | "disconnect" | "domElement" | "makeDefault" | "minPolarAngle" | "maxPolarAngle" | "isLocked" | "pointerSpeed" | "getObject" | "getDirection" | "moveForward" | "moveRight" | "lock" | "unlock" | "selector" | "onLock" | "onUnlock"> & React.RefAttributes<PointerLockControlsImpl>>;
15
+ export declare const PointerLockControls: ForwardRefComponent<PointerLockControlsProps, PointerLockControlsImpl>;
package/core/Points.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as THREE from 'three';
2
2
  import * as React from 'react';
3
3
  import { ReactThreeFiber } from '@react-three/fiber';
4
+ import { ForwardRefComponent } from '../helpers/ts-utils';
4
5
  declare global {
5
6
  namespace JSX {
6
7
  interface IntrinsicElements {
@@ -21,31 +22,13 @@ export declare class PositionPoint extends THREE.Group {
21
22
  get geometry(): THREE.BufferGeometry | undefined;
22
23
  raycast(raycaster: THREE.Raycaster, intersects: THREE.Intersection[]): void;
23
24
  }
24
- export declare const Point: React.ForwardRefExoticComponent<Pick<Omit<ReactThreeFiber.ExtendedColors<ReactThreeFiber.Overwrite<Partial<PositionPoint>, ReactThreeFiber.NodeProps<PositionPoint, typeof PositionPoint>>>, ReactThreeFiber.NonFunctionKeys<{
25
- position?: ReactThreeFiber.Vector3 | undefined;
26
- up?: ReactThreeFiber.Vector3 | undefined;
27
- scale?: ReactThreeFiber.Vector3 | undefined;
28
- rotation?: ReactThreeFiber.Euler | undefined;
29
- matrix?: ReactThreeFiber.Matrix4 | undefined;
30
- quaternion?: ReactThreeFiber.Quaternion | undefined;
31
- layers?: ReactThreeFiber.Layers | undefined;
32
- dispose?: (() => void) | null | undefined;
33
- }>> & {
34
- position?: ReactThreeFiber.Vector3 | undefined;
35
- up?: ReactThreeFiber.Vector3 | undefined;
36
- scale?: ReactThreeFiber.Vector3 | undefined;
37
- rotation?: ReactThreeFiber.Euler | undefined;
38
- matrix?: ReactThreeFiber.Matrix4 | undefined;
39
- quaternion?: ReactThreeFiber.Quaternion | undefined;
40
- layers?: ReactThreeFiber.Layers | undefined;
41
- dispose?: (() => void) | null | undefined;
42
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "geometry" | "size" | "instance" | "instanceKey"> & React.RefAttributes<unknown>>;
25
+ export declare const Point: ForwardRefComponent<JSX.IntrinsicElements['positionPoint'], PositionPoint>;
43
26
  declare type PointsBuffersProps = JSX.IntrinsicElements['points'] & {
44
27
  positions: Float32Array;
45
28
  colors?: Float32Array;
46
29
  sizes?: Float32Array;
47
30
  stride?: 2 | 3;
48
31
  };
49
- export declare const PointsBuffer: React.ForwardRefExoticComponent<Pick<PointsBuffersProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "updateMorphTargets" | "isPoints" | "colors" | "stride" | "positions" | "sizes"> & React.RefAttributes<THREE.Points<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
50
- export declare const Points: React.ForwardRefExoticComponent<(Pick<PointsInstancesProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "range" | "morphTargetInfluences" | "morphTargetDictionary" | "updateMorphTargets" | "isPoints" | "limit"> | Pick<PointsBuffersProps, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getObjectsByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "updateMorphTargets" | "isPoints" | "colors" | "stride" | "positions" | "sizes">) & React.RefAttributes<THREE.Points<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
32
+ export declare const PointsBuffer: ForwardRefComponent<PointsBuffersProps, THREE.Points>;
33
+ export declare const Points: ForwardRefComponent<PointsBuffersProps | PointsInstancesProps, THREE.Points>;
51
34
  export {};