@react-three/drei 9.121.6-rc.1 → 9.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/AccumulativeShadows.d.ts +10 -8
- package/core/ArcballControls.d.ts +4 -4
- package/core/AsciiRenderer.d.ts +2 -1
- package/core/BBAnchor.d.ts +3 -3
- package/core/Backdrop.d.ts +1 -2
- package/core/Billboard.cjs.js +1 -1
- package/core/Billboard.d.ts +2 -3
- package/core/Billboard.js +1 -1
- package/core/Bounds.d.ts +1 -2
- package/core/Bvh.d.ts +2 -3
- package/core/CameraControls.d.ts +4 -4
- package/core/CatmullRomLine.d.ts +3 -2
- package/core/Caustics.d.ts +17 -14
- package/core/Center.d.ts +2 -3
- package/core/Clone.d.ts +4 -4
- package/core/Cloud.cjs.js +1 -1
- package/core/Cloud.d.ts +12 -50
- package/core/Cloud.js +3 -3
- package/core/ComputedAttribute.cjs.js +1 -1
- package/core/ComputedAttribute.d.ts +4 -3
- package/core/ComputedAttribute.js +1 -1
- package/core/ContactShadows.d.ts +2 -3
- package/core/CubeCamera.d.ts +3 -3
- package/core/CubeTexture.d.ts +6 -5
- package/core/CubeTexture.js +7 -2
- package/core/CubicBezierLine.d.ts +3 -2
- package/core/CurveModifier.d.ts +1 -2
- package/core/Decal.d.ts +2 -2
- package/core/Detailed.d.ts +3 -3
- package/core/DetectGPU.d.ts +2 -1
- package/core/DeviceOrientationControls.d.ts +2 -2
- package/core/Edges.cjs.js +1 -1
- package/core/Edges.d.ts +2 -2
- package/core/Edges.js +2 -2
- package/core/Effects.cjs.js +1 -1
- package/core/Effects.d.ts +13 -9
- package/core/Effects.js +3 -3
- package/core/Environment.cjs.js +1 -1
- package/core/Environment.d.ts +7 -5
- package/core/Fbo.d.ts +4 -1
- package/core/Fbo.js +2 -0
- package/core/Fbx.d.ts +1 -1
- package/core/FirstPersonControls.d.ts +2 -2
- package/core/Fisheye.d.ts +1 -2
- package/core/Float.d.ts +1 -2
- package/core/FlyControls.d.ts +2 -2
- package/core/GizmoHelper.d.ts +1 -2
- package/core/GizmoViewport.d.ts +2 -2
- package/core/Gltf.d.ts +5 -9
- package/core/GradientTexture.d.ts +4 -4
- package/core/GradientTexture.js +2 -0
- package/core/Grid.d.ts +7 -6
- package/core/Helper.cjs.js +1 -1
- package/core/Helper.d.ts +1 -1
- package/core/Helper.js +1 -1
- package/core/Hud.d.ts +2 -1
- package/core/Image.d.ts +8 -6
- package/core/Instances.cjs.js +1 -1
- package/core/Instances.d.ts +35 -27
- package/core/Instances.js +30 -35
- package/core/Ktx2.d.ts +1 -1
- package/core/Lightformer.d.ts +3 -3
- package/core/Line.d.ts +4 -4
- package/core/MapControls.d.ts +4 -4
- package/core/MarchingCubes.d.ts +6 -6
- package/core/Mask.d.ts +3 -3
- package/core/MeshDiscardMaterial.d.ts +7 -6
- package/core/MeshDistortMaterial.d.ts +17 -15
- package/core/MeshPortalMaterial.cjs.js +1 -1
- package/core/MeshPortalMaterial.d.ts +17 -14
- package/core/MeshPortalMaterial.js +2 -2
- package/core/MeshReflectorMaterial.cjs.js +1 -1
- package/core/MeshReflectorMaterial.d.ts +22 -9
- package/core/MeshReflectorMaterial.js +4 -2
- package/core/MeshRefractionMaterial.cjs.js +1 -1
- package/core/MeshRefractionMaterial.d.ts +8 -5
- package/core/MeshRefractionMaterial.js +2 -2
- package/core/MeshTransmissionMaterial.cjs.js +1 -1
- package/core/MeshTransmissionMaterial.d.ts +8 -7
- package/core/MeshTransmissionMaterial.js +1 -2
- package/core/MeshWobbleMaterial.d.ts +17 -15
- package/core/MotionPathControls.cjs.js +1 -1
- package/core/MotionPathControls.d.ts +11 -18
- package/core/MotionPathControls.js +32 -24
- package/core/MultiMaterial.cjs.js +1 -1
- package/core/MultiMaterial.d.ts +1 -3
- package/core/MultiMaterial.js +3 -2
- package/core/OrbitControls.d.ts +4 -4
- package/core/OrthographicCamera.d.ts +3 -3
- package/core/Outlines.cjs.js +1 -1
- package/core/Outlines.d.ts +3 -2
- package/core/Outlines.js +2 -2
- package/core/PerformanceMonitor.d.ts +2 -2
- package/core/PerspectiveCamera.d.ts +3 -3
- package/core/PointMaterial.d.ts +11 -3
- package/core/PointerLockControls.d.ts +2 -2
- package/core/Points.cjs.js +1 -1
- package/core/Points.d.ts +13 -10
- package/core/Points.js +16 -6
- package/core/PositionalAudio.d.ts +3 -3
- package/core/Preload.d.ts +3 -2
- package/core/QuadraticBezierLine.d.ts +7 -5
- package/core/Reflector.cjs.js +1 -0
- package/core/Reflector.d.ts +30 -0
- package/core/Reflector.js +180 -0
- package/core/RenderCubeTexture.d.ts +2 -2
- package/core/RenderTexture.cjs.js +1 -1
- package/core/RenderTexture.d.ts +3 -3
- package/core/RenderTexture.js +2 -3
- package/core/Resize.d.ts +2 -9
- package/core/RoundedBox.d.ts +4 -4
- package/core/Sampler.d.ts +4 -4
- package/core/ScreenQuad.d.ts +3 -3
- package/core/ScreenSizer.d.ts +3 -3
- package/core/ScreenSpace.d.ts +2 -3
- package/core/Segments.d.ts +8 -6
- package/core/Shadow.d.ts +3 -3
- package/core/ShadowAlpha.cjs.js +1 -1
- package/core/ShadowAlpha.d.ts +2 -1
- package/core/ShadowAlpha.js +1 -1
- package/core/Sky.d.ts +3 -2
- package/core/Sparkles.d.ts +16 -14
- package/core/Splat.d.ts +8 -6
- package/core/SpotLight.d.ts +1 -2
- package/core/SpriteAnimator.cjs.js +1 -1
- package/core/SpriteAnimator.d.ts +3 -36
- package/core/Stage.cjs.js +1 -1
- package/core/Stage.d.ts +2 -3
- package/core/Stars.cjs.js +1 -1
- package/core/Stars.d.ts +8 -6
- package/core/Stars.js +1 -1
- package/core/Stats.d.ts +3 -2
- package/core/StatsGl.d.ts +2 -2
- package/core/Svg.d.ts +6 -6
- package/core/Text.d.ts +4 -3
- package/core/Text3D.d.ts +10 -7
- package/core/Texture.d.ts +1 -1
- package/core/TrackballControls.d.ts +4 -4
- package/core/Trail.cjs.js +1 -1
- package/core/Trail.d.ts +3 -3
- package/core/Trail.js +3 -3
- package/core/TrailTexture.d.ts +2 -3
- package/core/TransformControls.cjs.js +1 -1
- package/core/TransformControls.d.ts +3 -3
- package/core/TransformControls.js +5 -4
- package/core/VideoTexture.cjs.js +1 -1
- package/core/VideoTexture.js +1 -1
- package/core/Wireframe.d.ts +7 -5
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +3 -1
- package/core/shapes.d.ts +20 -21
- package/core/softShadows.d.ts +2 -1
- package/core/useAnimations.cjs.js +1 -1
- package/core/useAnimations.d.ts +2 -2
- package/core/useAnimations.js +1 -1
- package/core/useBoxProjectedEnv.d.ts +1 -1
- package/core/useCamera.cjs.js +1 -1
- package/core/useCamera.d.ts +1 -1
- package/core/useCamera.js +8 -1
- package/core/useContextBridge.d.ts +1 -1
- package/core/useEnvironment.cjs.js +1 -1
- package/core/useEnvironment.d.ts +4 -3
- package/core/useEnvironment.js +19 -11
- package/core/useIntersect.d.ts +1 -1
- package/core/useSpriteLoader.d.ts +1 -1
- package/helpers/deprecated.cjs.js +1 -1
- package/helpers/deprecated.d.ts +4 -1
- package/helpers/deprecated.js +14 -2
- package/helpers/ts-utils.d.ts +0 -4
- package/helpers/useEffectfulState.d.ts +1 -1
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- package/materials/BlurPass.js +1 -0
- package/materials/MeshReflectorMaterial.d.ts +16 -0
- package/native/index.cjs.js +1 -1
- package/native/index.js +3 -1
- package/package.json +8 -7
- package/web/CycleRaycast.d.ts +1 -1
- package/web/FaceLandmarker.d.ts +2 -1
- package/web/Facemesh.d.ts +2 -3
- package/web/Html.cjs.js +1 -1
- package/web/Html.d.ts +4 -4
- package/web/Html.js +1 -1
- package/web/KeyboardControls.d.ts +1 -1
- package/web/PresentationControls.cjs.js +1 -1
- package/web/PresentationControls.d.ts +4 -3
- package/web/PresentationControls.js +28 -20
- package/web/ScrollControls.d.ts +1 -1
- package/web/Select.d.ts +3 -3
- package/web/Select.js +2 -6
- package/web/View.cjs.js +1 -1
- package/web/View.d.ts +10 -8
- package/web/View.js +34 -4
- package/web/index.cjs.js +1 -1
- package/web/index.js +3 -0
- package/web/pivotControls/AxisArrow.js +2 -0
- package/web/pivotControls/AxisRotator.js +2 -0
- package/web/pivotControls/PlaneSlider.js +2 -0
- package/web/pivotControls/ScalingSphere.js +1 -0
- package/web/pivotControls/index.d.ts +2 -1
package/core/Sparkles.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import {
|
|
2
|
+
import { PointsProps, MaterialNode } from '@react-three/fiber';
|
|
3
3
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
+
interface Props {
|
|
5
|
+
count?: number;
|
|
6
|
+
speed?: number | Float32Array;
|
|
7
|
+
opacity?: number | Float32Array;
|
|
8
|
+
color?: THREE.ColorRepresentation | Float32Array;
|
|
9
|
+
size?: number | Float32Array;
|
|
10
|
+
scale?: number | [number, number, number] | THREE.Vector3;
|
|
11
|
+
noise?: number | [number, number, number] | THREE.Vector3 | Float32Array;
|
|
12
|
+
}
|
|
4
13
|
declare class SparklesImplMaterial extends THREE.ShaderMaterial {
|
|
5
14
|
constructor();
|
|
6
15
|
get time(): number;
|
|
@@ -8,19 +17,12 @@ declare class SparklesImplMaterial extends THREE.ShaderMaterial {
|
|
|
8
17
|
get pixelRatio(): number;
|
|
9
18
|
set pixelRatio(value: number);
|
|
10
19
|
}
|
|
11
|
-
declare
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
declare global {
|
|
21
|
+
namespace JSX {
|
|
22
|
+
interface IntrinsicElements {
|
|
23
|
+
sparklesImplMaterial: MaterialNode<SparklesImplMaterial, typeof SparklesImplMaterial>;
|
|
24
|
+
}
|
|
14
25
|
}
|
|
15
26
|
}
|
|
16
|
-
export
|
|
17
|
-
count?: number;
|
|
18
|
-
speed?: number | Float32Array;
|
|
19
|
-
opacity?: number | Float32Array;
|
|
20
|
-
color?: THREE.ColorRepresentation | Float32Array;
|
|
21
|
-
size?: number | Float32Array;
|
|
22
|
-
scale?: number | [number, number, number] | THREE.Vector3;
|
|
23
|
-
noise?: number | [number, number, number] | THREE.Vector3 | Float32Array;
|
|
24
|
-
};
|
|
25
|
-
export declare const Sparkles: ForwardRefComponent<SparklesProps, THREE.Points>;
|
|
27
|
+
export declare const Sparkles: ForwardRefComponent<Props & PointsProps, THREE.Points>;
|
|
26
28
|
export {};
|
package/core/Splat.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { ThreeElements } from '@react-three/fiber';
|
|
4
3
|
export type SplatMaterialType = {
|
|
5
4
|
alphaTest?: number;
|
|
6
5
|
alphaHash?: boolean;
|
|
@@ -41,16 +40,19 @@ export type SharedState = {
|
|
|
41
40
|
update(target: TargetMesh, camera: THREE.Camera, hashed: boolean): void;
|
|
42
41
|
onProgress?: (event: ProgressEvent) => void;
|
|
43
42
|
};
|
|
44
|
-
declare
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
declare global {
|
|
44
|
+
namespace JSX {
|
|
45
|
+
interface IntrinsicElements {
|
|
46
|
+
splatMaterial: SplatMaterialType & JSX.IntrinsicElements['shaderMaterial'];
|
|
47
|
+
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
type SplatProps = {
|
|
50
51
|
src: string;
|
|
51
52
|
toneMapped?: boolean;
|
|
52
53
|
alphaTest?: number;
|
|
53
54
|
alphaHash?: boolean;
|
|
54
55
|
chunkSize?: number;
|
|
55
|
-
} &
|
|
56
|
+
} & JSX.IntrinsicElements['mesh'];
|
|
56
57
|
export declare function Splat({ src, toneMapped, alphaTest, alphaHash, chunkSize, ...props }: SplatProps): React.JSX.Element;
|
|
58
|
+
export {};
|
package/core/SpotLight.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DepthTexture, SpotLight as SpotLightImpl, Texture } from 'three';
|
|
3
|
-
import { ThreeElements } from '@react-three/fiber';
|
|
4
3
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
5
|
-
|
|
4
|
+
type SpotLightProps = JSX.IntrinsicElements['spotLight'] & {
|
|
6
5
|
depthBuffer?: DepthTexture;
|
|
7
6
|
attenuation?: number;
|
|
8
7
|
anglePower?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("@react-three/fiber"),n=require("three"),u=require("./Instances.cjs.js"),a=require("./Billboard.cjs.js"),c=require("./useSpriteLoader.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("../helpers/deprecated.cjs.js");var o=l(e),i=s(r),m=s(n);const f=i.createContext(null);const p=new m.PlaneGeometry(1,1),d=i.forwardRef((({startFrame:e=0,endFrame:r,fps:n=30,frameName:l="",textureDataURL:s,textureImageURL:d,loop:h=!1,numberOfFrames:v=1,autoPlay:y=!0,animationNames:w,onStart:E,onEnd:F,onLoopEnd:b,onFrame:g,play:x,pause:S=!1,flipX:j=!1,alphaTest:R=0,children:A,asSprite:M=!1,offset:N,playBackwards:O=!1,resetOnEnd:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("@react-three/fiber"),n=require("three"),u=require("./Instances.cjs.js"),a=require("./Billboard.cjs.js"),c=require("./useSpriteLoader.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("react-composer"),require("../helpers/deprecated.cjs.js");var o=l(e),i=s(r),m=s(n);const f=i.createContext(null);const p=new m.PlaneGeometry(1,1),d=i.forwardRef((({startFrame:e=0,endFrame:r,fps:n=30,frameName:l="",textureDataURL:s,textureImageURL:d,loop:h=!1,numberOfFrames:v=1,autoPlay:y=!0,animationNames:w,onStart:E,onEnd:F,onLoopEnd:b,onFrame:g,play:x,pause:S=!1,flipX:j=!1,alphaTest:R=0,children:A,asSprite:M=!1,offset:N,playBackwards:O=!1,resetOnEnd:q=!1,maxItems:z=1,instanceItems:D=[[0,0,0]],spriteDataset:L,canvasRenderingContext2DSettings:P,roundFramePosition:T=!1,meshProps:I={},...k},B)=>{const C=i.useRef(new m.Group),V=i.useRef(null),_=i.useRef(null),U=i.useRef(null),G=i.useRef(window.performance.now()),H=i.useRef(e),J=i.useRef(l),W=n>0?1e3/n:0,[X,K]=i.useState(new m.Texture),Q=i.useRef(0),[Y,Z]=i.useState(new m.Vector3(1,1,1)),$=j?-1:1,ee=i.useRef(S),re=i.useRef(N),te=i.useRef(!1),{spriteObj:ne,loadJsonAndTexture:ue}=c.useSpriteLoader(null,null,w,v,void 0,P),ae=i.useRef(l),ce=i.useCallback(((e,r)=>{if(null===r)v&&(Q.current=v,O&&(H.current=v-1),V.current=r);else{var t,n;V.current=r,V.current&&Array.isArray(V.current.frames)?Q.current=V.current.frames.length:V.current&&"object"==typeof V.current&&ae.current?Q.current=V.current.frames[ae.current].length:Q.current=0,O&&(H.current=Q.current-1);const{w:u,h:a}=c.getFirstFrame(null!==(t=null==(n=V.current)?void 0:n.frames)&&void 0!==t?t:[],ae.current).sourceSize,l=oe(u,a);Z(l),_.current&&(_.current.map=e)}K(e)}),[v,O]),le=i.useCallback((()=>{if(!V.current)return;const{meta:{size:e},frames:r}=V.current,{w:t,h:n}=Array.isArray(r)?r[0].sourceSize:l&&r[l]?r[l][0].sourceSize:{w:0,h:0};_.current&&_.current.map&&(_.current.map.wrapS=_.current.map.wrapT=m.RepeatWrapping,_.current.map.center.set(0,0),_.current.map.repeat.set(1*$/(e.w/t),1/(e.h/n)));const u=1/((e.h-1)/n);_.current&&_.current.map&&(_.current.map.offset.x=0,_.current.map.offset.y=1-u),E&&E({currentFrameName:null!=l?l:"",currentFrame:H.current})}),[$,l,E]),se=i.useMemo((()=>({current:re.current,offset:re.current,imageUrl:d,hasEnded:!1,ref:B})),[d,B]);i.useImperativeHandle(B,(()=>C.current),[]),i.useLayoutEffect((()=>{re.current=N}),[N]);const oe=(e,r)=>{var t;const n=new m.Vector3,u=r/e;return n.set(1,u,1),null==(t=U.current)||t.scale.copy(n),n};i.useEffect((()=>{var e;L?ce(null==L||null==(e=L.spriteTexture)?void 0:e.clone(),L.spriteData):d&&s&&ue(d,s)}),[ue,L,s,d,ce]),i.useEffect((()=>{var e;ne&&ce(null==ne||null==(e=ne.spriteTexture)?void 0:e.clone(),null==ne?void 0:ne.spriteData)}),[ne,ce]),i.useEffect((()=>{var e;(se.hasEnded=!1,V.current&&!0===O)?H.current=(null!==(e=V.current.frames.length)&&void 0!==e?e:0)-1:H.current=0}),[O,se]),i.useLayoutEffect((()=>{le()}),[X,j,le]),i.useEffect((()=>{y&&(ee.current=!1)}),[y]),i.useLayoutEffect((()=>{if(J.current!==l&&l&&(H.current=0,J.current=l,se.hasEnded=!1,W<=0&&(H.current=r||e||0),V.current)){const{w:e,h:r}=c.getFirstFrame(V.current.frames,l).sourceSize,t=oe(e,r);Z(t)}}),[l,W,se,r,e]);const ie=(e,r,t,n)=>{var u=void 0===N?se.current:N;const a=H.current;let c=0,l=0;oe(e,r);const s=T?Math.round((t.w-1)/e):(t.w-1)/e,o=T?Math.round((t.h-1)/r):(t.h-1)/r;if(!n[a])return;const{frame:{x:i,y:m},sourceSize:{w:f,h:p}}=n[a],d=1/s,h=1/o;if(_.current&&_.current.map&&(c=$>0?d*(i/f):d*(i/f)-_.current.map.repeat.x,l=Math.abs(1-h)-h*(m/p),_.current.map.offset.x=c,_.current.map.offset.y=l),null!=u){let e=Math.floor(u*n.length);e=Math.max(0,Math.min(e,n.length-1)),isNaN(e)&&(e=0),H.current=e}else O?H.current-=1:H.current+=1};return t.useFrame(((t,n)=>{var u,a;null!=(u=V.current)&&u.frames&&null!=(a=_.current)&&a.map&&(ee.current||se.hasEnded||!y&&!x||((()=>{if(null===(t=V.current)||!("meta"in t)||!("frames"in t))return;var t;const{meta:{size:n},frames:u}=V.current,{w:a,h:s}=c.getFirstFrame(u,l).sourceSize,o=Array.isArray(u)?u:l?u[l]:[],i=r||o.length-1;var m=void 0===N?se.current:N;if(W<=0)return H.current=r||e||0,void ie(a,s,n,o);const f=window.performance.now(),p=f-G.current;if(!(p<=W)){var d=O?H.current<0:H.current>i,v=O?H.current===i:0===H.current,y=O?H.current<0:H.current>=i;if(d){if(H.current=h&&null!=e?e:0,O&&(H.current=i),h?null==b||b({currentFrameName:null!=l?l:"",currentFrame:H.current}):(null==F||F({currentFrameName:null!=l?l:"",currentFrame:H.current}),se.hasEnded=!q,q&&(ee.current=!0)),!h)return}else v&&(null==E||E({currentFrameName:null!=l?l:"",currentFrame:H.current}));void 0!==m&&y?!1===te.current&&(null==F||F({currentFrameName:null!=l?l:"",currentFrame:H.current}),te.current=!0):te.current=!1,p<=W||(G.current=f-p%W,ie(a,s,n,o))}})(),null==g||g({currentFrameName:J.current,currentFrame:H.current})))})),i.createElement("group",o.default({},k,{ref:C,scale:function(e=new m.Vector3(1,1,1),r=1){return"number"==typeof r?e.multiplyScalar(r):Array.isArray(r)?e.multiply(new m.Vector3(...r)):r instanceof m.Vector3?e.multiply(r):void 0}(Y,k.scale)}),i.createElement(f.Provider,{value:se},M&&i.createElement(a.Billboard,null,i.createElement("mesh",o.default({ref:U,scale:1,geometry:p},I),i.createElement("meshBasicMaterial",{premultipliedAlpha:!1,toneMapped:!1,side:m.DoubleSide,ref:_,map:X,transparent:!0,alphaTest:null!=R?R:0}))),!M&&i.createElement(u.Instances,o.default({geometry:p,limit:null!=z?z:1},I),i.createElement("meshBasicMaterial",{premultipliedAlpha:!1,toneMapped:!1,side:m.DoubleSide,ref:_,map:X,transparent:!0,alphaTest:null!=R?R:0}),(null!=D?D:[0]).map(((e,r)=>i.createElement(u.Instance,o.default({key:r,ref:1===(null==D?void 0:D.length)?U:null,position:e,scale:1},I))))),A))}));exports.SpriteAnimator=d,exports.useSpriteAnimator=function(){return i.useContext(f)};
|
package/core/SpriteAnimator.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Vector3 } from '@react-three/fiber';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Instances, Instance } from './Instances';
|
|
5
5
|
import { SpriteData } from './useSpriteLoader';
|
|
@@ -42,7 +42,7 @@ export type SpriteAnimatorProps = {
|
|
|
42
42
|
canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
|
|
43
43
|
roundFramePosition?: boolean;
|
|
44
44
|
meshProps?: CommonMeshProps;
|
|
45
|
-
} &
|
|
45
|
+
} & JSX.IntrinsicElements['group'];
|
|
46
46
|
type SpriteAnimatorState = {
|
|
47
47
|
current?: number;
|
|
48
48
|
offset?: number;
|
|
@@ -51,38 +51,5 @@ type SpriteAnimatorState = {
|
|
|
51
51
|
ref: React.Ref<THREE.Group>;
|
|
52
52
|
};
|
|
53
53
|
export declare function useSpriteAnimator(): SpriteAnimatorState | null;
|
|
54
|
-
export declare const SpriteAnimator: React.ForwardRefExoticComponent<
|
|
55
|
-
startFrame?: number;
|
|
56
|
-
endFrame?: number;
|
|
57
|
-
fps?: number;
|
|
58
|
-
frameName?: string;
|
|
59
|
-
textureDataURL?: string;
|
|
60
|
-
textureImageURL?: string;
|
|
61
|
-
loop?: boolean;
|
|
62
|
-
numberOfFrames?: number;
|
|
63
|
-
autoPlay?: boolean;
|
|
64
|
-
animationNames?: Array<string>;
|
|
65
|
-
onStart?: (data: AnimationEventData) => void;
|
|
66
|
-
onEnd?: (data: AnimationEventData) => void;
|
|
67
|
-
onLoopEnd?: (data: AnimationEventData) => void;
|
|
68
|
-
onFrame?: (data: AnimationEventData) => void;
|
|
69
|
-
play?: boolean;
|
|
70
|
-
pause?: boolean;
|
|
71
|
-
flipX?: boolean;
|
|
72
|
-
alphaTest?: number;
|
|
73
|
-
asSprite?: boolean;
|
|
74
|
-
offset?: number;
|
|
75
|
-
playBackwards?: boolean;
|
|
76
|
-
resetOnEnd?: boolean;
|
|
77
|
-
instanceItems?: Vector3[];
|
|
78
|
-
maxItems?: number;
|
|
79
|
-
spriteDataset?: {
|
|
80
|
-
spriteTexture: THREE.Texture;
|
|
81
|
-
spriteData: SpriteData | null;
|
|
82
|
-
aspect: Vector3;
|
|
83
|
-
} | null;
|
|
84
|
-
canvasRenderingContext2DSettings?: CanvasRenderingContext2DSettings;
|
|
85
|
-
roundFramePosition?: boolean;
|
|
86
|
-
meshProps?: CommonMeshProps;
|
|
87
|
-
} & Omit<import("@react-three/fiber/dist/declarations/src/core/utils").Mutable<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<Partial<import("@react-three/fiber/dist/declarations/src/core/utils").Overwrite<THREE.Group<THREE.Object3DEventMap>, import("@react-three/fiber").MathProps<THREE.Group<THREE.Object3DEventMap>> & import("@react-three/fiber").ReactProps<THREE.Group<THREE.Object3DEventMap>> & Partial<import("@react-three/fiber").EventHandlers>>>, Omit<import("@react-three/fiber").InstanceProps<THREE.Group<THREE.Object3DEventMap>, typeof THREE.Group>, "object">>>, "ref"> & React.RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
|
|
54
|
+
export declare const SpriteAnimator: React.ForwardRefExoticComponent<Omit<SpriteAnimatorProps, "ref"> & React.RefAttributes<THREE.Group>>;
|
|
88
55
|
export {};
|
package/core/Stage.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),i=require("./Environment.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),i=require("./Environment.cjs.js"),r=require("./ContactShadows.cjs.js"),n=require("./Center.cjs.js"),a=require("./AccumulativeShadows.cjs.js"),s=require("./Bounds.cjs.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("three"),require("three-stdlib"),require("./useEnvironment.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../helpers/deprecated.cjs.js"),require("./shaderMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/constants.cjs.js");var o=l(e),c=u(t);const d={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};function m({radius:e,adjustCamera:t}){const i=s.useBounds();return c.useEffect((()=>{t&&i.refresh().clip().fit()}),[e,t]),null}exports.Stage=function({children:e,center:t,adjustCamera:l=!0,intensity:u=.5,shadows:f="contact",environment:p="city",preset:h="rembrandt",...j}){var v,b,g,q,y,E,w,C;const S="string"==typeof h?d[h]:h,[{radius:O,height:z},B]=c.useState({radius:0,width:0,height:0,depth:0}),M=null!==(v=null==f?void 0:f.bias)&&void 0!==v?v:-1e-4,L=null!==(b=null==f?void 0:f.normalBias)&&void 0!==b?b:0,_=null!==(g=null==f?void 0:f.size)&&void 0!==g?g:1024,x=null!==(q=null==f?void 0:f.offset)&&void 0!==q?q:0,P="contact"===f||"contact"===(null==f?void 0:f.type),k="accumulative"===f||"accumulative"===(null==f?void 0:f.type),A={..."object"==typeof f?f:{}},D=p?"string"==typeof p?{preset:p}:p:null,F=c.useCallback((e=>{const{width:i,height:r,depth:n,boundingSphere:a}=e;B({radius:a.radius,width:i,height:r,depth:n}),null!=t&&t.onCentered&&t.onCentered(e)}),[]);return c.createElement(c.Fragment,null,c.createElement("ambientLight",{intensity:u/3}),c.createElement("spotLight",{penumbra:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],intensity:2*u,castShadow:!!f,"shadow-bias":M,"shadow-normalBias":L,"shadow-mapSize":_}),c.createElement("pointLight",{position:[S.fill[0]*O,S.fill[1]*O,S.fill[2]*O],intensity:u}),c.createElement(s.Bounds,o.default({fit:!!l,clip:!!l,margin:Number(l),observe:!0},j),c.createElement(m,{radius:O,adjustCamera:l}),c.createElement(n.Center,o.default({},t,{position:[0,x/2,0],onCentered:F}),e)),c.createElement("group",{position:[0,-z/2-x/2,0]},P&&c.createElement(r.ContactShadows,o.default({scale:4*O,far:O,blur:2},A)),k&&c.createElement(a.AccumulativeShadows,o.default({temporal:!0,frames:100,alphaTest:.9,toneMapped:!0,scale:4*O},A),c.createElement(a.RandomizedLight,{amount:null!==(y=A.amount)&&void 0!==y?y:8,radius:null!==(E=A.radius)&&void 0!==E?E:O,ambient:null!==(w=A.ambient)&&void 0!==w?w:.5,intensity:null!==(C=A.intensity)&&void 0!==C?C:1,position:[S.main[0]*O,S.main[1]*O,S.main[2]*O],size:4*O,bias:-M,mapSize:_}))),p&&c.createElement(i.Environment,D))};
|
package/core/Stage.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { ContactShadowsProps } from './ContactShadows';
|
|
|
4
4
|
import { CenterProps } from './Center';
|
|
5
5
|
import { AccumulativeShadowsProps, RandomizedLightProps } from './AccumulativeShadows';
|
|
6
6
|
import { PresetsType } from '../helpers/environment-assets';
|
|
7
|
-
import { ThreeElements } from '@react-three/fiber';
|
|
8
7
|
type StageShadows = Partial<AccumulativeShadowsProps> & Partial<RandomizedLightProps> & Partial<ContactShadowsProps> & {
|
|
9
8
|
type: 'contact' | 'accumulative';
|
|
10
9
|
offset?: number;
|
|
@@ -12,7 +11,7 @@ type StageShadows = Partial<AccumulativeShadowsProps> & Partial<RandomizedLightP
|
|
|
12
11
|
normalBias?: number;
|
|
13
12
|
size?: number;
|
|
14
13
|
};
|
|
15
|
-
|
|
14
|
+
type StageProps = {
|
|
16
15
|
preset?: 'rembrandt' | 'portrait' | 'upfront' | 'soft' | {
|
|
17
16
|
main: [x: number, y: number, z: number];
|
|
18
17
|
fill: [x: number, y: number, z: number];
|
|
@@ -23,5 +22,5 @@ export type StageProps = Omit<ThreeElements['group'], 'ref'> & {
|
|
|
23
22
|
intensity?: number;
|
|
24
23
|
center?: Partial<CenterProps>;
|
|
25
24
|
};
|
|
26
|
-
export declare function Stage({ children, center, adjustCamera, intensity, shadows, environment, preset, ...props }: StageProps): React.JSX.Element;
|
|
25
|
+
export declare function Stage({ children, center, adjustCamera, intensity, shadows, environment, preset, ...props }: JSX.IntrinsicElements['group'] & StageProps): React.JSX.Element;
|
|
27
26
|
export {};
|
package/core/Stars.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("three"),n=require("../helpers/constants.cjs.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e);class i extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:`\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include <tonemapping_fragment>\n\t #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),s=o.forwardRef((({radius:e=100,depth:n=50,count:a=5e3,saturation:s=0,factor:l=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber"),r=require("three"),n=require("../helpers/constants.cjs.js");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e);class i extends r.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:`\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n\n #include <tonemapping_fragment>\n\t #include <${n.version>=154?"colorspace_fragment":"encodings_fragment"}>\n }`})}}const c=e=>(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),s=o.forwardRef((({radius:e=100,depth:n=50,count:a=5e3,saturation:s=0,factor:l=4,fade:u=!1,speed:f=1},m)=>{const d=o.useRef(),[p,v,h]=o.useMemo((()=>{const t=[],o=[],i=Array.from({length:a},(()=>(.5+.5*Math.random())*l)),u=new r.Color;let f=e+n;const m=n/a;for(let e=0;e<a;e++)f-=m*Math.random(),t.push(...c(f).toArray()),u.setHSL(e/a,s,.9),o.push(u.r,u.g,u.b);return[new Float32Array(t),new Float32Array(o),new Float32Array(i)]}),[a,n,l,e,s]);t.useFrame((e=>d.current&&(d.current.uniforms.time.value=e.clock.elapsedTime*f)));const[g]=o.useState((()=>new i));return o.createElement("points",{ref:m},o.createElement("bufferGeometry",null,o.createElement("bufferAttribute",{attach:"attributes-position",args:[p,3]}),o.createElement("bufferAttribute",{attach:"attributes-color",args:[v,3]}),o.createElement("bufferAttribute",{attach:"attributes-size",args:[h,1]})),o.createElement("primitive",{ref:d,object:g,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":u,depthWrite:!1,transparent:!0,vertexColors:!0}))}));exports.Stars=s;
|
package/core/Stars.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactThreeFiber } from '@react-three/fiber';
|
|
2
2
|
import { Points, ShaderMaterial } from 'three';
|
|
3
3
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
-
|
|
4
|
+
type Props = {
|
|
5
5
|
radius?: number;
|
|
6
6
|
depth?: number;
|
|
7
7
|
count?: number;
|
|
@@ -13,10 +13,12 @@ export type StarsProps = {
|
|
|
13
13
|
declare class StarfieldMaterial extends ShaderMaterial {
|
|
14
14
|
constructor();
|
|
15
15
|
}
|
|
16
|
-
declare
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
declare global {
|
|
17
|
+
namespace JSX {
|
|
18
|
+
interface IntrinsicElements {
|
|
19
|
+
starfieldMaterial: ReactThreeFiber.MaterialNode<StarfieldMaterial, []>;
|
|
20
|
+
}
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
export declare const Stars: ForwardRefComponent<
|
|
23
|
+
export declare const Stars: ForwardRefComponent<Props, Points>;
|
|
22
24
|
export {};
|
package/core/Stars.js
CHANGED
|
@@ -54,7 +54,7 @@ const Stars = /* @__PURE__ */React.forwardRef(({
|
|
|
54
54
|
fade = false,
|
|
55
55
|
speed = 1
|
|
56
56
|
}, ref) => {
|
|
57
|
-
const material = React.useRef(
|
|
57
|
+
const material = React.useRef();
|
|
58
58
|
const [position, color, size] = React.useMemo(() => {
|
|
59
59
|
const positions = [];
|
|
60
60
|
const colors = [];
|
package/core/Stats.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
type Props = {
|
|
3
3
|
showPanel?: number;
|
|
4
4
|
className?: string;
|
|
5
5
|
parent?: React.RefObject<HTMLElement>;
|
|
6
6
|
};
|
|
7
|
-
export declare function Stats({ showPanel, className, parent }:
|
|
7
|
+
export declare function Stats({ showPanel, className, parent }: Props): null;
|
|
8
|
+
export {};
|
package/core/StatsGl.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import Stats from 'stats-gl';
|
|
4
4
|
type StatsOptions = ConstructorParameters<typeof Stats>[0];
|
|
5
|
-
|
|
5
|
+
type Props = Partial<StatsOptions> & {
|
|
6
6
|
id?: string;
|
|
7
7
|
clearStatsGlStyle?: boolean;
|
|
8
8
|
showPanel?: number;
|
|
@@ -10,5 +10,5 @@ export type StatsGlProps = Partial<StatsOptions> & {
|
|
|
10
10
|
parent?: React.RefObject<HTMLElement>;
|
|
11
11
|
ref?: React.RefObject<HTMLElement>;
|
|
12
12
|
};
|
|
13
|
-
export declare const StatsGl: ForwardRefComponent<
|
|
13
|
+
export declare const StatsGl: ForwardRefComponent<Props, HTMLDivElement>;
|
|
14
14
|
export {};
|
package/core/Svg.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MeshBasicMaterialProps, MeshProps, Object3DProps } from '@react-three/fiber';
|
|
2
2
|
import { Object3D } from 'three';
|
|
3
3
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
-
export interface SvgProps extends Omit<
|
|
4
|
+
export interface SvgProps extends Omit<Object3DProps, 'ref'> {
|
|
5
5
|
src: string;
|
|
6
6
|
skipFill?: boolean;
|
|
7
7
|
skipStrokes?: boolean;
|
|
8
|
-
fillMaterial?:
|
|
9
|
-
strokeMaterial?:
|
|
10
|
-
fillMeshProps?:
|
|
11
|
-
strokeMeshProps?:
|
|
8
|
+
fillMaterial?: MeshBasicMaterialProps;
|
|
9
|
+
strokeMaterial?: MeshBasicMaterialProps;
|
|
10
|
+
fillMeshProps?: MeshProps;
|
|
11
|
+
strokeMeshProps?: MeshProps;
|
|
12
12
|
}
|
|
13
13
|
export declare const Svg: ForwardRefComponent<SvgProps, Object3D>;
|
package/core/Text.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ReactThreeFiber
|
|
2
|
+
import { ReactThreeFiber } from '@react-three/fiber';
|
|
3
3
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
4
|
-
|
|
4
|
+
type Props = JSX.IntrinsicElements['mesh'] & {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
characters?: string;
|
|
7
7
|
color?: ReactThreeFiber.Color;
|
|
@@ -35,4 +35,5 @@ export type TextProps = Omit<ThreeElements['mesh'], 'ref'> & {
|
|
|
35
35
|
glyphGeometryDetail?: number;
|
|
36
36
|
onSync?: (troika: any) => void;
|
|
37
37
|
};
|
|
38
|
-
export declare const Text: ForwardRefComponent<
|
|
38
|
+
export declare const Text: ForwardRefComponent<Props, any>;
|
|
39
|
+
export {};
|
package/core/Text3D.d.ts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { MeshProps, Node } from '@react-three/fiber';
|
|
4
|
+
import { TextGeometryParameters } from 'three-stdlib';
|
|
5
5
|
import { FontData } from './useFont';
|
|
6
6
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
7
|
-
declare
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
declare global {
|
|
8
|
+
namespace JSX {
|
|
9
|
+
interface IntrinsicElements {
|
|
10
|
+
renamedTextGeometry: Node<any, any>;
|
|
11
|
+
}
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
|
-
|
|
14
|
+
type Text3DProps = {
|
|
13
15
|
font: FontData | string;
|
|
14
16
|
bevelSegments?: number;
|
|
15
17
|
smooth?: number;
|
|
16
|
-
} & Omit<TextGeometryParameters, 'font'
|
|
18
|
+
} & Omit<TextGeometryParameters, 'font'> & MeshProps;
|
|
17
19
|
export declare const Text3D: ForwardRefComponent<React.PropsWithChildren<Text3DProps & {
|
|
18
20
|
letterSpacing?: number;
|
|
19
21
|
lineHeight?: number;
|
|
20
22
|
}>, THREE.Mesh>;
|
|
23
|
+
export {};
|
package/core/Texture.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type SingleTexture<T> = T extends string ? _Texture : never;
|
|
|
9
9
|
export type MappedTextureType<T extends string[] | string | Record<string, string>> = TextureArray<T> | TextureRecord<T> | SingleTexture<T>;
|
|
10
10
|
export declare function useTexture<Url extends string[] | string | Record<string, string>>(input: Url, onLoad?: (texture: MappedTextureType<Url>) => void): MappedTextureType<Url>;
|
|
11
11
|
export declare namespace useTexture {
|
|
12
|
-
var preload: (url: string | string[]) =>
|
|
12
|
+
var preload: (url: string | string[]) => undefined;
|
|
13
13
|
var clear: (input: string | string[]) => void;
|
|
14
14
|
}
|
|
15
15
|
export declare const Texture: ({ children, input, onLoad, }: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ReactThreeFiber
|
|
1
|
+
import { ReactThreeFiber } from '@react-three/fiber';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
3
|
import { TrackballControls as TrackballControlsImpl } from 'three-stdlib';
|
|
4
|
-
import { ForwardRefComponent
|
|
5
|
-
export type TrackballControlsProps =
|
|
4
|
+
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
5
|
+
export type TrackballControlsProps = ReactThreeFiber.Overwrite<ReactThreeFiber.Object3DNode<TrackballControlsImpl, typeof TrackballControlsImpl>, {
|
|
6
6
|
target?: ReactThreeFiber.Vector3;
|
|
7
7
|
camera?: THREE.Camera;
|
|
8
8
|
domElement?: HTMLElement;
|
|
@@ -11,5 +11,5 @@ export type TrackballControlsProps = Omit<Overwrite<ThreeElement<typeof Trackbal
|
|
|
11
11
|
onChange?: (e?: THREE.Event) => void;
|
|
12
12
|
onStart?: (e?: THREE.Event) => void;
|
|
13
13
|
onEnd?: (e?: THREE.Event) => void;
|
|
14
|
-
}
|
|
14
|
+
}>;
|
|
15
15
|
export declare const TrackballControls: ForwardRefComponent<TrackballControlsProps, TrackballControlsImpl>;
|
package/core/Trail.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),t=require("react"),r=require("three"),n=require("meshline");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=o(t);const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),t=require("react"),r=require("three"),n=require("meshline");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=o(t);const s={width:.2,length:1,decay:1,local:!1,stride:0,interval:1},c=(e,t=1)=>(e.set(e.subarray(t)),e.fill(-1/0,-t),e);function u(t,n){const{length:o,local:u,decay:l,interval:a,stride:f}={...s,...n},h=i.useRef(),[d]=i.useState((()=>new r.Vector3));i.useLayoutEffect((()=>{t&&(h.current=Float32Array.from({length:10*o*3},((e,r)=>t.position.getComponent(r%3))))}),[o,t]);const p=i.useRef(new r.Vector3),y=i.useRef(0);return e.useFrame((()=>{if(t&&h.current){if(0===y.current){let e;u?e=t.position:(t.getWorldPosition(d),e=d);const r=1*l;for(let t=0;t<r;t++)e.distanceTo(p.current)<f||(c(h.current,3),h.current.set(e.toArray(),h.current.length-3));p.current.copy(e)}y.current++,y.current=y.current%a}})),h}const l=i.forwardRef(((t,o)=>{const{children:c}=t,{width:l,length:a,decay:f,local:h,stride:d,interval:p}={...s,...t},{color:y="hotpink",attenuation:g,target:m}=t,v=e.useThree((e=>e.size)),b=e.useThree((e=>e.scene)),w=i.useRef(null),[M,j]=i.useState(null),O=u(M,{length:a,decay:f,local:h,stride:d,interval:p});i.useEffect((()=>{const e=(null==m?void 0:m.current)||w.current.children.find((e=>e instanceof r.Object3D));e&&j(e)}),[O,m]);const E=i.useMemo((()=>new n.MeshLineGeometry),[]),P=i.useMemo((()=>{var e;const t=new n.MeshLineMaterial({lineWidth:.1*l,color:y,sizeAttenuation:1,resolution:new r.Vector2(v.width,v.height)});let o;if(c)if(Array.isArray(c))o=c.find((e=>{const t=e;return"string"==typeof t.type&&"meshLineMaterial"===t.type}));else{const e=c;"string"==typeof e.type&&"meshLineMaterial"===e.type&&(o=e)}return"object"==typeof(null==(e=o)?void 0:e.props)&&t.setValues(o.props),t}),[l,y,v,c]);return i.useEffect((()=>{P.uniforms.resolution.value.set(v.width,v.height)}),[v]),e.useFrame((()=>{O.current&&E.setPoints(O.current,g)})),i.createElement("group",null,e.createPortal(i.createElement("mesh",{ref:o,geometry:E,material:P}),b),i.createElement("group",{ref:w},c))}));exports.Trail=l,exports.useTrail=u;
|
package/core/Trail.d.ts
CHANGED
|
@@ -10,12 +10,12 @@ type Settings = {
|
|
|
10
10
|
stride: number;
|
|
11
11
|
interval: number;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
type TrailProps = {
|
|
14
14
|
color?: ColorRepresentation;
|
|
15
15
|
attenuation?: (width: number) => number;
|
|
16
|
-
target?: React.
|
|
16
|
+
target?: React.MutableRefObject<Object3D>;
|
|
17
17
|
} & Partial<Settings>;
|
|
18
|
-
export declare function useTrail(target: Object3D, settings: Partial<Settings>): React.
|
|
18
|
+
export declare function useTrail(target: Object3D, settings: Partial<Settings>): React.MutableRefObject<Float32Array | undefined>;
|
|
19
19
|
export type MeshLineGeometry = Mesh & MeshLineGeometryImpl;
|
|
20
20
|
export declare const Trail: ForwardRefComponent<React.PropsWithChildren<TrailProps>, MeshLineGeometry>;
|
|
21
21
|
export {};
|
package/core/Trail.js
CHANGED
|
@@ -27,7 +27,7 @@ function useTrail(target, settings) {
|
|
|
27
27
|
...defaults,
|
|
28
28
|
...settings
|
|
29
29
|
};
|
|
30
|
-
const points = React.useRef(
|
|
30
|
+
const points = React.useRef();
|
|
31
31
|
const [worldPosition] = React.useState(() => new Vector3());
|
|
32
32
|
React.useLayoutEffect(() => {
|
|
33
33
|
if (target) {
|
|
@@ -103,7 +103,7 @@ const Trail = /* @__PURE__ */React.forwardRef((props, forwardRef) => {
|
|
|
103
103
|
}, [points, target]);
|
|
104
104
|
const geo = React.useMemo(() => new MeshLineGeometry(), []);
|
|
105
105
|
const mat = React.useMemo(() => {
|
|
106
|
-
var _matOverride
|
|
106
|
+
var _matOverride;
|
|
107
107
|
const m = new MeshLineMaterial({
|
|
108
108
|
lineWidth: 0.1 * width,
|
|
109
109
|
color: color,
|
|
@@ -126,7 +126,7 @@ const Trail = /* @__PURE__ */React.forwardRef((props, forwardRef) => {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
if (typeof ((_matOverride = matOverride) == null ? void 0 : _matOverride.props) === 'object'
|
|
129
|
+
if (typeof ((_matOverride = matOverride) == null ? void 0 : _matOverride.props) === 'object') {
|
|
130
130
|
m.setValues(matOverride.props);
|
|
131
131
|
}
|
|
132
132
|
return m;
|
package/core/TrailTexture.d.ts
CHANGED
|
@@ -12,8 +12,7 @@ type TrailConfig = {
|
|
|
12
12
|
ease?: (t: number) => number;
|
|
13
13
|
};
|
|
14
14
|
export declare function useTrailTexture(config?: Partial<TrailConfig>): [Texture, (ThreeEvent: any) => void];
|
|
15
|
-
export
|
|
15
|
+
export declare const TrailTexture: ({ children, ...config }: {
|
|
16
16
|
children?: (texture: ReturnType<typeof useTrailTexture>) => React.ReactNode;
|
|
17
|
-
} & TrailConfig;
|
|
18
|
-
export declare const TrailTexture: ({ children, ...config }: TrailTextureProps) => React.JSX.Element;
|
|
17
|
+
} & TrailConfig) => React.JSX.Element;
|
|
19
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three"),o=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=u(e),c=s(r),i=s(n);const f=c.forwardRef((({children:e,domElement:r,onChange:n,onMouseDown:u,onMouseUp:s,onObjectChange:f,object:l,makeDefault:d,camera:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@react-three/fiber"),r=require("react"),n=require("three"),o=require("three-stdlib");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=u(e),c=s(r),i=s(n);const f=c.forwardRef((({children:e,domElement:r,onChange:n,onMouseDown:u,onMouseUp:s,onObjectChange:f,object:l,makeDefault:d,camera:h,enabled:m,axis:v,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O,...T},D)=>{const C=t.useThree((e=>e.controls)),R=t.useThree((e=>e.gl)),S=t.useThree((e=>e.events)),q=t.useThree((e=>e.camera)),x=t.useThree((e=>e.invalidate)),M=t.useThree((e=>e.get)),_=t.useThree((e=>e.set)),z=h||q,P=r||S.connected||R.domElement,U=c.useMemo((()=>new o.TransformControls(z,P)),[z,P]),k=c.useRef(null);c.useLayoutEffect((()=>(l?U.attach(l instanceof i.Object3D?l:l.current):k.current instanceof i.Object3D&&U.attach(k.current),()=>{U.detach()})),[l,e,U]),c.useEffect((()=>{if(C){const e=e=>C.enabled=!e.value;return U.addEventListener("dragging-changed",e),()=>U.removeEventListener("dragging-changed",e)}}),[U,C]);const X=c.useRef(),Y=c.useRef(),Z=c.useRef(),F=c.useRef();return c.useLayoutEffect((()=>{X.current=n}),[n]),c.useLayoutEffect((()=>{Y.current=u}),[u]),c.useLayoutEffect((()=>{Z.current=s}),[s]),c.useLayoutEffect((()=>{F.current=f}),[f]),c.useEffect((()=>{const e=e=>{x(),null==X.current||X.current(e)},t=e=>null==Y.current?void 0:Y.current(e),r=e=>null==Z.current?void 0:Z.current(e),n=e=>null==F.current?void 0:F.current(e);return U.addEventListener("change",e),U.addEventListener("mouseDown",t),U.addEventListener("mouseUp",r),U.addEventListener("objectChange",n),()=>{U.removeEventListener("change",e),U.removeEventListener("mouseDown",t),U.removeEventListener("mouseUp",r),U.removeEventListener("objectChange",n)}}),[x,U]),c.useEffect((()=>{if(d){const e=M().controls;return _({controls:U}),()=>_({controls:e})}}),[d,U]),c.createElement(c.Fragment,null,c.createElement("primitive",{ref:D,object:U,enabled:m,axis:v,mode:E,translationSnap:b,rotationSnap:g,scaleSnap:p,space:L,size:j,showX:w,showY:y,showZ:O}),c.createElement("group",a.default({ref:k},T),e))}));exports.TransformControls=f;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactThreeFiber } from '@react-three/fiber';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { TransformControls as TransformControlsImpl } from 'three-stdlib';
|
|
5
5
|
import { ForwardRefComponent } from '../helpers/ts-utils';
|
|
6
|
-
export type TransformControlsProps =
|
|
7
|
-
object?: THREE.Object3D | React.
|
|
6
|
+
export type TransformControlsProps = ReactThreeFiber.Object3DNode<TransformControlsImpl, typeof TransformControlsImpl> & JSX.IntrinsicElements['group'] & {
|
|
7
|
+
object?: THREE.Object3D | React.MutableRefObject<THREE.Object3D>;
|
|
8
8
|
enabled?: boolean;
|
|
9
9
|
axis?: string | null;
|
|
10
10
|
domElement?: HTMLElement;
|
|
@@ -28,6 +28,7 @@ const TransformControls = /* @__PURE__ */React.forwardRef(({
|
|
|
28
28
|
showZ,
|
|
29
29
|
...props
|
|
30
30
|
}, ref) => {
|
|
31
|
+
// @ts-expect-error new in @react-three/fiber@7.0.5
|
|
31
32
|
const defaultControls = useThree(state => state.controls);
|
|
32
33
|
const gl = useThree(state => state.gl);
|
|
33
34
|
const events = useThree(state => state.events);
|
|
@@ -54,10 +55,10 @@ const TransformControls = /* @__PURE__ */React.forwardRef(({
|
|
|
54
55
|
return () => controls.removeEventListener('dragging-changed', callback);
|
|
55
56
|
}
|
|
56
57
|
}, [controls, defaultControls]);
|
|
57
|
-
const onChangeRef = React.useRef(
|
|
58
|
-
const onMouseDownRef = React.useRef(
|
|
59
|
-
const onMouseUpRef = React.useRef(
|
|
60
|
-
const onObjectChangeRef = React.useRef(
|
|
58
|
+
const onChangeRef = React.useRef();
|
|
59
|
+
const onMouseDownRef = React.useRef();
|
|
60
|
+
const onMouseUpRef = React.useRef();
|
|
61
|
+
const onObjectChangeRef = React.useRef();
|
|
61
62
|
React.useLayoutEffect(() => void (onChangeRef.current = onChange), [onChange]);
|
|
62
63
|
React.useLayoutEffect(() => void (onMouseDownRef.current = onMouseDown), [onMouseDown]);
|
|
63
64
|
React.useLayoutEffect(() => void (onMouseUpRef.current = onMouseUp), [onMouseUp]);
|
package/core/VideoTexture.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("suspend-react"),o=require("hls.js");function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=u(e),c=u(t);const a=((e,t)=>"undefined"!=typeof window&&"function"==typeof(null==(e=window.document)?void 0:e.createElement)&&"string"==typeof(null==(t=window.navigator)?void 0:t.userAgent))();let i=null;function l(t,{unsuspend:s="loadedmetadata",start:l=!0,hls:d={},crossOrigin:p="anonymous",muted:m=!0,loop:v=!0,playsInline:g=!0,onVideoFrame:y,...b}={}){const w=r.useThree((e=>e.gl)),E=e.useRef(null),h=n.suspend((()=>new Promise((async e=>{let r,n;"string"==typeof t?r=t:n=t;const l=Object.assign(document.createElement("video"),{src:r,srcObject:n,crossOrigin:p,loop:v,muted:m,playsInline:g,...b});if(r&&a&&r.endsWith(".m3u8")){const e=E.current=await async function(...e){var t;null!==(t=i)&&void 0!==t||(i=await Promise.resolve().then((function(){return u(require("hls.js"))})));const r=i.default;return r.isSupported()?new r(...e):null}(d);e&&(e.on(o.Events.MEDIA_ATTACHED,(()=>{e.loadSource(r)})),e.attachMedia(l))}const f=new c.VideoTexture(l);"colorSpace"in f?f.colorSpace=w.outputColorSpace:f.encoding=w.outputEncoding,l.addEventListener(s,(()=>e(f)))}))),[t]),O=h.source.data;return f(O,y),e.useEffect((()=>(l&&h.image.play(),()=>{E.current&&(E.current.destroy(),E.current=null)})),[h,l]),h}const d=e.forwardRef((({children:t,src:r,...n},o)=>{const u=l(r,n);return e.useEffect((()=>()=>{u.dispose()}),[u]),e.useImperativeHandle(o,(()=>u),[u]),s.createElement(s.Fragment,null,null==t?void 0:t(u))})),f=(t,r)=>{e.useEffect((()=>{if(!r)return;if(!t.requestVideoFrameCallback)return;let e;const n=(...o)=>{r(...o),e=t.requestVideoFrameCallback(n)};return t.requestVideoFrameCallback(n),()=>t.cancelVideoFrameCallback(e)}),[t,r])};exports.VideoTexture=d,exports.useVideoTexture=l;
|
package/core/VideoTexture.js
CHANGED
|
@@ -57,7 +57,7 @@ function useVideoTexture(srcOrSrcObject, {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
const texture = new THREE.VideoTexture(video);
|
|
60
|
-
texture.colorSpace = gl.outputColorSpace;
|
|
60
|
+
if ('colorSpace' in texture) texture.colorSpace = gl.outputColorSpace;else texture.encoding = gl.outputEncoding;
|
|
61
61
|
video.addEventListener(unsuspend, () => res(texture));
|
|
62
62
|
}), [srcOrSrcObject]);
|
|
63
63
|
const video = texture.source.data;
|
package/core/Wireframe.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
declare
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { MaterialNode } from '@react-three/fiber';
|
|
4
|
+
import { WireframeMaterialProps } from '../materials/WireframeMaterial';
|
|
5
|
+
declare global {
|
|
6
|
+
namespace JSX {
|
|
7
|
+
interface IntrinsicElements {
|
|
8
|
+
meshWireframeMaterial: MaterialNode<THREE.ShaderMaterial, WireframeMaterialProps>;
|
|
9
|
+
}
|
|
8
10
|
}
|
|
9
11
|
}
|
|
10
12
|
interface WireframeProps {
|