@tresjs/core 5.3.1 → 5.3.2
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 +30 -16
- package/dist/tres.js +78 -30
- package/package.json +3 -3
package/dist/tres.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/core
|
|
3
|
-
* version: v5.3.
|
|
3
|
+
* version: v5.3.2
|
|
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 vue0 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";
|
|
@@ -121,6 +121,14 @@ declare const useCameraManager: ({
|
|
|
121
121
|
sizes
|
|
122
122
|
}: UseCameraParams) => UseCameraReturn;
|
|
123
123
|
//#endregion
|
|
124
|
+
//#region src/utils/error.d.ts
|
|
125
|
+
type TresRendererErrorCode = 'INITIALIZATION_FAILED';
|
|
126
|
+
declare class TresRendererError extends Error {
|
|
127
|
+
readonly code: TresRendererErrorCode;
|
|
128
|
+
readonly name = "TresRendererError";
|
|
129
|
+
constructor(message: string, code: TresRendererErrorCode, options?: ErrorOptions);
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
124
132
|
//#region src/composables/useRenderer/useRendererManager.d.ts
|
|
125
133
|
/**
|
|
126
134
|
* If set to 'on-demand', the scene will only be rendered when the current frame is invalidated
|
|
@@ -311,10 +319,13 @@ declare function useRendererManager({
|
|
|
311
319
|
advance: () => void;
|
|
312
320
|
onReady: _vueuse_core0.EventHookOn<TresRenderer>;
|
|
313
321
|
onRender: _vueuse_core0.EventHookOn<TresRenderer>;
|
|
322
|
+
onError: _vueuse_core0.EventHookOn<TresRendererError>;
|
|
314
323
|
invalidate: (amountOfFramesToInvalidate?: number) => void;
|
|
315
|
-
canBeInvalidated:
|
|
324
|
+
canBeInvalidated: vue0.ComputedRef<boolean>;
|
|
316
325
|
mode: "always" | "on-demand" | "manual" | undefined;
|
|
317
326
|
replaceRenderFunction: (fn: RenderFunction) => void;
|
|
327
|
+
isInitialized: vue0.Ref<boolean, boolean>;
|
|
328
|
+
error: vue0.Ref<TresRendererError | null, TresRendererError | null>;
|
|
318
329
|
};
|
|
319
330
|
type UseRendererManagerReturn = ReturnType<typeof useRendererManager>;
|
|
320
331
|
//#endregion
|
|
@@ -499,7 +510,7 @@ declare function buildGraph(object: Object3D | TresObject): TresObjectMap;
|
|
|
499
510
|
//#endregion
|
|
500
511
|
//#region src/composables/useLoader/component.vue.d.ts
|
|
501
512
|
declare const __VLS_export$1: <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<{
|
|
502
|
-
props:
|
|
513
|
+
props: vue0.PublicProps & __VLS_PrettifyLocal<{
|
|
503
514
|
/**
|
|
504
515
|
* The THREE.js loader to use
|
|
505
516
|
*/
|
|
@@ -513,8 +524,8 @@ declare const __VLS_export$1: <T extends TresObjectMap>(__VLS_props: NonNullable
|
|
|
513
524
|
*/
|
|
514
525
|
manager?: LoadingManager;
|
|
515
526
|
} & {
|
|
516
|
-
onLoaded?: ((result: T) => any) | undefined;
|
|
517
527
|
onError?: ((error: unknown) => any) | undefined;
|
|
528
|
+
onLoaded?: ((result: T) => any) | undefined;
|
|
518
529
|
}> & (typeof globalThis extends {
|
|
519
530
|
__VLS_PROPS_FALLBACK: infer P;
|
|
520
531
|
} ? P : {});
|
|
@@ -522,20 +533,20 @@ declare const __VLS_export$1: <T extends TresObjectMap>(__VLS_props: NonNullable
|
|
|
522
533
|
attrs: any;
|
|
523
534
|
slots: {
|
|
524
535
|
default?: (props: {
|
|
525
|
-
state:
|
|
536
|
+
state: vue0.UnwrapRef<T>;
|
|
526
537
|
isLoading: boolean;
|
|
527
538
|
error: unknown;
|
|
528
539
|
}) => any;
|
|
529
540
|
};
|
|
530
|
-
emit: ((evt: "
|
|
531
|
-
}>) =>
|
|
541
|
+
emit: ((evt: "error", error: unknown) => void) & ((evt: "loaded", result: T) => void);
|
|
542
|
+
}>) => vue0.VNode & {
|
|
532
543
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
533
544
|
};
|
|
534
545
|
declare const _default$1: typeof __VLS_export$1;
|
|
535
546
|
type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
|
|
536
547
|
//#endregion
|
|
537
548
|
//#region src/composables/useGraph/index.d.ts
|
|
538
|
-
declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) =>
|
|
549
|
+
declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) => vue0.ComputedRef<TresObjectMap | undefined>;
|
|
539
550
|
//#endregion
|
|
540
551
|
//#region src/utils/createPriorityEventHook.d.ts
|
|
541
552
|
type Callback<T> = Parameters<EventHookOff<T>>[0];
|
|
@@ -586,7 +597,7 @@ type LoopContext = RafLoopContext & TresPartialContext;
|
|
|
586
597
|
declare const useLoop: () => {
|
|
587
598
|
stop: () => void;
|
|
588
599
|
start: () => void;
|
|
589
|
-
isActive: Readonly<
|
|
600
|
+
isActive: Readonly<vue0.ShallowRef<boolean>>;
|
|
590
601
|
onBeforeRender: PriorityEventHookOn<LoopContext>;
|
|
591
602
|
onRender: PriorityEventHookOn<LoopContext>;
|
|
592
603
|
render: (fn: RenderFunction) => void;
|
|
@@ -676,6 +687,7 @@ interface ContextProps extends RendererOptions {
|
|
|
676
687
|
}
|
|
677
688
|
type ContextEmits = {
|
|
678
689
|
ready: [context: TresContext];
|
|
690
|
+
error: [error: Error];
|
|
679
691
|
pointermissed: [event: TresPointerEvent];
|
|
680
692
|
render: [context: TresContext];
|
|
681
693
|
beforeLoop: [context: TresContextWithClock];
|
|
@@ -692,7 +704,7 @@ interface TresCanvasInstance {
|
|
|
692
704
|
type __VLS_Slots = {
|
|
693
705
|
default: () => any;
|
|
694
706
|
};
|
|
695
|
-
declare const __VLS_base:
|
|
707
|
+
declare const __VLS_base: vue0.DefineComponent<ContextProps, TresCanvasInstance, {}, {}, {}, vue0.ComponentOptionsMixin, vue0.ComponentOptionsMixin, {
|
|
696
708
|
click: (event: TresPointerEvent) => any;
|
|
697
709
|
contextmenu: (event: TresPointerEvent) => any;
|
|
698
710
|
pointermove: (event: TresPointerEvent) => any;
|
|
@@ -707,11 +719,12 @@ declare const __VLS_base: vue9.DefineComponent<ContextProps, TresCanvasInstance,
|
|
|
707
719
|
lostpointercapture: (event: TresPointerEvent) => any;
|
|
708
720
|
wheel: (event: TresPointerEvent) => any;
|
|
709
721
|
ready: (context: TresContext) => any;
|
|
722
|
+
error: (error: Error) => any;
|
|
710
723
|
pointermissed: (event: TresPointerEvent) => any;
|
|
711
724
|
render: (context: TresContext) => any;
|
|
712
725
|
beforeLoop: (context: TresContextWithClock) => any;
|
|
713
726
|
loop: (context: TresContextWithClock) => any;
|
|
714
|
-
}, string,
|
|
727
|
+
}, string, vue0.PublicProps, Readonly<ContextProps> & Readonly<{
|
|
715
728
|
onClick?: ((event: TresPointerEvent) => any) | undefined;
|
|
716
729
|
onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
|
|
717
730
|
onPointermove?: ((event: TresPointerEvent) => any) | undefined;
|
|
@@ -726,13 +739,13 @@ declare const __VLS_base: vue9.DefineComponent<ContextProps, TresCanvasInstance,
|
|
|
726
739
|
onLostpointercapture?: ((event: TresPointerEvent) => any) | undefined;
|
|
727
740
|
onWheel?: ((event: TresPointerEvent) => any) | undefined;
|
|
728
741
|
onReady?: ((context: TresContext) => any) | undefined;
|
|
742
|
+
onError?: ((error: Error) => any) | undefined;
|
|
729
743
|
onPointermissed?: ((event: TresPointerEvent) => any) | undefined;
|
|
730
744
|
onRender?: ((context: TresContext) => any) | undefined;
|
|
731
745
|
onBeforeLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
732
746
|
onLoop?: ((context: TresContextWithClock) => any) | undefined;
|
|
733
747
|
}>, {
|
|
734
748
|
windowSize: boolean;
|
|
735
|
-
enableProvideBridge: boolean;
|
|
736
749
|
antialias: boolean;
|
|
737
750
|
stencil: boolean;
|
|
738
751
|
depth: boolean;
|
|
@@ -747,7 +760,8 @@ declare const __VLS_base: vue9.DefineComponent<ContextProps, TresCanvasInstance,
|
|
|
747
760
|
shadowMapType: THREE.ShadowMapType;
|
|
748
761
|
useLegacyLights: boolean;
|
|
749
762
|
renderMode: "always" | "on-demand" | "manual";
|
|
750
|
-
|
|
763
|
+
enableProvideBridge: boolean;
|
|
764
|
+
}, {}, {}, {}, string, vue0.ComponentProvideOptions, false, {}, any>;
|
|
751
765
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
752
766
|
declare const _default: typeof __VLS_export;
|
|
753
767
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -992,7 +1006,7 @@ declare const isFog: (value: unknown) => value is Fog;
|
|
|
992
1006
|
* }
|
|
993
1007
|
* ```
|
|
994
1008
|
*/
|
|
995
|
-
declare const isScene: (value: unknown) => value is Scene
|
|
1009
|
+
declare const isScene: (value: unknown) => value is Scene<THREE.Object3DEventMap>;
|
|
996
1010
|
/**
|
|
997
1011
|
* Type guard to check if a value is a Three.js Group
|
|
998
1012
|
* @param value - The value to check
|
|
@@ -1081,4 +1095,4 @@ interface TresPlugin {
|
|
|
1081
1095
|
}
|
|
1082
1096
|
declare const plugin: TresPlugin;
|
|
1083
1097
|
//#endregion
|
|
1084
|
-
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, 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, TresRendererSetupContext, TresScene, TresVector2, TresVector3, TresVector4, UseCameraReturn, _default$1 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 };
|
|
1098
|
+
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, 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$1 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 };
|
package/dist/tres.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/core
|
|
3
|
-
* version: v5.3.
|
|
3
|
+
* version: v5.3.2
|
|
4
4
|
* (c) 2026
|
|
5
5
|
* description: Declarative ThreeJS using Vue Components
|
|
6
6
|
* author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
|
|
@@ -14,7 +14,7 @@ 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.3.
|
|
17
|
+
var version = "5.3.2";
|
|
18
18
|
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/utils/makeMap.ts
|
|
@@ -753,6 +753,16 @@ const useCreateRafLoop = (cycleFn) => {
|
|
|
753
753
|
};
|
|
754
754
|
};
|
|
755
755
|
|
|
756
|
+
//#endregion
|
|
757
|
+
//#region src/utils/error.ts
|
|
758
|
+
var TresRendererError = class extends Error {
|
|
759
|
+
name = "TresRendererError";
|
|
760
|
+
constructor(message, code, options) {
|
|
761
|
+
super(message, options);
|
|
762
|
+
this.code = code;
|
|
763
|
+
}
|
|
764
|
+
};
|
|
765
|
+
|
|
756
766
|
//#endregion
|
|
757
767
|
//#region src/composables/useRenderer/useRendererManager.ts
|
|
758
768
|
function useRendererManager({ scene, canvas, options, contextParts: { sizes, camera } }) {
|
|
@@ -795,11 +805,26 @@ function useRendererManager({ scene, canvas, options, contextParts: { sizes, cam
|
|
|
795
805
|
const isModeAlways = computed(() => toValue(options.renderMode) === "always");
|
|
796
806
|
const isRenderer = (value) => isObject(value) && "isRenderer" in value && Boolean(value.isRenderer);
|
|
797
807
|
const readyEventHook = createEventHook();
|
|
808
|
+
const errorEventHook = createEventHook();
|
|
798
809
|
let hasTriggeredReady = false;
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
810
|
+
const isInitialized = ref(false);
|
|
811
|
+
const error = ref(null);
|
|
812
|
+
const initializeRenderer = async () => {
|
|
813
|
+
try {
|
|
814
|
+
if (isRenderer(renderer)) await renderer.init();
|
|
815
|
+
isInitialized.value = true;
|
|
816
|
+
} catch (e) {
|
|
817
|
+
const rendererError = new TresRendererError(e instanceof Error ? e.message : "Unknown error", "INITIALIZATION_FAILED", { cause: e instanceof Error ? e : void 0 });
|
|
818
|
+
error.value = rendererError;
|
|
819
|
+
console.error(`[TresJS] Renderer initialization failed. This may occur if:
|
|
820
|
+
- WebGPU is not supported by your browser
|
|
821
|
+
- GPU is not available or lacks required features
|
|
822
|
+
- GPU drivers are outdated
|
|
823
|
+
Error details: ${rendererError.message}`, rendererError);
|
|
824
|
+
errorEventHook.trigger(rendererError);
|
|
825
|
+
}
|
|
826
|
+
};
|
|
827
|
+
initializeRenderer();
|
|
803
828
|
const renderEventHook = createEventHook();
|
|
804
829
|
const notifyFrameRendered = () => {
|
|
805
830
|
frames.value = isModeAlways.value ? 1 : Math.max(0, frames.value - 1);
|
|
@@ -817,8 +842,15 @@ function useRendererManager({ scene, canvas, options, contextParts: { sizes, cam
|
|
|
817
842
|
const loop = useCreateRafLoop(() => {
|
|
818
843
|
if (frames.value) renderFunction(notifyFrameRendered);
|
|
819
844
|
});
|
|
820
|
-
readyEventHook.on(
|
|
821
|
-
|
|
845
|
+
readyEventHook.on(() => {
|
|
846
|
+
if (isInitialized.value) loop.start();
|
|
847
|
+
});
|
|
848
|
+
watch([
|
|
849
|
+
sizes.width,
|
|
850
|
+
sizes.height,
|
|
851
|
+
isInitialized
|
|
852
|
+
], () => {
|
|
853
|
+
if (!isInitialized.value) return;
|
|
822
854
|
renderer.setSize(sizes.width.value, sizes.height.value);
|
|
823
855
|
if (!hasTriggeredReady && renderer.domElement.width && renderer.domElement.height) {
|
|
824
856
|
readyEventHook.trigger(renderer);
|
|
@@ -827,6 +859,7 @@ function useRendererManager({ scene, canvas, options, contextParts: { sizes, cam
|
|
|
827
859
|
invalidateOnDemand();
|
|
828
860
|
}, { immediate: true });
|
|
829
861
|
watchEffect(() => {
|
|
862
|
+
if (!isInitialized.value) return;
|
|
830
863
|
setPixelRatio(renderer, sizes.pixelRatio.value, toValue(options.dpr));
|
|
831
864
|
});
|
|
832
865
|
if (toValue(options.renderMode) === "on-demand") invalidate();
|
|
@@ -846,29 +879,35 @@ function useRendererManager({ scene, canvas, options, contextParts: { sizes, cam
|
|
|
846
879
|
};
|
|
847
880
|
});
|
|
848
881
|
watchEffect(() => {
|
|
882
|
+
if (!isInitialized.value) return;
|
|
849
883
|
const value = clearColorAndAlpha.value;
|
|
850
884
|
if (value.color === void 0 || value.alpha === void 0) return;
|
|
851
885
|
renderer.setClearColor(value.color, value.alpha);
|
|
852
886
|
});
|
|
853
887
|
watchEffect(() => {
|
|
888
|
+
if (!isInitialized.value) return;
|
|
854
889
|
const value = options.toneMapping;
|
|
855
890
|
if (value) renderer.toneMapping = value;
|
|
856
891
|
});
|
|
857
892
|
watchEffect(() => {
|
|
893
|
+
if (!isInitialized.value) return;
|
|
858
894
|
const value = options.toneMappingExposure;
|
|
859
895
|
if (value) renderer.toneMappingExposure = value;
|
|
860
896
|
});
|
|
861
897
|
watchEffect(() => {
|
|
898
|
+
if (!isInitialized.value) return;
|
|
862
899
|
const value = options.outputColorSpace;
|
|
863
900
|
if (value) renderer.outputColorSpace = value;
|
|
864
901
|
});
|
|
865
902
|
watchEffect(() => {
|
|
903
|
+
if (!isInitialized.value) return;
|
|
866
904
|
const value = options.shadows;
|
|
867
905
|
if (value === void 0) return;
|
|
868
906
|
renderer.shadowMap.enabled = value;
|
|
869
907
|
forceMaterialUpdate();
|
|
870
908
|
});
|
|
871
909
|
watchEffect(() => {
|
|
910
|
+
if (!isInitialized.value) return;
|
|
872
911
|
const value = options.shadowMapType;
|
|
873
912
|
if (value === void 0) return;
|
|
874
913
|
renderer.shadowMap.type = value;
|
|
@@ -884,10 +923,13 @@ function useRendererManager({ scene, canvas, options, contextParts: { sizes, cam
|
|
|
884
923
|
advance,
|
|
885
924
|
onReady: readyEventHook.on,
|
|
886
925
|
onRender: renderEventHook.on,
|
|
926
|
+
onError: errorEventHook.on,
|
|
887
927
|
invalidate,
|
|
888
928
|
canBeInvalidated,
|
|
889
929
|
mode: toValue(options.renderMode),
|
|
890
|
-
replaceRenderFunction
|
|
930
|
+
replaceRenderFunction,
|
|
931
|
+
isInitialized,
|
|
932
|
+
error
|
|
891
933
|
};
|
|
892
934
|
}
|
|
893
935
|
|
|
@@ -1924,6 +1966,7 @@ var Context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
1924
1966
|
},
|
|
1925
1967
|
emits: [
|
|
1926
1968
|
"ready",
|
|
1969
|
+
"error",
|
|
1927
1970
|
"pointermissed",
|
|
1928
1971
|
"render",
|
|
1929
1972
|
"beforeLoop",
|
|
@@ -2008,7 +2051,6 @@ var Context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
2008
2051
|
};
|
|
2009
2052
|
const { camera, renderer } = context.value;
|
|
2010
2053
|
const { registerCamera, cameras, activeCamera, deregisterCamera } = camera;
|
|
2011
|
-
mountCustomRenderer(context.value);
|
|
2012
2054
|
const addDefaultCamera = () => {
|
|
2013
2055
|
const camera$1 = new PerspectiveCamera(45, window.innerWidth / window.innerHeight, .1, 1e3);
|
|
2014
2056
|
camera$1.position.set(3, 3, 3);
|
|
@@ -2032,7 +2074,6 @@ var Context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
2032
2074
|
deregisterCamera(toValue(oldCamera));
|
|
2033
2075
|
}
|
|
2034
2076
|
}, { immediate: true });
|
|
2035
|
-
if (!activeCamera.value) addDefaultCamera();
|
|
2036
2077
|
renderer.onRender(() => {
|
|
2037
2078
|
if (context.value) emit("render", context.value);
|
|
2038
2079
|
});
|
|
@@ -2049,7 +2090,12 @@ var Context_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
2049
2090
|
});
|
|
2050
2091
|
});
|
|
2051
2092
|
renderer.onReady(() => {
|
|
2093
|
+
mountCustomRenderer(context.value, false);
|
|
2052
2094
|
emit("ready", context.value);
|
|
2095
|
+
if (!activeCamera.value) addDefaultCamera();
|
|
2096
|
+
});
|
|
2097
|
+
renderer.onError((error) => {
|
|
2098
|
+
emit("error", error);
|
|
2053
2099
|
});
|
|
2054
2100
|
if (import.meta.hot) import.meta.hot.on("vite:afterUpdate", () => handleHMR(context.value));
|
|
2055
2101
|
onMounted(async () => {
|
|
@@ -2194,6 +2240,7 @@ var TresCanvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
2194
2240
|
},
|
|
2195
2241
|
emits: [
|
|
2196
2242
|
"ready",
|
|
2243
|
+
"error",
|
|
2197
2244
|
"pointermissed",
|
|
2198
2245
|
"render",
|
|
2199
2246
|
"beforeLoop",
|
|
@@ -2248,23 +2295,24 @@ var TresCanvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
2248
2295
|
canvas: canvasRef.value
|
|
2249
2296
|
}, props, {
|
|
2250
2297
|
onReady: _cache[0] || (_cache[0] = ($event) => emit("ready", $event)),
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2298
|
+
onError: _cache[1] || (_cache[1] = ($event) => emit("error", $event)),
|
|
2299
|
+
onPointermissed: _cache[2] || (_cache[2] = ($event) => emit("pointermissed", $event)),
|
|
2300
|
+
onRender: _cache[3] || (_cache[3] = ($event) => emit("render", $event)),
|
|
2301
|
+
onBeforeLoop: _cache[4] || (_cache[4] = ($event) => emit("beforeLoop", $event)),
|
|
2302
|
+
onLoop: _cache[5] || (_cache[5] = ($event) => emit("loop", $event)),
|
|
2303
|
+
onClick: _cache[6] || (_cache[6] = ($event) => emit("click", $event)),
|
|
2304
|
+
onContextmenu: _cache[7] || (_cache[7] = ($event) => emit("contextmenu", $event)),
|
|
2305
|
+
onPointermove: _cache[8] || (_cache[8] = ($event) => emit("pointermove", $event)),
|
|
2306
|
+
onPointerenter: _cache[9] || (_cache[9] = ($event) => emit("pointerenter", $event)),
|
|
2307
|
+
onPointerleave: _cache[10] || (_cache[10] = ($event) => emit("pointerleave", $event)),
|
|
2308
|
+
onPointerover: _cache[11] || (_cache[11] = ($event) => emit("pointerover", $event)),
|
|
2309
|
+
onPointerout: _cache[12] || (_cache[12] = ($event) => emit("pointerout", $event)),
|
|
2310
|
+
onDblclick: _cache[13] || (_cache[13] = ($event) => emit("dblclick", $event)),
|
|
2311
|
+
onPointerdown: _cache[14] || (_cache[14] = ($event) => emit("pointerdown", $event)),
|
|
2312
|
+
onPointerup: _cache[15] || (_cache[15] = ($event) => emit("pointerup", $event)),
|
|
2313
|
+
onPointercancel: _cache[16] || (_cache[16] = ($event) => emit("pointercancel", $event)),
|
|
2314
|
+
onLostpointercapture: _cache[17] || (_cache[17] = ($event) => emit("lostpointercapture", $event)),
|
|
2315
|
+
onWheel: _cache[18] || (_cache[18] = ($event) => emit("wheel", $event))
|
|
2268
2316
|
}), {
|
|
2269
2317
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
2270
2318
|
_: 3
|
|
@@ -2345,7 +2393,7 @@ const vDistanceTo = {
|
|
|
2345
2393
|
};
|
|
2346
2394
|
|
|
2347
2395
|
//#endregion
|
|
2348
|
-
//#region ../../node_modules/.pnpm/three-stdlib@2.36.1_three@0.
|
|
2396
|
+
//#region ../../node_modules/.pnpm/three-stdlib@2.36.1_three@0.181.2/node_modules/three-stdlib/helpers/RectAreaLightHelper.js
|
|
2349
2397
|
var RectAreaLightHelper = class extends Line {
|
|
2350
2398
|
constructor(light, color) {
|
|
2351
2399
|
const positions = [
|
|
@@ -2478,4 +2526,4 @@ const plugin = { install(app) {
|
|
|
2478
2526
|
var src_default = plugin;
|
|
2479
2527
|
|
|
2480
2528
|
//#endregion
|
|
2481
|
-
export { DevtoolsMessenger, TresCanvas_default as TresCanvas, 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 };
|
|
2529
|
+
export { DevtoolsMessenger, TresCanvas_default as TresCanvas, 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 };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tresjs/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.3.
|
|
4
|
+
"version": "5.3.2",
|
|
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.181.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.181.0",
|
|
70
70
|
"tsdown": "0.18.3",
|
|
71
71
|
"typescript": "^5.8.3",
|
|
72
72
|
"vite": "^7.1.9",
|