@tresjs/core 4.1.0-next.0 → 4.1.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/README.md +5 -1
- package/dist/src/components/TresCanvas.vue.d.ts +2 -0
- package/dist/src/composables/index.d.ts +1 -0
- package/dist/src/composables/useCamera/index.d.ts +2 -2
- package/dist/src/composables/useRaycaster/index.d.ts +1 -1
- package/dist/src/composables/useTresContextProvider/index.d.ts +2 -2
- package/dist/src/composables/useTresEventManager/index.d.ts +5 -5
- package/dist/src/composables/useTresReady/createReadyEventHook/index.d.ts +5 -0
- package/dist/src/composables/useTresReady/index.d.ts +8 -0
- package/dist/src/core/loop.d.ts +1 -0
- package/dist/src/core/nodeOps.d.ts +2 -2
- package/dist/src/types/index.d.ts +11 -8
- package/dist/src/utils/index.d.ts +6 -0
- package/dist/src/utils/is.d.ts +12 -0
- package/dist/src/utils/nodeOpsUtils.d.ts +6 -0
- package/dist/tres.js +1072 -876
- package/dist/tres.umd.cjs +2 -2
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -92,4 +92,8 @@ pnpm run docs:build
|
|
|
92
92
|
|
|
93
93
|
## Sponsors
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
<p align="center">
|
|
96
|
+
<a target="_blank" href="https://github.com/sponsors/tresjs">
|
|
97
|
+
<img alt="sponsors" src="./sponsorkit/sponsors.png">
|
|
98
|
+
</a>
|
|
99
|
+
</p>
|
|
@@ -37,6 +37,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
37
37
|
render: (...args: any[]) => void;
|
|
38
38
|
click: (...args: any[]) => void;
|
|
39
39
|
wheel: (...args: any[]) => void;
|
|
40
|
+
ready: (...args: any[]) => void;
|
|
40
41
|
"double-click": (...args: any[]) => void;
|
|
41
42
|
"context-menu": (...args: any[]) => void;
|
|
42
43
|
"pointer-move": (...args: any[]) => void;
|
|
@@ -64,6 +65,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
64
65
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
65
66
|
onWheel?: ((...args: any[]) => any) | undefined;
|
|
66
67
|
onRender?: ((...args: any[]) => any) | undefined;
|
|
68
|
+
onReady?: ((...args: any[]) => any) | undefined;
|
|
67
69
|
"onDouble-click"?: ((...args: any[]) => any) | undefined;
|
|
68
70
|
"onContext-menu"?: ((...args: any[]) => any) | undefined;
|
|
69
71
|
"onPointer-move"?: ((...args: any[]) => any) | undefined;
|
|
@@ -4400,7 +4400,7 @@ export declare const useCamera: ({ sizes }: Pick<TresContext, 'sizes'> & {
|
|
|
4400
4400
|
};
|
|
4401
4401
|
dispatchEvent: <T_13 extends keyof import('three').Object3DEventMap>(event: import('three').BaseEvent<T_13> & import('three').Object3DEventMap[T_13]) => void;
|
|
4402
4402
|
}[]>;
|
|
4403
|
-
registerCamera: (
|
|
4404
|
-
deregisterCamera: (
|
|
4403
|
+
registerCamera: (maybeCamera: unknown, active?: boolean) => void;
|
|
4404
|
+
deregisterCamera: (maybeCamera: unknown) => void;
|
|
4405
4405
|
setCameraActive: (cameraOrUuid: string | Camera) => void;
|
|
4406
4406
|
};
|
|
@@ -3,7 +3,7 @@ import { Ref, ShallowRef } from 'vue';
|
|
|
3
3
|
import { TresEvent } from 'src/types';
|
|
4
4
|
import { TresContext } from '../useTresContextProvider';
|
|
5
5
|
|
|
6
|
-
export declare const useRaycaster: (
|
|
6
|
+
export declare const useRaycaster: (objectsWithEvents: Ref<Object3D[]>, ctx: TresContext) => {
|
|
7
7
|
intersects: ShallowRef<Intersection<Object3D<import('three').Object3DEventMap>>[]>;
|
|
8
8
|
onClick: (fn: (value: TresEvent) => void) => () => void;
|
|
9
9
|
onDblClick: (fn: (value: TresEvent) => void) => () => void;
|
|
@@ -58,9 +58,9 @@ export interface TresContext {
|
|
|
58
58
|
* Advance one frame when renderMode === 'manual'
|
|
59
59
|
*/
|
|
60
60
|
advance: () => void;
|
|
61
|
-
registerCamera: (
|
|
61
|
+
registerCamera: (maybeCamera: unknown) => void;
|
|
62
62
|
setCameraActive: (cameraOrUuid: Camera | string) => void;
|
|
63
|
-
deregisterCamera: (
|
|
63
|
+
deregisterCamera: (maybeCamera: unknown) => void;
|
|
64
64
|
eventManager?: TresEventManager;
|
|
65
65
|
registerObjectAtPointerEventHandler?: (object: TresObject & EventProps) => void;
|
|
66
66
|
deregisterObjectAtPointerEventHandler?: (object: TresObject) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Scene } from 'three';
|
|
2
|
-
import { EmitEventFn
|
|
2
|
+
import { EmitEventFn } from 'src/types';
|
|
3
3
|
import { TresContext } from '../useTresContextProvider';
|
|
4
4
|
|
|
5
5
|
export interface TresEventManager {
|
|
@@ -12,11 +12,11 @@ export interface TresEventManager {
|
|
|
12
12
|
* So we need to track them separately
|
|
13
13
|
* Note: These are used in nodeOps
|
|
14
14
|
*/
|
|
15
|
-
registerPointerMissedObject: (object:
|
|
16
|
-
deregisterPointerMissedObject: (object:
|
|
15
|
+
registerPointerMissedObject: (object: unknown) => void;
|
|
16
|
+
deregisterPointerMissedObject: (object: unknown) => void;
|
|
17
17
|
}
|
|
18
18
|
export declare function useTresEventManager(scene: Scene, context: TresContext, emit: EmitEventFn): {
|
|
19
19
|
forceUpdate: () => void;
|
|
20
|
-
registerPointerMissedObject: (
|
|
21
|
-
deregisterPointerMissedObject: (
|
|
20
|
+
registerPointerMissedObject: (maybeTresObject: unknown) => void;
|
|
21
|
+
deregisterPointerMissedObject: (maybeTresObject: unknown) => void;
|
|
22
22
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TresContext } from '../useTresContextProvider';
|
|
2
|
+
|
|
3
|
+
export declare function useTresReady(ctx?: TresContext): import('@vueuse/core').EventHook<TresContext> & {
|
|
4
|
+
cancel: () => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function onTresReady(fn: (ctx: TresContext) => void): {
|
|
7
|
+
off: () => void;
|
|
8
|
+
} | undefined;
|
package/dist/src/core/loop.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RendererOptions } from 'vue';
|
|
2
|
+
import { TresContext } from '../composables';
|
|
2
3
|
import { TresObject } from '../types';
|
|
3
4
|
|
|
4
|
-
export declare
|
|
5
|
-
export declare const nodeOps: () => RendererOptions<TresObject, TresObject | null>;
|
|
5
|
+
export declare const nodeOps: (context: TresContext) => RendererOptions<TresObject, TresObject | null>;
|
|
@@ -17,7 +17,7 @@ export type Args<T> = T extends ConstructorRepresentation ? ConstructorParameter
|
|
|
17
17
|
export interface TresCatalogue {
|
|
18
18
|
[name: string]: ConstructorRepresentation;
|
|
19
19
|
}
|
|
20
|
-
export type EmitEventName = 'render' | 'click' | 'double-click' | 'context-menu' | 'pointer-move' | 'pointer-up' | 'pointer-down' | 'pointer-enter' | 'pointer-leave' | 'pointer-over' | 'pointer-out' | 'pointer-missed' | 'wheel';
|
|
20
|
+
export type EmitEventName = 'render' | 'ready' | 'click' | 'double-click' | 'context-menu' | 'pointer-move' | 'pointer-up' | 'pointer-down' | 'pointer-enter' | 'pointer-leave' | 'pointer-over' | 'pointer-out' | 'pointer-missed' | 'wheel';
|
|
21
21
|
export type EmitEventFn = (event: EmitEventName, ...args: any[]) => void;
|
|
22
22
|
export type TresCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
23
23
|
export interface InstanceProps<T = any, P = any> {
|
|
@@ -36,16 +36,16 @@ interface TresBaseObject {
|
|
|
36
36
|
}
|
|
37
37
|
export interface LocalState {
|
|
38
38
|
type: string;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
handlers?: Partial<EventHandlers>;
|
|
44
|
-
memoizedProps?: {
|
|
39
|
+
eventCount: number;
|
|
40
|
+
root: TresContext;
|
|
41
|
+
handlers: Partial<EventHandlers>;
|
|
42
|
+
memoizedProps: {
|
|
45
43
|
[key: string]: any;
|
|
46
44
|
};
|
|
45
|
+
objects: TresObject[];
|
|
46
|
+
parent: TresObject | null;
|
|
47
|
+
primitive?: boolean;
|
|
47
48
|
disposable?: boolean;
|
|
48
|
-
root?: TresContext;
|
|
49
49
|
}
|
|
50
50
|
export interface TresObject3D extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
51
51
|
geometry?: THREE.BufferGeometry & TresBaseObject;
|
|
@@ -54,6 +54,9 @@ export interface TresObject3D extends THREE.Object3D<THREE.Object3DEventMap> {
|
|
|
54
54
|
export type TresObject = TresBaseObject & (TresObject3D | THREE.BufferGeometry | THREE.Material | THREE.Fog) & {
|
|
55
55
|
__tres?: LocalState;
|
|
56
56
|
};
|
|
57
|
+
export type TresInstance = TresObject & {
|
|
58
|
+
__tres: LocalState;
|
|
59
|
+
};
|
|
57
60
|
export interface TresScene extends THREE.Scene {
|
|
58
61
|
__tres: {
|
|
59
62
|
root: TresContext;
|
|
@@ -25,3 +25,9 @@ export declare function createHighlightMesh(object: TresObject): Mesh;
|
|
|
25
25
|
export declare function extractBindingPosition(binding: any): Vector3;
|
|
26
26
|
export declare function disposeMaterial(material: Material): void;
|
|
27
27
|
export declare function disposeObject3D(object: TresObject): void;
|
|
28
|
+
/**
|
|
29
|
+
* Like Array.filter, but modifies the array in place.
|
|
30
|
+
* @param array - Array to modify
|
|
31
|
+
* @param callbackFn - A function called for each element of the array. It should return a truthy value to keep the element in the array.
|
|
32
|
+
*/
|
|
33
|
+
export declare function filterInPlace<T>(array: T[], callbackFn: (element: T, index: number) => unknown): T[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TresObject } from 'src/types';
|
|
2
|
+
import { BufferGeometry, Camera, Fog, Material, Object3D } from 'three';
|
|
3
|
+
|
|
4
|
+
export declare function arr(u: unknown): boolean;
|
|
5
|
+
export declare function fun(u: unknown): u is Function;
|
|
6
|
+
export declare function obj(u: unknown): u is Record<string | number | symbol, unknown>;
|
|
7
|
+
export declare function object3D(u: unknown): u is Object3D;
|
|
8
|
+
export declare function camera(u: unknown): u is Camera;
|
|
9
|
+
export declare function bufferGeometry(u: unknown): u is BufferGeometry;
|
|
10
|
+
export declare function material(u: unknown): u is Material;
|
|
11
|
+
export declare function fog(u: unknown): u is Fog;
|
|
12
|
+
export declare function tresObject(u: unknown): u is TresObject;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TresContext } from '../composables/useTresContextProvider';
|
|
2
|
+
import { LocalState, TresInstance, TresObject } from '../types';
|
|
3
|
+
|
|
4
|
+
export declare function prepareTresInstance<T extends TresObject>(obj: T, state: Partial<LocalState>, context: TresContext): TresInstance;
|
|
5
|
+
export declare function invalidateInstance(instance: TresObject): void;
|
|
6
|
+
export declare function noop(fn: string): any;
|