@tresjs/core 5.5.0 → 5.7.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/dist/template-compiler-options.d.mts +1 -1
- package/dist/template-compiler-options.mjs +1 -1
- package/dist/tres.d.ts +47 -29
- package/dist/tres.js +53 -10
- package/package.json +4 -3
package/dist/tres.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/core
|
|
3
|
-
* version: v5.
|
|
3
|
+
* version: v5.7.0
|
|
4
4
|
* (c) 2026
|
|
5
5
|
* description: Declarative ThreeJS using Vue Components
|
|
6
6
|
* author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
|
|
7
7
|
*/
|
|
8
|
-
import * as
|
|
8
|
+
import * as vue4 from "vue";
|
|
9
9
|
import { App, ComputedRef, DefineComponent, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowRef, VNode, VNodeRef } from "vue";
|
|
10
10
|
import * as THREE from "three";
|
|
11
11
|
import { BufferGeometry, Camera, Color, ColorRepresentation, ColorSpace, Event, Fog, Group, Layers, Light, Loader, LoadingManager, Material, Mesh, Object3D, Object3DEventMap, OrthographicCamera, PerspectiveCamera, Scene, ShadowMapType, ToneMapping, Vector3, WebGLRenderer } from "three";
|
|
@@ -321,11 +321,11 @@ declare function useRendererManager({
|
|
|
321
321
|
onRender: _vueuse_core0.EventHookOn<TresRenderer>;
|
|
322
322
|
onError: _vueuse_core0.EventHookOn<TresRendererError>;
|
|
323
323
|
invalidate: (amountOfFramesToInvalidate?: number) => void;
|
|
324
|
-
canBeInvalidated:
|
|
324
|
+
canBeInvalidated: vue4.ComputedRef<boolean>;
|
|
325
325
|
mode: "always" | "on-demand" | "manual" | undefined;
|
|
326
326
|
replaceRenderFunction: (fn: RenderFunction) => void;
|
|
327
|
-
isInitialized:
|
|
328
|
-
error:
|
|
327
|
+
isInitialized: vue4.Ref<boolean, boolean>;
|
|
328
|
+
error: vue4.Ref<TresRendererError | null, TresRendererError | null>;
|
|
329
329
|
};
|
|
330
330
|
type UseRendererManagerReturn = ReturnType<typeof useRendererManager>;
|
|
331
331
|
//#endregion
|
|
@@ -372,7 +372,7 @@ type PointerEventHandlers = { [key in SupportedVuePointerEvent]: (event: TresPoi
|
|
|
372
372
|
//#region src/types/index.d.ts
|
|
373
373
|
type AttachFnType = (parent: any, self: TresInstance) => () => void;
|
|
374
374
|
type AttachType = string | AttachFnType;
|
|
375
|
-
type DisposeType = ((self: TresInstance) => void) | boolean | 'default';
|
|
375
|
+
type DisposeType = ((self: TresInstance) => void) | boolean | 'default' | null;
|
|
376
376
|
type ConstructorRepresentation = new (...args: any[]) => any;
|
|
377
377
|
type NonFunctionKeys<P> = { [K in keyof P]-?: P[K] extends ((...args: any[]) => any) ? never : K }[keyof P];
|
|
378
378
|
type Overwrite<P, O> = Omit<P, NonFunctionKeys<O>> & O;
|
|
@@ -512,7 +512,7 @@ declare function buildGraph(object: Object3D | TresObject): TresObjectMap;
|
|
|
512
512
|
//#endregion
|
|
513
513
|
//#region src/composables/useLoader/component.vue.d.ts
|
|
514
514
|
declare const __VLS_export$2: <T extends TresObjectMap>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
515
|
-
props:
|
|
515
|
+
props: vue4.PublicProps & __VLS_PrettifyLocal<{
|
|
516
516
|
/**
|
|
517
517
|
* The THREE.js loader to use
|
|
518
518
|
*/
|
|
@@ -526,8 +526,8 @@ declare const __VLS_export$2: <T extends TresObjectMap>(__VLS_props: NonNullable
|
|
|
526
526
|
*/
|
|
527
527
|
manager?: LoadingManager;
|
|
528
528
|
} & {
|
|
529
|
-
onError?: ((error: unknown) => any) | undefined;
|
|
530
529
|
onLoaded?: ((result: T) => any) | undefined;
|
|
530
|
+
onError?: ((error: unknown) => any) | undefined;
|
|
531
531
|
}> & (typeof globalThis extends {
|
|
532
532
|
__VLS_PROPS_FALLBACK: infer P;
|
|
533
533
|
} ? P : {});
|
|
@@ -535,20 +535,20 @@ declare const __VLS_export$2: <T extends TresObjectMap>(__VLS_props: NonNullable
|
|
|
535
535
|
attrs: any;
|
|
536
536
|
slots: {
|
|
537
537
|
default?: (props: {
|
|
538
|
-
state:
|
|
538
|
+
state: vue4.UnwrapRef<T>;
|
|
539
539
|
isLoading: boolean;
|
|
540
540
|
error: unknown;
|
|
541
541
|
}) => any;
|
|
542
542
|
};
|
|
543
|
-
emit: ((evt: "
|
|
544
|
-
}>) =>
|
|
543
|
+
emit: ((evt: "loaded", result: T) => void) & ((evt: "error", error: unknown) => void);
|
|
544
|
+
}>) => vue4.VNode & {
|
|
545
545
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
546
546
|
};
|
|
547
547
|
declare const _default$2: typeof __VLS_export$2;
|
|
548
548
|
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
549
549
|
//#endregion
|
|
550
550
|
//#region src/composables/useGraph/index.d.ts
|
|
551
|
-
declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) =>
|
|
551
|
+
declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) => vue4.ComputedRef<TresObjectMap | undefined>;
|
|
552
552
|
//#endregion
|
|
553
553
|
//#region src/utils/createPriorityEventHook.d.ts
|
|
554
554
|
type Callback<T> = Parameters<EventHookOff<T>>[0];
|
|
@@ -599,7 +599,7 @@ type LoopContext = RafLoopContext & TresPartialContext;
|
|
|
599
599
|
declare const useLoop: () => {
|
|
600
600
|
stop: () => void;
|
|
601
601
|
start: () => void;
|
|
602
|
-
isActive: Readonly<
|
|
602
|
+
isActive: Readonly<vue4.ShallowRef<boolean>>;
|
|
603
603
|
onBeforeRender: PriorityEventHookOn<LoopContext>;
|
|
604
604
|
onRender: PriorityEventHookOn<LoopContext>;
|
|
605
605
|
render: (fn: RenderFunction) => void;
|
|
@@ -701,10 +701,10 @@ type __VLS_Props = ContextProps & {
|
|
|
701
701
|
type __VLS_Slots$1 = {
|
|
702
702
|
default: () => any;
|
|
703
703
|
};
|
|
704
|
-
declare const __VLS_base$1:
|
|
705
|
-
context:
|
|
704
|
+
declare const __VLS_base$1: vue4.DefineComponent<__VLS_Props, {
|
|
705
|
+
context: vue4.ShallowRef<TresContext, TresContext>;
|
|
706
706
|
dispose: () => void;
|
|
707
|
-
}, {}, {}, {},
|
|
707
|
+
}, {}, {}, {}, vue4.ComponentOptionsMixin, vue4.ComponentOptionsMixin, {
|
|
708
708
|
click: (event: TresPointerEvent) => any;
|
|
709
709
|
contextmenu: (event: TresPointerEvent) => any;
|
|
710
710
|
pointermove: (event: TresPointerEvent) => any;
|
|
@@ -718,13 +718,13 @@ declare const __VLS_base$1: vue10.DefineComponent<__VLS_Props, {
|
|
|
718
718
|
pointercancel: (event: TresPointerEvent) => any;
|
|
719
719
|
lostpointercapture: (event: TresPointerEvent) => any;
|
|
720
720
|
wheel: (event: TresPointerEvent) => any;
|
|
721
|
-
ready: (context: TresContext) => any;
|
|
722
721
|
error: (error: Error) => any;
|
|
722
|
+
ready: (context: TresContext) => any;
|
|
723
723
|
pointermissed: (event: TresPointerEvent) => any;
|
|
724
724
|
render: (context: TresContext) => any;
|
|
725
725
|
beforeLoop: (context: TresContextWithClock) => any;
|
|
726
726
|
loop: (context: TresContextWithClock) => any;
|
|
727
|
-
}, string,
|
|
727
|
+
}, string, vue4.PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
728
728
|
onClick?: ((event: TresPointerEvent) => any) | undefined;
|
|
729
729
|
onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
|
|
730
730
|
onPointermove?: ((event: TresPointerEvent) => any) | undefined;
|
|
@@ -738,13 +738,13 @@ declare const __VLS_base$1: vue10.DefineComponent<__VLS_Props, {
|
|
|
738
738
|
onPointercancel?: ((event: TresPointerEvent) => any) | undefined;
|
|
739
739
|
onLostpointercapture?: ((event: TresPointerEvent) => any) | undefined;
|
|
740
740
|
onWheel?: ((event: TresPointerEvent) => any) | undefined;
|
|
741
|
-
onReady?: ((context: TresContext) => any) | undefined;
|
|
742
741
|
onError?: ((error: Error) => any) | undefined;
|
|
742
|
+
onReady?: ((context: TresContext) => any) | undefined;
|
|
743
743
|
onPointermissed?: ((event: TresPointerEvent) => any) | undefined;
|
|
744
744
|
onRender?: ((context: TresContext) => any) | undefined;
|
|
745
745
|
onBeforeLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
746
746
|
onLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
747
|
-
}>, {}, {}, {}, {}, string,
|
|
747
|
+
}>, {}, {}, {}, {}, string, vue4.ComponentProvideOptions, false, {}, any>;
|
|
748
748
|
declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
|
|
749
749
|
declare const _default$1: typeof __VLS_export$1;
|
|
750
750
|
type __VLS_WithSlots$1<T, S> = T & {
|
|
@@ -763,7 +763,7 @@ interface TresCanvasInstance {
|
|
|
763
763
|
type __VLS_Slots = {
|
|
764
764
|
default: () => any;
|
|
765
765
|
};
|
|
766
|
-
declare const __VLS_base:
|
|
766
|
+
declare const __VLS_base: vue4.DefineComponent<ContextProps, TresCanvasInstance, {}, {}, {}, vue4.ComponentOptionsMixin, vue4.ComponentOptionsMixin, {
|
|
767
767
|
click: (event: TresPointerEvent) => any;
|
|
768
768
|
contextmenu: (event: TresPointerEvent) => any;
|
|
769
769
|
pointermove: (event: TresPointerEvent) => any;
|
|
@@ -777,13 +777,13 @@ declare const __VLS_base: vue10.DefineComponent<ContextProps, TresCanvasInstance
|
|
|
777
777
|
pointercancel: (event: TresPointerEvent) => any;
|
|
778
778
|
lostpointercapture: (event: TresPointerEvent) => any;
|
|
779
779
|
wheel: (event: TresPointerEvent) => any;
|
|
780
|
-
ready: (context: TresContext) => any;
|
|
781
780
|
error: (error: Error) => any;
|
|
781
|
+
ready: (context: TresContext) => any;
|
|
782
782
|
pointermissed: (event: TresPointerEvent) => any;
|
|
783
783
|
render: (context: TresContext) => any;
|
|
784
784
|
beforeLoop: (context: TresContextWithClock) => any;
|
|
785
785
|
loop: (context: TresContextWithClock) => any;
|
|
786
|
-
}, string,
|
|
786
|
+
}, string, vue4.PublicProps, Readonly<ContextProps> & Readonly<{
|
|
787
787
|
onClick?: ((event: TresPointerEvent) => any) | undefined;
|
|
788
788
|
onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
|
|
789
789
|
onPointermove?: ((event: TresPointerEvent) => any) | undefined;
|
|
@@ -797,15 +797,14 @@ declare const __VLS_base: vue10.DefineComponent<ContextProps, TresCanvasInstance
|
|
|
797
797
|
onPointercancel?: ((event: TresPointerEvent) => any) | undefined;
|
|
798
798
|
onLostpointercapture?: ((event: TresPointerEvent) => any) | undefined;
|
|
799
799
|
onWheel?: ((event: TresPointerEvent) => any) | undefined;
|
|
800
|
-
onReady?: ((context: TresContext) => any) | undefined;
|
|
801
800
|
onError?: ((error: Error) => any) | undefined;
|
|
801
|
+
onReady?: ((context: TresContext) => any) | undefined;
|
|
802
802
|
onPointermissed?: ((event: TresPointerEvent) => any) | undefined;
|
|
803
803
|
onRender?: ((context: TresContext) => any) | undefined;
|
|
804
804
|
onBeforeLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
805
805
|
onLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
806
806
|
}>, {
|
|
807
807
|
windowSize: boolean;
|
|
808
|
-
enableProvideBridge: boolean;
|
|
809
808
|
antialias: boolean;
|
|
810
809
|
stencil: boolean;
|
|
811
810
|
depth: boolean;
|
|
@@ -820,7 +819,8 @@ declare const __VLS_base: vue10.DefineComponent<ContextProps, TresCanvasInstance
|
|
|
820
819
|
shadowMapType: THREE.ShadowMapType;
|
|
821
820
|
useLegacyLights: boolean;
|
|
822
821
|
renderMode: "always" | "on-demand" | "manual";
|
|
823
|
-
|
|
822
|
+
enableProvideBridge: boolean;
|
|
823
|
+
}, {}, {}, {}, string, vue4.ComponentProvideOptions, false, {}, any>;
|
|
824
824
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
825
825
|
declare const _default: typeof __VLS_export;
|
|
826
826
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -911,6 +911,24 @@ declare const vLog: {
|
|
|
911
911
|
}) => void;
|
|
912
912
|
};
|
|
913
913
|
//#endregion
|
|
914
|
+
//#region src/utils/createTimer.d.ts
|
|
915
|
+
interface TresTimer {
|
|
916
|
+
getDelta: () => number;
|
|
917
|
+
getElapsed: () => number;
|
|
918
|
+
update: () => void;
|
|
919
|
+
start: () => void;
|
|
920
|
+
stop: () => void;
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Creates a unified timer abstraction that uses `Timer` on Three.js r179+
|
|
924
|
+
* and falls back to `Clock` on older versions.
|
|
925
|
+
*
|
|
926
|
+
* - On r179+: uses `Timer` with its Page Visibility API support (`connect`/`disconnect`).
|
|
927
|
+
* - On older versions: uses `Clock` with `start`/`stop`.
|
|
928
|
+
*
|
|
929
|
+
*/
|
|
930
|
+
declare function createTimer(): TresTimer;
|
|
931
|
+
//#endregion
|
|
914
932
|
//#region src/utils/is/three.d.ts
|
|
915
933
|
/**
|
|
916
934
|
* Type guard to check if a value is a Three.js Object3D
|
|
@@ -1033,7 +1051,7 @@ declare const isMaterial: (value: unknown) => value is Material;
|
|
|
1033
1051
|
* }
|
|
1034
1052
|
* ```
|
|
1035
1053
|
*/
|
|
1036
|
-
declare const isLight: (value: unknown) => value is Light
|
|
1054
|
+
declare const isLight: (value: unknown) => value is Light;
|
|
1037
1055
|
/**
|
|
1038
1056
|
* Type guard to check if a value is a Three.js Fog
|
|
1039
1057
|
* @param value - The value to check
|
|
@@ -1065,7 +1083,7 @@ declare const isFog: (value: unknown) => value is Fog;
|
|
|
1065
1083
|
* }
|
|
1066
1084
|
* ```
|
|
1067
1085
|
*/
|
|
1068
|
-
declare const isScene: (value: unknown) => value is Scene
|
|
1086
|
+
declare const isScene: (value: unknown) => value is Scene;
|
|
1069
1087
|
/**
|
|
1070
1088
|
* Type guard to check if a value is a Three.js Group
|
|
1071
1089
|
* @param value - The value to check
|
|
@@ -1154,4 +1172,4 @@ interface TresPlugin {
|
|
|
1154
1172
|
}
|
|
1155
1173
|
declare const plugin: TresPlugin;
|
|
1156
1174
|
//#endregion
|
|
1157
|
-
export { Args, AssetLoadData, AttachFnType, AttachType, ConstructorRepresentation, DevtoolsMessage, DevtoolsMessageType, DevtoolsMessenger, DevtoolsSubscriber, DisposeType, ElementProps, InstanceProps, LoaderMethods, LoaderProto, LocalState, LoopContext, MathType, Mutable, NonFunctionKeys, Overwrite, Properties, RenderFunction, RenderMode, RendererOptions, ThreeElement, ThreeInstances, TresCamera, _default as TresCanvas, _default$1 as TresCanvasContext, type TresCanvasEmits, type TresCanvasInstance, type TresCanvasProps, TresCatalogue, TresColor, TresColorArray, TresComponents, type TresContext, TresContextWithClock, TresControl, type TresCustomRendererOptions, TresEuler, TresInstance, TresLayers, TresLoader, TresLoaderOptions, TresMaterial, TresObject, TresObject3D, TresObjectMap, TresOptions, TresPartialContext, TresPlugin, type TresPointerEvent, TresPrimitive, TresQuaternion, TresRenderer, TresRendererError, TresRendererErrorCode, TresRendererSetupContext, TresScene, TresVector2, TresVector3, TresVector4, UseCameraReturn, _default$2 as UseLoader, UseLoaderReturn, UseRendererManagerReturn, UseRendererOptions, VectorCoordinates, type VectorFlexibleParams, VueProps, WithMathProps, buildGraph, catalogue, plugin as default, disposeObject3D as dispose, extend, isBufferGeometry, isCamera, isClassInstance, isColor, isColorRepresentation, isCopyable, isFog, isGroup, isLayers, isLight, isMaterial, isMesh, isObject3D, isOrthographicCamera, isPerspectiveCamera, isProd, isScene, isTresCamera, isTresInstance, isTresObject, isTresPrimitive, isVectorLike, logError, logMessage, logWarning, normalizeColor, normalizeVectorFlexibleParam, registerTresDevtools, templateCompilerOptions, useCameraManager, useGraph, useLoader, useLoop, useRendererManager, useTres, useTresContext, useTresContextProvider, vDistanceTo, vLightHelper, vLog };
|
|
1175
|
+
export { Args, AssetLoadData, AttachFnType, AttachType, ConstructorRepresentation, DevtoolsMessage, DevtoolsMessageType, DevtoolsMessenger, DevtoolsSubscriber, DisposeType, ElementProps, InstanceProps, LoaderMethods, LoaderProto, LocalState, LoopContext, MathType, Mutable, NonFunctionKeys, Overwrite, Properties, RenderFunction, RenderMode, RendererOptions, ThreeElement, ThreeInstances, TresCamera, _default as TresCanvas, _default$1 as TresCanvasContext, type TresCanvasEmits, type TresCanvasInstance, type TresCanvasProps, TresCatalogue, TresColor, TresColorArray, TresComponents, type TresContext, TresContextWithClock, TresControl, type TresCustomRendererOptions, TresEuler, TresInstance, TresLayers, TresLoader, TresLoaderOptions, TresMaterial, TresObject, TresObject3D, TresObjectMap, TresOptions, TresPartialContext, TresPlugin, type TresPointerEvent, TresPrimitive, TresQuaternion, TresRenderer, TresRendererError, TresRendererErrorCode, TresRendererSetupContext, TresScene, TresTimer, TresVector2, TresVector3, TresVector4, UseCameraReturn, _default$2 as UseLoader, UseLoaderReturn, UseRendererManagerReturn, UseRendererOptions, VectorCoordinates, type VectorFlexibleParams, VueProps, WithMathProps, buildGraph, catalogue, createTimer, plugin as default, disposeObject3D as dispose, extend, isBufferGeometry, isCamera, isClassInstance, isColor, isColorRepresentation, isCopyable, isFog, isGroup, isLayers, isLight, isMaterial, isMesh, isObject3D, isOrthographicCamera, isPerspectiveCamera, isProd, isScene, isTresCamera, isTresInstance, isTresObject, isTresPrimitive, isVectorLike, logError, logMessage, logWarning, normalizeColor, normalizeVectorFlexibleParam, registerTresDevtools, templateCompilerOptions, useCameraManager, useGraph, useLoader, useLoop, useRendererManager, useTres, useTresContext, useTresContextProvider, vDistanceTo, vLightHelper, vLog };
|
package/dist/tres.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/core
|
|
3
|
-
* version: v5.
|
|
3
|
+
* version: v5.7.0
|
|
4
4
|
* (c) 2026
|
|
5
5
|
* description: Declarative ThreeJS using Vue Components
|
|
6
6
|
* author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
|
|
7
7
|
*/
|
|
8
8
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createRenderer, defineComponent, getCurrentInstance, h, isRef, mergeProps, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, provide, reactive, readonly, ref, renderSlot, shallowRef, toValue, unref, useSlots, watch, watchEffect, withCtx } from "vue";
|
|
9
9
|
import * as THREE from "three";
|
|
10
|
-
import { ACESFilmicToneMapping, ArrowHelper, BackSide, BufferAttribute, BufferGeometry,
|
|
10
|
+
import { ACESFilmicToneMapping, ArrowHelper, BackSide, BufferAttribute, BufferGeometry, Color, DirectionalLightHelper, DoubleSide, Float32BufferAttribute, HemisphereLightHelper, Layers, Line, LineBasicMaterial, Material, MathUtils, Mesh, MeshBasicMaterial, PCFSoftShadowMap, PerspectiveCamera, PointLightHelper, REVISION, Scene, SpotLightHelper, Vector3, WebGLRenderer } from "three";
|
|
11
11
|
import { createEventHook, createInjectionState, promiseTimeout, refDebounced, tryOnScopeDispose, unrefElement, useAsyncState, useDevicePixelRatio, useElementSize, useFps, useMemory, useRafFn, useTimeout, useWindowSize, whenever } from "@vueuse/core";
|
|
12
12
|
import { camel, isEqual, isFunction, isNumber, isObject, isString, isUndefined } from "radashi";
|
|
13
13
|
import { forwardHtmlEvents, getVoidObject } from "@pmndrs/pointer-events";
|
|
14
14
|
import { setupDevtoolsPlugin } from "@vue/devtools-api";
|
|
15
15
|
|
|
16
16
|
//#region package.json
|
|
17
|
-
var version = "5.
|
|
17
|
+
var version = "5.7.0";
|
|
18
18
|
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/utils/makeMap.ts
|
|
@@ -716,32 +716,75 @@ const setPixelRatio = (renderer, systemDpr, userDpr) => {
|
|
|
716
716
|
if (newDpr !== renderer.getPixelRatio?.()) renderer.setPixelRatio(newDpr);
|
|
717
717
|
};
|
|
718
718
|
|
|
719
|
+
//#endregion
|
|
720
|
+
//#region src/core/revision.ts
|
|
721
|
+
const revision = Number.parseInt(REVISION.replace("dev", ""));
|
|
722
|
+
|
|
723
|
+
//#endregion
|
|
724
|
+
//#region src/utils/createTimer.ts
|
|
725
|
+
/**
|
|
726
|
+
* Minimum Three.js revision that ships the `Timer` class.
|
|
727
|
+
*/
|
|
728
|
+
const TIMER_MIN_REVISION = 179;
|
|
729
|
+
/**
|
|
730
|
+
* Creates a unified timer abstraction that uses `Timer` on Three.js r179+
|
|
731
|
+
* and falls back to `Clock` on older versions.
|
|
732
|
+
*
|
|
733
|
+
* - On r179+: uses `Timer` with its Page Visibility API support (`connect`/`disconnect`).
|
|
734
|
+
* - On older versions: uses `Clock` with `start`/`stop`.
|
|
735
|
+
*
|
|
736
|
+
*/
|
|
737
|
+
function createTimer() {
|
|
738
|
+
if (revision >= TIMER_MIN_REVISION) {
|
|
739
|
+
const timer = new THREE.Timer();
|
|
740
|
+
return {
|
|
741
|
+
getDelta: () => timer.getDelta(),
|
|
742
|
+
getElapsed: () => timer.getElapsed(),
|
|
743
|
+
update: () => timer.update(),
|
|
744
|
+
start: () => {
|
|
745
|
+
if (typeof document !== "undefined") timer.connect(document);
|
|
746
|
+
},
|
|
747
|
+
stop: () => timer.disconnect()
|
|
748
|
+
};
|
|
749
|
+
} else {
|
|
750
|
+
const clock = new THREE.Clock();
|
|
751
|
+
return {
|
|
752
|
+
getDelta: () => clock.getDelta(),
|
|
753
|
+
getElapsed: () => clock.elapsedTime,
|
|
754
|
+
update: () => {},
|
|
755
|
+
start: () => clock.start(),
|
|
756
|
+
stop: () => clock.stop()
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
|
|
719
761
|
//#endregion
|
|
720
762
|
//#region src/composables/useCreateRafLoop/index.ts
|
|
721
763
|
/**
|
|
722
764
|
* @param cycleFn the function that is called before the after event hook is triggered and after the before event hook is triggered.
|
|
723
765
|
*/
|
|
724
766
|
const useCreateRafLoop = (cycleFn) => {
|
|
725
|
-
const
|
|
767
|
+
const timer = createTimer();
|
|
726
768
|
const eventHooks = {
|
|
727
769
|
before: createEventHook(),
|
|
728
770
|
after: createEventHook()
|
|
729
771
|
};
|
|
730
772
|
const { pause, resume, isActive } = useRafFn(() => {
|
|
773
|
+
timer.update();
|
|
731
774
|
const context = {
|
|
732
|
-
delta:
|
|
733
|
-
elapsed:
|
|
775
|
+
delta: timer.getDelta(),
|
|
776
|
+
elapsed: timer.getElapsed()
|
|
734
777
|
};
|
|
735
778
|
eventHooks.before.trigger(context);
|
|
736
779
|
cycleFn();
|
|
737
780
|
eventHooks.after.trigger(context);
|
|
738
781
|
}, { immediate: false });
|
|
739
782
|
const start = () => {
|
|
740
|
-
|
|
783
|
+
timer.start();
|
|
741
784
|
resume();
|
|
742
785
|
};
|
|
743
786
|
const stop = () => {
|
|
744
|
-
|
|
787
|
+
timer.stop();
|
|
745
788
|
pause();
|
|
746
789
|
};
|
|
747
790
|
return {
|
|
@@ -2427,7 +2470,7 @@ const vDistanceTo = {
|
|
|
2427
2470
|
};
|
|
2428
2471
|
|
|
2429
2472
|
//#endregion
|
|
2430
|
-
//#region ../../node_modules/.pnpm/three-stdlib@2.36.1_three@0.
|
|
2473
|
+
//#region ../../node_modules/.pnpm/three-stdlib@2.36.1_three@0.183.1/node_modules/three-stdlib/helpers/RectAreaLightHelper.js
|
|
2431
2474
|
var RectAreaLightHelper = class extends Line {
|
|
2432
2475
|
constructor(light, color) {
|
|
2433
2476
|
const positions = [
|
|
@@ -2560,4 +2603,4 @@ const plugin = { install(app) {
|
|
|
2560
2603
|
var src_default = plugin;
|
|
2561
2604
|
|
|
2562
2605
|
//#endregion
|
|
2563
|
-
export { DevtoolsMessenger, TresCanvas_default as TresCanvas, Context_default as TresCanvasContext, TresRendererError, component_default as UseLoader, buildGraph, catalogue, src_default as default, disposeObject3D as dispose, extend, isBufferGeometry, isCamera, isClassInstance, isColor, isColorRepresentation, isCopyable, isFog, isGroup, isLayers, isLight, isMaterial, isMesh, isObject3D, isOrthographicCamera, isPerspectiveCamera, isProd, isScene, isTresCamera, isTresInstance, isTresObject, isTresPrimitive, isVectorLike, logError, logMessage, logWarning, normalizeColor, normalizeVectorFlexibleParam, registerTresDevtools, template_compiler_options_default as templateCompilerOptions, useCameraManager, useGraph, useLoader, useLoop, useRendererManager, useTres, useTresContext, useTresContextProvider, vDistanceTo, vLightHelper, vLog };
|
|
2606
|
+
export { DevtoolsMessenger, TresCanvas_default as TresCanvas, Context_default as TresCanvasContext, TresRendererError, component_default as UseLoader, buildGraph, catalogue, createTimer, src_default as default, disposeObject3D as dispose, extend, isBufferGeometry, isCamera, isClassInstance, isColor, isColorRepresentation, isCopyable, isFog, isGroup, isLayers, isLight, isMaterial, isMesh, isObject3D, isOrthographicCamera, isPerspectiveCamera, isProd, isScene, isTresCamera, isTresInstance, isTresObject, isTresPrimitive, isVectorLike, logError, logMessage, logWarning, normalizeColor, normalizeVectorFlexibleParam, registerTresDevtools, template_compiler_options_default as templateCompilerOptions, useCameraManager, useGraph, useLoader, useLoop, useRendererManager, useTres, useTresContext, useTresContextProvider, vDistanceTo, vLightHelper, vLog };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tresjs/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.7.0",
|
|
5
5
|
"description": "Declarative ThreeJS using Vue Components",
|
|
6
6
|
"author": "Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"radashi": "^12.6.2"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@types/three": "^0.
|
|
54
|
+
"@types/three": "^0.183.0",
|
|
55
55
|
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
56
56
|
"@typescript-eslint/parser": "^8.42.0",
|
|
57
57
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"rollup-plugin-analyzer": "^4.0.0",
|
|
67
67
|
"rollup-plugin-copy": "^3.5.0",
|
|
68
68
|
"rollup-plugin-visualizer": "^6.0.3",
|
|
69
|
-
"three": "^0.
|
|
69
|
+
"three": "^0.183.0",
|
|
70
70
|
"tsdown": "0.18.3",
|
|
71
71
|
"typescript": "^5.8.3",
|
|
72
72
|
"vite": "^7.1.9",
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "tsdown",
|
|
89
|
+
"build:analyze": "ANALYZE=true tsdown",
|
|
89
90
|
"test": "vitest",
|
|
90
91
|
"test:ci": "vitest run",
|
|
91
92
|
"test:ui": "vitest --ui --coverage.enabled=true",
|