@react-three/fiber 8.12.1 → 8.13.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/CHANGELOG.md +13 -1
- package/dist/declarations/src/core/events.d.ts +71 -72
- package/dist/declarations/src/core/hooks.d.ts +29 -29
- package/dist/declarations/src/core/index.d.ts +58 -58
- package/dist/declarations/src/core/loop.d.ts +14 -14
- package/dist/declarations/src/core/renderer.d.ts +58 -58
- package/dist/declarations/src/core/store.d.ts +95 -95
- package/dist/declarations/src/core/utils.d.ts +94 -89
- package/dist/declarations/src/index.d.ts +12 -12
- package/dist/declarations/src/native/Canvas.d.ts +10 -8
- package/dist/declarations/src/native/events.d.ts +4 -4
- package/dist/declarations/src/native/polyfills.d.ts +1 -1
- package/dist/declarations/src/native.d.ts +12 -12
- package/dist/declarations/src/three-types.d.ts +335 -335
- package/dist/declarations/src/web/Canvas.d.ts +13 -11
- package/dist/declarations/src/web/events.d.ts +4 -4
- package/dist/{index-faa0fc56.esm.js → index-22ee0173.esm.js} +55 -28
- package/dist/{index-ca508128.cjs.prod.js → index-ed22818c.cjs.prod.js} +55 -28
- package/dist/{index-12cac964.cjs.dev.js → index-f4b96a62.cjs.dev.js} +55 -28
- package/dist/react-three-fiber.cjs.dev.js +1 -1
- package/dist/react-three-fiber.cjs.prod.js +1 -1
- package/dist/react-three-fiber.esm.js +2 -2
- package/native/dist/react-three-fiber-native.cjs.dev.js +1 -1
- package/native/dist/react-three-fiber-native.cjs.prod.js +1 -1
- package/native/dist/react-three-fiber-native.esm.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
# @react-three/fiber
|
|
2
2
|
|
|
3
|
+
## 8.13.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- ecfc48b7: feat: CanvasProps alias, respect r152 color management
|
|
8
|
+
|
|
9
|
+
## 8.12.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c5193468: fix: safeguard window.devicePixelRatio
|
|
14
|
+
|
|
3
15
|
## 8.12.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
6
18
|
|
|
7
|
-
-
|
|
19
|
+
- 571f07ac: fix: safeguard window.devicePixelRatio
|
|
8
20
|
|
|
9
21
|
## 8.12.0
|
|
10
22
|
|
|
@@ -1,72 +1,71 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import type { UseBoundStore } from 'zustand';
|
|
3
|
-
import type { RootState } from './store';
|
|
4
|
-
import type { Properties } from '../three-types';
|
|
5
|
-
export interface Intersection extends THREE.Intersection {
|
|
6
|
-
eventObject: THREE.Object3D;
|
|
7
|
-
}
|
|
8
|
-
export interface IntersectionEvent<TSourceEvent> extends Intersection {
|
|
9
|
-
eventObject: THREE.Object3D;
|
|
10
|
-
intersections: Intersection[];
|
|
11
|
-
unprojectedPoint: THREE.Vector3;
|
|
12
|
-
pointer: THREE.Vector2;
|
|
13
|
-
delta: number;
|
|
14
|
-
ray: THREE.Ray;
|
|
15
|
-
camera: Camera;
|
|
16
|
-
stopPropagation: () => void;
|
|
17
|
-
nativeEvent: TSourceEvent;
|
|
18
|
-
stopped: boolean;
|
|
19
|
-
}
|
|
20
|
-
export declare type Camera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
21
|
-
export declare type ThreeEvent<TEvent> = IntersectionEvent<TEvent> & Properties<TEvent>;
|
|
22
|
-
export declare type DomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
23
|
-
export declare type Events = {
|
|
24
|
-
onClick: EventListener;
|
|
25
|
-
onContextMenu: EventListener;
|
|
26
|
-
onDoubleClick: EventListener;
|
|
27
|
-
onWheel: EventListener;
|
|
28
|
-
onPointerDown: EventListener;
|
|
29
|
-
onPointerUp: EventListener;
|
|
30
|
-
onPointerLeave: EventListener;
|
|
31
|
-
onPointerMove: EventListener;
|
|
32
|
-
onPointerCancel: EventListener;
|
|
33
|
-
onLostPointerCapture: EventListener;
|
|
34
|
-
};
|
|
35
|
-
export declare type EventHandlers = {
|
|
36
|
-
onClick?: (event: ThreeEvent<MouseEvent>) => void;
|
|
37
|
-
onContextMenu?: (event: ThreeEvent<MouseEvent>) => void;
|
|
38
|
-
onDoubleClick?: (event: ThreeEvent<MouseEvent>) => void;
|
|
39
|
-
onPointerUp?: (event: ThreeEvent<PointerEvent>) => void;
|
|
40
|
-
onPointerDown?: (event: ThreeEvent<PointerEvent>) => void;
|
|
41
|
-
onPointerOver?: (event: ThreeEvent<PointerEvent>) => void;
|
|
42
|
-
onPointerOut?: (event: ThreeEvent<PointerEvent>) => void;
|
|
43
|
-
onPointerEnter?: (event: ThreeEvent<PointerEvent>) => void;
|
|
44
|
-
onPointerLeave?: (event: ThreeEvent<PointerEvent>) => void;
|
|
45
|
-
onPointerMove?: (event: ThreeEvent<PointerEvent>) => void;
|
|
46
|
-
onPointerMissed?: (event: MouseEvent) => void;
|
|
47
|
-
onPointerCancel?: (event: ThreeEvent<PointerEvent>) => void;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
export declare type
|
|
52
|
-
export
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
export declare function
|
|
69
|
-
export declare function
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
};
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { UseBoundStore } from 'zustand';
|
|
3
|
+
import type { RootState } from './store';
|
|
4
|
+
import type { Properties } from '../three-types';
|
|
5
|
+
export interface Intersection extends THREE.Intersection {
|
|
6
|
+
eventObject: THREE.Object3D;
|
|
7
|
+
}
|
|
8
|
+
export interface IntersectionEvent<TSourceEvent> extends Intersection {
|
|
9
|
+
eventObject: THREE.Object3D;
|
|
10
|
+
intersections: Intersection[];
|
|
11
|
+
unprojectedPoint: THREE.Vector3;
|
|
12
|
+
pointer: THREE.Vector2;
|
|
13
|
+
delta: number;
|
|
14
|
+
ray: THREE.Ray;
|
|
15
|
+
camera: Camera;
|
|
16
|
+
stopPropagation: () => void;
|
|
17
|
+
nativeEvent: TSourceEvent;
|
|
18
|
+
stopped: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare type Camera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
21
|
+
export declare type ThreeEvent<TEvent> = IntersectionEvent<TEvent> & Properties<TEvent>;
|
|
22
|
+
export declare type DomEvent = PointerEvent | MouseEvent | WheelEvent;
|
|
23
|
+
export declare type Events = {
|
|
24
|
+
onClick: EventListener;
|
|
25
|
+
onContextMenu: EventListener;
|
|
26
|
+
onDoubleClick: EventListener;
|
|
27
|
+
onWheel: EventListener;
|
|
28
|
+
onPointerDown: EventListener;
|
|
29
|
+
onPointerUp: EventListener;
|
|
30
|
+
onPointerLeave: EventListener;
|
|
31
|
+
onPointerMove: EventListener;
|
|
32
|
+
onPointerCancel: EventListener;
|
|
33
|
+
onLostPointerCapture: EventListener;
|
|
34
|
+
};
|
|
35
|
+
export declare type EventHandlers = {
|
|
36
|
+
onClick?: (event: ThreeEvent<MouseEvent>) => void;
|
|
37
|
+
onContextMenu?: (event: ThreeEvent<MouseEvent>) => void;
|
|
38
|
+
onDoubleClick?: (event: ThreeEvent<MouseEvent>) => void;
|
|
39
|
+
onPointerUp?: (event: ThreeEvent<PointerEvent>) => void;
|
|
40
|
+
onPointerDown?: (event: ThreeEvent<PointerEvent>) => void;
|
|
41
|
+
onPointerOver?: (event: ThreeEvent<PointerEvent>) => void;
|
|
42
|
+
onPointerOut?: (event: ThreeEvent<PointerEvent>) => void;
|
|
43
|
+
onPointerEnter?: (event: ThreeEvent<PointerEvent>) => void;
|
|
44
|
+
onPointerLeave?: (event: ThreeEvent<PointerEvent>) => void;
|
|
45
|
+
onPointerMove?: (event: ThreeEvent<PointerEvent>) => void;
|
|
46
|
+
onPointerMissed?: (event: MouseEvent) => void;
|
|
47
|
+
onPointerCancel?: (event: ThreeEvent<PointerEvent>) => void;
|
|
48
|
+
onWheel?: (event: ThreeEvent<WheelEvent>) => void;
|
|
49
|
+
};
|
|
50
|
+
export declare type FilterFunction = (items: THREE.Intersection[], state: RootState) => THREE.Intersection[];
|
|
51
|
+
export declare type ComputeFunction = (event: DomEvent, root: RootState, previous?: RootState) => void;
|
|
52
|
+
export interface EventManager<TTarget> {
|
|
53
|
+
enabled: boolean;
|
|
54
|
+
priority: number;
|
|
55
|
+
compute?: ComputeFunction;
|
|
56
|
+
filter?: FilterFunction;
|
|
57
|
+
connected?: TTarget;
|
|
58
|
+
handlers?: Events;
|
|
59
|
+
connect?: (target: TTarget) => void;
|
|
60
|
+
disconnect?: () => void;
|
|
61
|
+
update?: () => void;
|
|
62
|
+
}
|
|
63
|
+
export interface PointerCaptureTarget {
|
|
64
|
+
intersection: Intersection;
|
|
65
|
+
target: Element;
|
|
66
|
+
}
|
|
67
|
+
export declare function getEventPriority(): 1 | 16 | 4;
|
|
68
|
+
export declare function removeInteractivity(store: UseBoundStore<RootState>, object: THREE.Object3D): void;
|
|
69
|
+
export declare function createEvents(store: UseBoundStore<RootState>): {
|
|
70
|
+
handlePointer: (name: string) => (event: DomEvent) => void;
|
|
71
|
+
};
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { StateSelector, EqualityChecker } from 'zustand';
|
|
4
|
-
import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
5
|
-
import { RootState, RenderCallback } from './store';
|
|
6
|
-
import { ObjectMap } from './utils';
|
|
7
|
-
import { LocalState } from './renderer';
|
|
8
|
-
export interface Loader<T> extends THREE.Loader {
|
|
9
|
-
load(url: string, onLoad?: (result: T) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): unknown;
|
|
10
|
-
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<T>;
|
|
11
|
-
}
|
|
12
|
-
export declare type LoaderProto<T> = new (...args: any) => Loader<T extends unknown ? any : T>;
|
|
13
|
-
export declare type LoaderReturnType<T, L extends LoaderProto<T>> = T extends unknown ? Awaited<ReturnType<InstanceType<L>['loadAsync']>> : T;
|
|
14
|
-
export declare type LoaderResult<T> = T extends any[] ? Loader<T[number]> : Loader<T>;
|
|
15
|
-
export declare type Extensions<T extends {
|
|
16
|
-
prototype: LoaderProto<any>;
|
|
17
|
-
}> = (loader: T['prototype']) => void;
|
|
18
|
-
export declare type ConditionalType<Child, Parent, Truthy, Falsy> = Child extends Parent ? Truthy : Falsy;
|
|
19
|
-
export declare type BranchingReturn<T, Parent, Coerced> = ConditionalType<T, Parent, Coerced, T>;
|
|
20
|
-
export declare function useInstanceHandle<O>(ref: React.MutableRefObject<O>): React.MutableRefObject<LocalState>;
|
|
21
|
-
export declare function useStore(): import("zustand").UseBoundStore<RootState, import("zustand").StoreApi<RootState>>;
|
|
22
|
-
export declare function useThree<T = RootState>(selector?: StateSelector<RootState, T>, equalityFn?: EqualityChecker<T>): T;
|
|
23
|
-
export declare function useFrame(callback: RenderCallback, renderPriority?: number): null;
|
|
24
|
-
export declare function useGraph(object: THREE.Object3D): ObjectMap;
|
|
25
|
-
export declare function useLoader<T, U extends string | string[], L extends LoaderProto<T>, R = LoaderReturnType<T, L>>(Proto: L, input: U, extensions?: Extensions<L>, onProgress?: (event: ProgressEvent<EventTarget>) => void): U extends any[] ? BranchingReturn<R, GLTF, GLTF & ObjectMap>[] : BranchingReturn<R, GLTF, GLTF & ObjectMap>;
|
|
26
|
-
export declare namespace useLoader {
|
|
27
|
-
var preload: <T, U extends string | string[], L extends LoaderProto<T>>(Proto: L, input: U, extensions?: Extensions<L> | undefined) => undefined;
|
|
28
|
-
var clear: <T, U extends string | string[], L extends LoaderProto<T>>(Proto: L, input: U) => void;
|
|
29
|
-
}
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { StateSelector, EqualityChecker } from 'zustand';
|
|
4
|
+
import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
5
|
+
import { RootState, RenderCallback } from './store';
|
|
6
|
+
import { ObjectMap } from './utils';
|
|
7
|
+
import { LocalState } from './renderer';
|
|
8
|
+
export interface Loader<T> extends THREE.Loader {
|
|
9
|
+
load(url: string, onLoad?: (result: T) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): unknown;
|
|
10
|
+
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<T>;
|
|
11
|
+
}
|
|
12
|
+
export declare type LoaderProto<T> = new (...args: any) => Loader<T extends unknown ? any : T>;
|
|
13
|
+
export declare type LoaderReturnType<T, L extends LoaderProto<T>> = T extends unknown ? Awaited<ReturnType<InstanceType<L>['loadAsync']>> : T;
|
|
14
|
+
export declare type LoaderResult<T> = T extends any[] ? Loader<T[number]> : Loader<T>;
|
|
15
|
+
export declare type Extensions<T extends {
|
|
16
|
+
prototype: LoaderProto<any>;
|
|
17
|
+
}> = (loader: T['prototype']) => void;
|
|
18
|
+
export declare type ConditionalType<Child, Parent, Truthy, Falsy> = Child extends Parent ? Truthy : Falsy;
|
|
19
|
+
export declare type BranchingReturn<T, Parent, Coerced> = ConditionalType<T, Parent, Coerced, T>;
|
|
20
|
+
export declare function useInstanceHandle<O>(ref: React.MutableRefObject<O>): React.MutableRefObject<LocalState>;
|
|
21
|
+
export declare function useStore(): import("zustand").UseBoundStore<RootState, import("zustand").StoreApi<RootState>>;
|
|
22
|
+
export declare function useThree<T = RootState>(selector?: StateSelector<RootState, T>, equalityFn?: EqualityChecker<T>): T;
|
|
23
|
+
export declare function useFrame(callback: RenderCallback, renderPriority?: number): null;
|
|
24
|
+
export declare function useGraph(object: THREE.Object3D): ObjectMap;
|
|
25
|
+
export declare function useLoader<T, U extends string | string[], L extends LoaderProto<T>, R = LoaderReturnType<T, L>>(Proto: L, input: U, extensions?: Extensions<L>, onProgress?: (event: ProgressEvent<EventTarget>) => void): U extends any[] ? BranchingReturn<R, GLTF, GLTF & ObjectMap>[] : BranchingReturn<R, GLTF, GLTF & ObjectMap>;
|
|
26
|
+
export declare namespace useLoader {
|
|
27
|
+
var preload: <T, U extends string | string[], L extends LoaderProto<T>>(Proto: L, input: U, extensions?: Extensions<L> | undefined) => undefined;
|
|
28
|
+
var clear: <T, U extends string | string[], L extends LoaderProto<T>>(Proto: L, input: U) => void;
|
|
29
|
+
}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
/// <reference types="react-reconciler" />
|
|
2
|
-
/// <reference types="offscreencanvas" />
|
|
3
|
-
import * as THREE from 'three';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { UseBoundStore } from 'zustand';
|
|
6
|
-
import * as ReactThreeFiber from '../three-types';
|
|
7
|
-
import { Renderer, context, RootState, Size, Dpr, Performance, PrivateKeys } from './store';
|
|
8
|
-
import { extend, Root } from './renderer';
|
|
9
|
-
import { addEffect, addAfterEffect, addTail, flushGlobalEffects } from './loop';
|
|
10
|
-
import { EventManager, ComputeFunction } from './events';
|
|
11
|
-
import { dispose, getRootState, Camera } from './utils';
|
|
12
|
-
import type { Properties } from '../three-types';
|
|
13
|
-
declare type Canvas = HTMLCanvasElement | OffscreenCanvas;
|
|
14
|
-
declare const roots: Map<Canvas, Root>;
|
|
15
|
-
declare const invalidate: (state?: RootState | undefined, frames?: number) => void, advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
|
|
16
|
-
declare const reconciler: import("react-reconciler").Reconciler<UseBoundStore<RootState, import("zustand").StoreApi<RootState>>, import("./renderer").Instance, void, import("./renderer").Instance, import("./renderer").Instance>, applyProps: typeof import("./utils").applyProps;
|
|
17
|
-
declare type GLProps = Renderer | ((canvas: Canvas) => Renderer) | Partial<Properties<THREE.WebGLRenderer> | THREE.WebGLRendererParameters> | undefined;
|
|
18
|
-
export declare type RenderProps<TCanvas extends Canvas> = {
|
|
19
|
-
gl?: GLProps;
|
|
20
|
-
size?: Size;
|
|
21
|
-
shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE.WebGLShadowMap>;
|
|
22
|
-
legacy?: boolean;
|
|
23
|
-
linear?: boolean;
|
|
24
|
-
flat?: boolean;
|
|
25
|
-
orthographic?: boolean;
|
|
26
|
-
frameloop?: 'always' | 'demand' | 'never';
|
|
27
|
-
performance?: Partial<Omit<Performance, 'regress'>>;
|
|
28
|
-
dpr?: Dpr;
|
|
29
|
-
raycaster?: Partial<THREE.Raycaster>;
|
|
30
|
-
scene?: THREE.Scene | Partial<ReactThreeFiber.Object3DNode<THREE.Scene, typeof THREE.Scene>>;
|
|
31
|
-
camera?: (Camera | Partial<ReactThreeFiber.Object3DNode<THREE.Camera, typeof THREE.Camera> & ReactThreeFiber.Object3DNode<THREE.PerspectiveCamera, typeof THREE.PerspectiveCamera> & ReactThreeFiber.Object3DNode<THREE.OrthographicCamera, typeof THREE.OrthographicCamera>>) & {
|
|
32
|
-
manual?: boolean;
|
|
33
|
-
};
|
|
34
|
-
events?: (store: UseBoundStore<RootState>) => EventManager<HTMLElement>;
|
|
35
|
-
onCreated?: (state: RootState) => void;
|
|
36
|
-
onPointerMissed?: (event: MouseEvent) => void;
|
|
37
|
-
};
|
|
38
|
-
export declare type ReconcilerRoot<TCanvas extends Canvas> = {
|
|
39
|
-
configure: (config?: RenderProps<TCanvas>) => ReconcilerRoot<TCanvas>;
|
|
40
|
-
render: (element: React.ReactNode) => UseBoundStore<RootState>;
|
|
41
|
-
unmount: () => void;
|
|
42
|
-
};
|
|
43
|
-
declare function createRoot<TCanvas extends Canvas>(canvas: TCanvas): ReconcilerRoot<TCanvas>;
|
|
44
|
-
declare function render<TCanvas extends Canvas>(children: React.ReactNode, canvas: TCanvas, config: RenderProps<TCanvas>): UseBoundStore<RootState>;
|
|
45
|
-
declare function unmountComponentAtNode<TCanvas extends Canvas>(canvas: TCanvas, callback?: (canvas: TCanvas) => void): void;
|
|
46
|
-
export declare type InjectState = Partial<Omit<RootState, PrivateKeys> & {
|
|
47
|
-
events?: {
|
|
48
|
-
enabled?: boolean;
|
|
49
|
-
priority?: number;
|
|
50
|
-
compute?: ComputeFunction;
|
|
51
|
-
connected?: any;
|
|
52
|
-
};
|
|
53
|
-
size?: Size;
|
|
54
|
-
}>;
|
|
55
|
-
declare function createPortal(children: React.ReactNode, container: THREE.Object3D, state?: InjectState): JSX.Element;
|
|
56
|
-
declare const act: any;
|
|
57
|
-
export * from './hooks';
|
|
58
|
-
export { context, render, createRoot, unmountComponentAtNode, createPortal, reconciler, applyProps, dispose, invalidate, advance, extend, addEffect, addAfterEffect, addTail, flushGlobalEffects, getRootState, act, roots as _roots, };
|
|
1
|
+
/// <reference types="react-reconciler" />
|
|
2
|
+
/// <reference types="offscreencanvas" />
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { UseBoundStore } from 'zustand';
|
|
6
|
+
import * as ReactThreeFiber from '../three-types';
|
|
7
|
+
import { Renderer, context, RootState, Size, Dpr, Performance, PrivateKeys } from './store';
|
|
8
|
+
import { extend, Root } from './renderer';
|
|
9
|
+
import { addEffect, addAfterEffect, addTail, flushGlobalEffects } from './loop';
|
|
10
|
+
import { EventManager, ComputeFunction } from './events';
|
|
11
|
+
import { dispose, getRootState, Camera } from './utils';
|
|
12
|
+
import type { Properties } from '../three-types';
|
|
13
|
+
declare type Canvas = HTMLCanvasElement | OffscreenCanvas;
|
|
14
|
+
declare const roots: Map<Canvas, Root>;
|
|
15
|
+
declare const invalidate: (state?: RootState | undefined, frames?: number) => void, advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
|
|
16
|
+
declare const reconciler: import("react-reconciler").Reconciler<UseBoundStore<RootState, import("zustand").StoreApi<RootState>>, import("./renderer").Instance, void, import("./renderer").Instance, import("./renderer").Instance>, applyProps: typeof import("./utils").applyProps;
|
|
17
|
+
declare type GLProps = Renderer | ((canvas: Canvas) => Renderer) | Partial<Properties<THREE.WebGLRenderer> | THREE.WebGLRendererParameters> | undefined;
|
|
18
|
+
export declare type RenderProps<TCanvas extends Canvas> = {
|
|
19
|
+
gl?: GLProps;
|
|
20
|
+
size?: Size;
|
|
21
|
+
shadows?: boolean | 'basic' | 'percentage' | 'soft' | 'variance' | Partial<THREE.WebGLShadowMap>;
|
|
22
|
+
legacy?: boolean;
|
|
23
|
+
linear?: boolean;
|
|
24
|
+
flat?: boolean;
|
|
25
|
+
orthographic?: boolean;
|
|
26
|
+
frameloop?: 'always' | 'demand' | 'never';
|
|
27
|
+
performance?: Partial<Omit<Performance, 'regress'>>;
|
|
28
|
+
dpr?: Dpr;
|
|
29
|
+
raycaster?: Partial<THREE.Raycaster>;
|
|
30
|
+
scene?: THREE.Scene | Partial<ReactThreeFiber.Object3DNode<THREE.Scene, typeof THREE.Scene>>;
|
|
31
|
+
camera?: (Camera | Partial<ReactThreeFiber.Object3DNode<THREE.Camera, typeof THREE.Camera> & ReactThreeFiber.Object3DNode<THREE.PerspectiveCamera, typeof THREE.PerspectiveCamera> & ReactThreeFiber.Object3DNode<THREE.OrthographicCamera, typeof THREE.OrthographicCamera>>) & {
|
|
32
|
+
manual?: boolean;
|
|
33
|
+
};
|
|
34
|
+
events?: (store: UseBoundStore<RootState>) => EventManager<HTMLElement>;
|
|
35
|
+
onCreated?: (state: RootState) => void;
|
|
36
|
+
onPointerMissed?: (event: MouseEvent) => void;
|
|
37
|
+
};
|
|
38
|
+
export declare type ReconcilerRoot<TCanvas extends Canvas> = {
|
|
39
|
+
configure: (config?: RenderProps<TCanvas>) => ReconcilerRoot<TCanvas>;
|
|
40
|
+
render: (element: React.ReactNode) => UseBoundStore<RootState>;
|
|
41
|
+
unmount: () => void;
|
|
42
|
+
};
|
|
43
|
+
declare function createRoot<TCanvas extends Canvas>(canvas: TCanvas): ReconcilerRoot<TCanvas>;
|
|
44
|
+
declare function render<TCanvas extends Canvas>(children: React.ReactNode, canvas: TCanvas, config: RenderProps<TCanvas>): UseBoundStore<RootState>;
|
|
45
|
+
declare function unmountComponentAtNode<TCanvas extends Canvas>(canvas: TCanvas, callback?: (canvas: TCanvas) => void): void;
|
|
46
|
+
export declare type InjectState = Partial<Omit<RootState, PrivateKeys> & {
|
|
47
|
+
events?: {
|
|
48
|
+
enabled?: boolean;
|
|
49
|
+
priority?: number;
|
|
50
|
+
compute?: ComputeFunction;
|
|
51
|
+
connected?: any;
|
|
52
|
+
};
|
|
53
|
+
size?: Size;
|
|
54
|
+
}>;
|
|
55
|
+
declare function createPortal(children: React.ReactNode, container: THREE.Object3D, state?: InjectState): JSX.Element;
|
|
56
|
+
declare const act: any;
|
|
57
|
+
export * from './hooks';
|
|
58
|
+
export { context, render, createRoot, unmountComponentAtNode, createPortal, reconciler, applyProps, dispose, invalidate, advance, extend, addEffect, addAfterEffect, addTail, flushGlobalEffects, getRootState, act, roots as _roots, };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { Root } from './renderer';
|
|
3
|
-
import { RootState } from './store';
|
|
4
|
-
export declare type GlobalRenderCallback = (timeStamp: number) => void;
|
|
5
|
-
export declare const addEffect: (callback: GlobalRenderCallback) => () => void;
|
|
6
|
-
export declare const addAfterEffect: (callback: GlobalRenderCallback) => () => void;
|
|
7
|
-
export declare const addTail: (callback: GlobalRenderCallback) => () => void;
|
|
8
|
-
export declare type GlobalEffectType = 'before' | 'after' | 'tail';
|
|
9
|
-
export declare function flushGlobalEffects(type: GlobalEffectType, timestamp: number): void;
|
|
10
|
-
export declare function createLoop<TCanvas>(roots: Map<TCanvas, Root>): {
|
|
11
|
-
loop: (timestamp: number) => void;
|
|
12
|
-
invalidate: (state?: RootState | undefined, frames?: number) => void;
|
|
13
|
-
advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
|
|
14
|
-
};
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { Root } from './renderer';
|
|
3
|
+
import { RootState } from './store';
|
|
4
|
+
export declare type GlobalRenderCallback = (timeStamp: number) => void;
|
|
5
|
+
export declare const addEffect: (callback: GlobalRenderCallback) => () => void;
|
|
6
|
+
export declare const addAfterEffect: (callback: GlobalRenderCallback) => () => void;
|
|
7
|
+
export declare const addTail: (callback: GlobalRenderCallback) => () => void;
|
|
8
|
+
export declare type GlobalEffectType = 'before' | 'after' | 'tail';
|
|
9
|
+
export declare function flushGlobalEffects(type: GlobalEffectType, timestamp: number): void;
|
|
10
|
+
export declare function createLoop<TCanvas>(roots: Map<TCanvas, Root>): {
|
|
11
|
+
loop: (timestamp: number) => void;
|
|
12
|
+
invalidate: (state?: RootState | undefined, frames?: number) => void;
|
|
13
|
+
advance: (timestamp: number, runGlobalEffects?: boolean, state?: RootState | undefined, frame?: THREE.XRFrame | undefined) => void;
|
|
14
|
+
};
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import { UseBoundStore } from 'zustand';
|
|
3
|
-
import Reconciler from 'react-reconciler';
|
|
4
|
-
import { prepare, applyProps } from './utils';
|
|
5
|
-
import { RootState } from './store';
|
|
6
|
-
import { EventHandlers } from './events';
|
|
7
|
-
export declare type Root = {
|
|
8
|
-
fiber: Reconciler.FiberRoot;
|
|
9
|
-
store: UseBoundStore<RootState>;
|
|
10
|
-
};
|
|
11
|
-
export declare type LocalState = {
|
|
12
|
-
type: string;
|
|
13
|
-
root: UseBoundStore<RootState>;
|
|
14
|
-
objects: Instance[];
|
|
15
|
-
parent: Instance | null;
|
|
16
|
-
primitive?: boolean;
|
|
17
|
-
eventCount: number;
|
|
18
|
-
handlers: Partial<EventHandlers>;
|
|
19
|
-
attach?: AttachType;
|
|
20
|
-
previousAttach: any;
|
|
21
|
-
memoizedProps: {
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
};
|
|
24
|
-
autoRemovedBeforeAppend?: boolean;
|
|
25
|
-
};
|
|
26
|
-
export declare type AttachFnType = (parent: Instance, self: Instance) => () => void;
|
|
27
|
-
export declare type AttachType = string | AttachFnType;
|
|
28
|
-
export declare type BaseInstance = Omit<THREE.Object3D, 'children' | 'attach' | 'add' | 'remove' | 'raycast'> & {
|
|
29
|
-
__r3f: LocalState;
|
|
30
|
-
children: Instance[];
|
|
31
|
-
remove: (...object: Instance[]) => Instance;
|
|
32
|
-
add: (...object: Instance[]) => Instance;
|
|
33
|
-
raycast?: (raycaster: THREE.Raycaster, intersects: THREE.Intersection[]) => void;
|
|
34
|
-
};
|
|
35
|
-
export declare type Instance = BaseInstance & {
|
|
36
|
-
[key: string]: any;
|
|
37
|
-
};
|
|
38
|
-
export declare type InstanceProps = {
|
|
39
|
-
[key: string]: unknown;
|
|
40
|
-
} & {
|
|
41
|
-
args?: any[];
|
|
42
|
-
object?: object;
|
|
43
|
-
visible?: boolean;
|
|
44
|
-
dispose?: null;
|
|
45
|
-
attach?: AttachType;
|
|
46
|
-
};
|
|
47
|
-
interface Catalogue {
|
|
48
|
-
[name: string]: {
|
|
49
|
-
new (...args: any): Instance;
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export declare const catalogue: Catalogue;
|
|
53
|
-
declare const extend: (objects: object) => void;
|
|
54
|
-
declare function createRenderer<TCanvas>(_roots: Map<TCanvas, Root>, _getEventPriority?: () => any): {
|
|
55
|
-
reconciler: Reconciler.Reconciler<UseBoundStore<RootState, import("zustand").StoreApi<RootState>>, Instance, void, Instance, Instance>;
|
|
56
|
-
applyProps: typeof applyProps;
|
|
57
|
-
};
|
|
58
|
-
export { prepare, createRenderer, extend };
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { UseBoundStore } from 'zustand';
|
|
3
|
+
import Reconciler from 'react-reconciler';
|
|
4
|
+
import { prepare, applyProps } from './utils';
|
|
5
|
+
import { RootState } from './store';
|
|
6
|
+
import { EventHandlers } from './events';
|
|
7
|
+
export declare type Root = {
|
|
8
|
+
fiber: Reconciler.FiberRoot;
|
|
9
|
+
store: UseBoundStore<RootState>;
|
|
10
|
+
};
|
|
11
|
+
export declare type LocalState = {
|
|
12
|
+
type: string;
|
|
13
|
+
root: UseBoundStore<RootState>;
|
|
14
|
+
objects: Instance[];
|
|
15
|
+
parent: Instance | null;
|
|
16
|
+
primitive?: boolean;
|
|
17
|
+
eventCount: number;
|
|
18
|
+
handlers: Partial<EventHandlers>;
|
|
19
|
+
attach?: AttachType;
|
|
20
|
+
previousAttach: any;
|
|
21
|
+
memoizedProps: {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
};
|
|
24
|
+
autoRemovedBeforeAppend?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare type AttachFnType = (parent: Instance, self: Instance) => () => void;
|
|
27
|
+
export declare type AttachType = string | AttachFnType;
|
|
28
|
+
export declare type BaseInstance = Omit<THREE.Object3D, 'children' | 'attach' | 'add' | 'remove' | 'raycast'> & {
|
|
29
|
+
__r3f: LocalState;
|
|
30
|
+
children: Instance[];
|
|
31
|
+
remove: (...object: Instance[]) => Instance;
|
|
32
|
+
add: (...object: Instance[]) => Instance;
|
|
33
|
+
raycast?: (raycaster: THREE.Raycaster, intersects: THREE.Intersection[]) => void;
|
|
34
|
+
};
|
|
35
|
+
export declare type Instance = BaseInstance & {
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
};
|
|
38
|
+
export declare type InstanceProps = {
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
} & {
|
|
41
|
+
args?: any[];
|
|
42
|
+
object?: object;
|
|
43
|
+
visible?: boolean;
|
|
44
|
+
dispose?: null;
|
|
45
|
+
attach?: AttachType;
|
|
46
|
+
};
|
|
47
|
+
interface Catalogue {
|
|
48
|
+
[name: string]: {
|
|
49
|
+
new (...args: any): Instance;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export declare const catalogue: Catalogue;
|
|
53
|
+
declare const extend: (objects: object) => void;
|
|
54
|
+
declare function createRenderer<TCanvas>(_roots: Map<TCanvas, Root>, _getEventPriority?: () => any): {
|
|
55
|
+
reconciler: Reconciler.Reconciler<UseBoundStore<RootState, import("zustand").StoreApi<RootState>>, Instance, void, Instance, Instance>;
|
|
56
|
+
applyProps: typeof applyProps;
|
|
57
|
+
};
|
|
58
|
+
export { prepare, createRenderer, extend };
|