@tresjs/core 4.0.0-rc.0 → 4.0.0-rc.1
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/dist/src/components/TresCanvas.vue.d.ts +4 -4
- package/dist/src/composables/index.d.ts +2 -1
- package/dist/src/composables/useCamera/index.d.ts +5 -5
- package/dist/src/composables/useLoop/index.d.ts +12 -0
- package/dist/src/composables/usePointerEventHandler/index.d.ts +2 -2
- package/dist/src/composables/useRaycaster/index.d.ts +3 -3
- package/dist/src/composables/useRenderLoop/index.d.ts +2 -2
- package/dist/src/composables/useRenderer/index.d.ts +6 -6
- package/dist/src/composables/useTresContextProvider/index.d.ts +8 -6
- package/dist/src/composables/useTresEventManager/index.d.ts +2 -2
- package/dist/src/core/catalogue.d.ts +1 -1
- package/dist/src/core/loop.d.ts +25 -0
- package/dist/src/core/nodeOps.d.ts +1 -1
- package/dist/src/devtools/plugin.d.ts +1 -1
- package/dist/src/directives/index.d.ts +3 -5
- package/dist/src/directives/vDistanceTo.d.ts +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/utils/createPriorityEventHook.d.ts +18 -0
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/perf.d.ts +1 -1
- package/dist/tres.js +930 -835
- package/dist/tres.umd.cjs +2 -2
- package/package.json +21 -20
- package/dist/src/directives/vAlwaysLookAt.d.ts +0 -7
- package/dist/src/directives/vRotate.d.ts +0 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TresCamera } from '../types/';
|
|
2
|
-
import { RendererPresetsType } from '../composables/useRenderer/const';
|
|
3
|
-
import { TresContext } from '../composables';
|
|
4
1
|
import { ColorSpace, ShadowMapType, ToneMapping, WebGLRendererParameters } from 'three';
|
|
2
|
+
import { TresContext } from '../composables';
|
|
3
|
+
import { RendererPresetsType } from '../composables/useRenderer/const';
|
|
4
|
+
import { TresCamera } from '../types/';
|
|
5
5
|
|
|
6
6
|
export interface TresCanvasProps extends Omit<WebGLRendererParameters, 'canvas'> {
|
|
7
7
|
shadows?: boolean;
|
|
@@ -36,6 +36,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
36
36
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
37
37
|
render: (...args: any[]) => void;
|
|
38
38
|
click: (...args: any[]) => void;
|
|
39
|
+
wheel: (...args: any[]) => void;
|
|
39
40
|
"double-click": (...args: any[]) => void;
|
|
40
41
|
"context-menu": (...args: any[]) => void;
|
|
41
42
|
"pointer-move": (...args: any[]) => void;
|
|
@@ -46,7 +47,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
46
47
|
"pointer-over": (...args: any[]) => void;
|
|
47
48
|
"pointer-out": (...args: any[]) => void;
|
|
48
49
|
"pointer-missed": (...args: any[]) => void;
|
|
49
|
-
wheel: (...args: any[]) => void;
|
|
50
50
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TresCanvasProps>, {
|
|
51
51
|
alpha: undefined;
|
|
52
52
|
depth: undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './useCamera/';
|
|
2
|
-
export * from './useRenderLoop
|
|
2
|
+
export * from './useRenderLoop';
|
|
3
3
|
export * from './useRenderer/';
|
|
4
4
|
export * from './useLoader';
|
|
5
5
|
export * from './useTexture';
|
|
@@ -8,4 +8,5 @@ export * from './useLogger';
|
|
|
8
8
|
export * from './useSeek';
|
|
9
9
|
export * from './usePointerEventHandler';
|
|
10
10
|
export * from './useTresContextProvider';
|
|
11
|
+
export * from './useLoop';
|
|
11
12
|
export * from './useTresEventManager';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TresContext } from '../useTresContextProvider';
|
|
2
|
-
import { TresScene } from '../../types';
|
|
3
1
|
import { Camera } from 'three';
|
|
2
|
+
import { TresScene } from '../../types';
|
|
3
|
+
import { TresContext } from '../useTresContextProvider';
|
|
4
4
|
|
|
5
5
|
export declare const useCamera: ({ sizes }: Pick<TresContext, 'sizes'> & {
|
|
6
6
|
scene: TresScene;
|
|
@@ -1628,7 +1628,7 @@ export declare const useCamera: ({ sizes }: Pick<TresContext, 'sizes'> & {
|
|
|
1628
1628
|
images: any;
|
|
1629
1629
|
} | undefined) => any;
|
|
1630
1630
|
clone: (recursive?: boolean | undefined) => import('three').Object3D<import('three').Object3DEventMap>;
|
|
1631
|
-
copy: (
|
|
1631
|
+
copy: (object: import('three').Object3D<import('three').Object3DEventMap>, recursive?: boolean | undefined) => import('three').Object3D<import('three').Object3DEventMap>;
|
|
1632
1632
|
addEventListener: {
|
|
1633
1633
|
<T_7 extends keyof import('three').Object3DEventMap>(type: T_7, listener: import('three').EventListener<import('three').Object3DEventMap[T_7], T_7, import('three').Object3D<import('three').Object3DEventMap>>): void;
|
|
1634
1634
|
<T_8 extends string>(type: T_8, listener: import('three').EventListener<{}, T_8, import('three').Object3D<import('three').Object3DEventMap>>): void;
|
|
@@ -3009,7 +3009,7 @@ export declare const useCamera: ({ sizes }: Pick<TresContext, 'sizes'> & {
|
|
|
3009
3009
|
images: any;
|
|
3010
3010
|
} | undefined) => any;
|
|
3011
3011
|
clone: (recursive?: boolean | undefined) => import('three').Object3D<import('three').Object3DEventMap>;
|
|
3012
|
-
copy: (
|
|
3012
|
+
copy: (object: import('three').Object3D<import('three').Object3DEventMap>, recursive?: boolean | undefined) => import('three').Object3D<import('three').Object3DEventMap>;
|
|
3013
3013
|
addEventListener: {
|
|
3014
3014
|
<T_7 extends keyof import('three').Object3DEventMap>(type: T_7, listener: import('three').EventListener<import('three').Object3DEventMap[T_7], T_7, import('three').Object3D<import('three').Object3DEventMap>>): void;
|
|
3015
3015
|
<T_8 extends string>(type: T_8, listener: import('three').EventListener<{}, T_8, import('three').Object3D<import('three').Object3DEventMap>>): void;
|
|
@@ -4370,7 +4370,7 @@ export declare const useCamera: ({ sizes }: Pick<TresContext, 'sizes'> & {
|
|
|
4370
4370
|
images: any;
|
|
4371
4371
|
} | undefined) => any;
|
|
4372
4372
|
clone: (recursive?: boolean | undefined) => Camera;
|
|
4373
|
-
copy: (
|
|
4373
|
+
copy: (object: import('three').Object3D<import('three').Object3DEventMap>, recursive?: boolean | undefined) => Camera;
|
|
4374
4374
|
addEventListener: {
|
|
4375
4375
|
<T_14 extends keyof import('three').Object3DEventMap>(type: T_14, listener: import('three').EventListener<import('three').Object3DEventMap[T_14], T_14, Camera>): void;
|
|
4376
4376
|
<T_15 extends string>(type: T_15, listener: import('three').EventListener<{}, T_15, Camera>): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Fn } from '@vueuse/core';
|
|
2
|
+
|
|
3
|
+
export declare function useLoop(): {
|
|
4
|
+
pause: () => void;
|
|
5
|
+
resume: () => void;
|
|
6
|
+
pauseRender: () => void;
|
|
7
|
+
resumeRender: () => void;
|
|
8
|
+
isActive: import('vue').Ref<boolean>;
|
|
9
|
+
onBeforeRender: (cb: Fn, index?: number) => Partial<import('../../utils/createPriorityEventHook').PriorityEventHookOn<import('../../core/loop').LoopCallback>>;
|
|
10
|
+
render: (cb: Fn) => Partial<import('../../utils/createPriorityEventHook').PriorityEventHookOn<import('../../core/loop').LoopCallback>>;
|
|
11
|
+
onAfterRender: (cb: Fn, index?: number) => Partial<import('../../utils/createPriorityEventHook').PriorityEventHookOn<import('../../core/loop').LoopCallback>>;
|
|
12
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TresContext } from '../useTresContextProvider';
|
|
2
|
-
import { TresObject } from 'src/types';
|
|
3
1
|
import { Intersection, Object3D, Object3DEventMap } from 'three';
|
|
2
|
+
import { TresObject } from 'src/types';
|
|
3
|
+
import { TresContext } from '../useTresContextProvider';
|
|
4
4
|
|
|
5
5
|
type CallbackFn = (intersection: Intersection<Object3D<Object3DEventMap>>, event: PointerEvent) => void;
|
|
6
6
|
type CallbackFnPointerLeave = (object: Object3D, event: PointerEvent) => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TresContext } from '../useTresContextProvider';
|
|
2
|
-
import { TresEvent } from 'src/types';
|
|
3
|
-
import { Ref, ShallowRef } from 'vue';
|
|
4
1
|
import { Intersection, Object3D } from 'three';
|
|
2
|
+
import { Ref, ShallowRef } from 'vue';
|
|
3
|
+
import { TresEvent } from 'src/types';
|
|
4
|
+
import { TresContext } from '../useTresContextProvider';
|
|
5
5
|
|
|
6
6
|
export declare const useRaycaster: (objects: Ref<Object3D[]>, ctx: TresContext) => {
|
|
7
7
|
intersects: ShallowRef<Intersection<Object3D<import('three').Object3DEventMap>>[]>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { RendererPresetsType } from './const';
|
|
2
|
-
import { TresContext } from '../useTresContextProvider';
|
|
3
|
-
import { EmitEventFn, TresColor } from '../../types';
|
|
4
|
-
import { MaybeRefOrGetter } from '@vueuse/core';
|
|
5
|
-
import { MaybeRef } from 'vue';
|
|
6
1
|
import { WebGLRenderer, ColorSpace, Scene, ShadowMapType, ToneMapping, WebGLRendererParameters } from 'three';
|
|
2
|
+
import { MaybeRef } from 'vue';
|
|
3
|
+
import { MaybeRefOrGetter } from '@vueuse/core';
|
|
4
|
+
import { EmitEventFn, TresColor } from '../../types';
|
|
5
|
+
import { TresContext } from '../useTresContextProvider';
|
|
6
|
+
import { RendererPresetsType } from './const';
|
|
7
7
|
|
|
8
8
|
type TransformToMaybeRefOrGetter<T> = {
|
|
9
9
|
[K in keyof T]: MaybeRefOrGetter<T[K]> | MaybeRefOrGetter<T[K]>;
|
|
@@ -71,7 +71,7 @@ export interface UseRendererOptions extends TransformToMaybeRefOrGetter<WebGLRen
|
|
|
71
71
|
preset?: MaybeRefOrGetter<RendererPresetsType>;
|
|
72
72
|
renderMode?: MaybeRefOrGetter<'always' | 'on-demand' | 'manual'>;
|
|
73
73
|
}
|
|
74
|
-
export declare function useRenderer({
|
|
74
|
+
export declare function useRenderer({ canvas, options, contextParts: { sizes, render, invalidate, advance }, }: {
|
|
75
75
|
canvas: MaybeRef<HTMLCanvasElement>;
|
|
76
76
|
scene: Scene;
|
|
77
77
|
options: UseRendererOptions;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { SizesType } from '../useSizes';
|
|
2
|
-
import { TresEventManager } from '../useTresEventManager';
|
|
3
|
-
import { EventProps } from '../usePointerEventHandler';
|
|
4
|
-
import { EmitEventFn, TresObject, TresScene } from '../../types';
|
|
5
|
-
import { UseRendererOptions } from '../useRenderer';
|
|
6
|
-
import { ComputedRef, DeepReadonly, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
|
|
7
1
|
import { Camera, EventDispatcher, WebGLRenderer, Raycaster } from 'three';
|
|
2
|
+
import { ComputedRef, DeepReadonly, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
|
|
3
|
+
import { UseRendererOptions } from '../useRenderer';
|
|
4
|
+
import { EmitEventFn, TresObject, TresScene } from '../../types';
|
|
5
|
+
import { EventProps } from '../usePointerEventHandler';
|
|
6
|
+
import { TresEventManager } from '../useTresEventManager';
|
|
7
|
+
import { SizesType } from '../useSizes';
|
|
8
|
+
import { RendererLoop } from '../../core/loop';
|
|
8
9
|
|
|
9
10
|
export interface InternalState {
|
|
10
11
|
priority: Ref<number>;
|
|
@@ -48,6 +49,7 @@ export interface TresContext {
|
|
|
48
49
|
raycaster: ShallowRef<Raycaster>;
|
|
49
50
|
perf: PerformanceState;
|
|
50
51
|
render: RenderState;
|
|
52
|
+
loop: RendererLoop;
|
|
51
53
|
/**
|
|
52
54
|
* Invalidates the current frame when renderMode === 'on-demand'
|
|
53
55
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TresContext } from '../useTresContextProvider';
|
|
2
|
-
import { EmitEventFn, TresObject } from 'src/types';
|
|
3
1
|
import { Scene } from 'three';
|
|
2
|
+
import { EmitEventFn, TresObject } from 'src/types';
|
|
3
|
+
import { TresContext } from '../useTresContextProvider';
|
|
4
4
|
|
|
5
5
|
export interface TresEventManager {
|
|
6
6
|
/**
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { Clock } from 'three';
|
|
3
|
+
import { Fn } from '@vueuse/core';
|
|
4
|
+
import { PriorityEventHookOn } from '../utils/createPriorityEventHook';
|
|
5
|
+
|
|
6
|
+
export type LoopStage = 'before' | 'render' | 'after';
|
|
7
|
+
export interface LoopCallback {
|
|
8
|
+
delta: number;
|
|
9
|
+
elapsed: number;
|
|
10
|
+
clock: Clock;
|
|
11
|
+
}
|
|
12
|
+
export interface RendererLoop {
|
|
13
|
+
loopId: string;
|
|
14
|
+
register: (callback: Fn, stage: LoopStage, index?: number) => Partial<PriorityEventHookOn<LoopCallback>>;
|
|
15
|
+
start: () => void;
|
|
16
|
+
stop: () => void;
|
|
17
|
+
pause: () => void;
|
|
18
|
+
resume: () => void;
|
|
19
|
+
pauseRender: () => void;
|
|
20
|
+
resumeRender: () => void;
|
|
21
|
+
isActive: Ref<boolean>;
|
|
22
|
+
isRenderPaused: Ref<boolean>;
|
|
23
|
+
setContext: (newContext: Record<string, any>) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function createRenderLoop(): RendererLoop;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TresObject } from '../types';
|
|
2
1
|
import { RendererOptions } from 'vue';
|
|
2
|
+
import { TresObject } from '../types';
|
|
3
3
|
|
|
4
4
|
export declare function invalidateInstance(instance: TresObject): void;
|
|
5
5
|
export declare const nodeOps: () => RendererOptions<TresObject, TresObject | null>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { vRotate } from './vRotate';
|
|
2
|
-
import { vDistanceTo } from './vDistanceTo';
|
|
3
|
-
import { vAlwaysLookAt } from './vAlwaysLookAt';
|
|
4
|
-
import { vLightHelper } from './vLightHelper';
|
|
5
1
|
import { vLog } from './vLog';
|
|
2
|
+
import { vLightHelper } from './vLightHelper';
|
|
3
|
+
import { vDistanceTo } from './vDistanceTo';
|
|
6
4
|
|
|
7
|
-
export { vLog, vLightHelper,
|
|
5
|
+
export { vLog, vLightHelper, vDistanceTo };
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { disposeObject3D as dispose } from './utils';
|
|
2
|
-
import { default as templateCompilerOptions } from './utils/template-compiler-options';
|
|
3
|
-
import { normalizeColor, normalizeVectorFlexibleParam } from './utils/normalize';
|
|
4
1
|
import { App } from 'vue';
|
|
2
|
+
import { normalizeColor, normalizeVectorFlexibleParam } from './utils/normalize';
|
|
3
|
+
import { default as templateCompilerOptions } from './utils/template-compiler-options';
|
|
4
|
+
import { disposeObject3D as dispose } from './utils';
|
|
5
5
|
|
|
6
6
|
export * from './composables';
|
|
7
7
|
export * from './core/catalogue';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TresContext } from '../composables/useTresContextProvider';
|
|
2
1
|
import { DefineComponent, VNode, VNodeRef } from 'vue';
|
|
2
|
+
import { TresContext } from '../composables/useTresContextProvider';
|
|
3
3
|
|
|
4
4
|
import type * as THREE from 'three';
|
|
5
5
|
export type AttachFnType<O = any> = (parent: any, self: O) => () => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventHookOff, IsAny } from '@vueuse/core';
|
|
2
|
+
|
|
3
|
+
export type Callback<T> = IsAny<T> extends true ? (param: any) => void : ([
|
|
4
|
+
T
|
|
5
|
+
] extends [void] ? () => void : (param: T) => void);
|
|
6
|
+
export type PriorityEventHookOn<T> = (fn: Callback<T>, priority?: number) => {
|
|
7
|
+
off: () => void;
|
|
8
|
+
};
|
|
9
|
+
export type PriorityEventHookOff<T> = EventHookOff<T>;
|
|
10
|
+
export type PriorityEventHookTrigger<T = any> = (param?: T) => void;
|
|
11
|
+
export interface PriorityEventHook<T = any> {
|
|
12
|
+
on: PriorityEventHookOn<T>;
|
|
13
|
+
off: EventHookOff<T>;
|
|
14
|
+
trigger: PriorityEventHookTrigger<T>;
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
count: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function createPriorityEventHook<T>(): PriorityEventHook<T>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TresObject } from 'src/types';
|
|
2
1
|
import { Material, Mesh, MeshBasicMaterial, Scene, Vector3 } from 'three';
|
|
2
|
+
import { TresObject } from 'src/types';
|
|
3
3
|
|
|
4
4
|
export declare function toSetMethodName(key: string): string;
|
|
5
5
|
export declare const merge: (target: any, source: any) => any;
|
package/dist/src/utils/perf.d.ts
CHANGED