@tresjs/core 5.1.1 → 5.2.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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.1.1
3
+ * version: v5.2.0
4
4
  * (c) 2025
5
5
  * description: Declarative ThreeJS using Vue Components
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.1.1
3
+ * version: v5.2.0
4
4
  * (c) 2025
5
5
  * description: Declarative ThreeJS using Vue Components
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.1.1
3
+ * version: v5.2.0
4
4
  * (c) 2025
5
5
  * description: Declarative ThreeJS using Vue Components
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
package/dist/tres.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.1.1
3
+ * version: v5.2.0
4
4
  * (c) 2025
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 vue0 from "vue";
8
+ import * as vue10 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";
@@ -311,7 +311,7 @@ declare function useRendererManager({
311
311
  onReady: _vueuse_core0.EventHookOn<TresRenderer>;
312
312
  onRender: _vueuse_core0.EventHookOn<TresRenderer>;
313
313
  invalidate: (amountOfFramesToInvalidate?: number) => void;
314
- canBeInvalidated: vue0.ComputedRef<boolean>;
314
+ canBeInvalidated: vue10.ComputedRef<boolean>;
315
315
  mode: "always" | "on-demand" | "manual" | undefined;
316
316
  replaceRenderFunction: (fn: RenderFunction) => void;
317
317
  };
@@ -329,7 +329,7 @@ declare function useEventManager({
329
329
  canvas: MaybeRef<HTMLCanvasElement>;
330
330
  contextParts: Pick<TresContext, 'scene' | 'camera' | 'renderer'>;
331
331
  }): {
332
- onPointerMissed: _vueuse_core0.EventHookOn<PointerEvent<MouseEvent> & Event<"click", Object3D<Object3DEventMap & PointerEventsMap>>>;
332
+ onPointerMissed: _vueuse_core0.EventHookOn<TresPointerEvent & Event<"click", Object3D<Object3DEventMap & PointerEventsMap>>>;
333
333
  };
334
334
  //#endregion
335
335
  //#region src/composables/useTresContextProvider/index.d.ts
@@ -353,6 +353,7 @@ declare const useTresContext: () => TresContext;
353
353
  //#region src/utils/pointerEvents.d.ts
354
354
  declare const supportedPointerEvents: readonly ["onClick", "onContextmenu", "onPointermove", "onPointerenter", "onPointerleave", "onPointerover", "onPointerout", "onDblclick", "onPointerdown", "onPointerup", "onPointercancel", "onLostpointercapture", "onWheel"];
355
355
  type SupportedVuePointerEvent = typeof supportedPointerEvents[number];
356
+ type TresPointerEventName = 'click' | 'contextmenu' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerover' | 'pointerout' | 'dblclick' | 'pointerdown' | 'pointerup' | 'pointercancel' | 'lostpointercapture' | 'wheel';
356
357
  type TresPointerEvent = PointerEvent<MouseEvent>;
357
358
  type PointerEventHandlers = { [key in SupportedVuePointerEvent]: (event: TresPointerEvent) => void };
358
359
  //#endregion
@@ -361,10 +362,10 @@ type AttachFnType = (parent: any, self: TresInstance) => () => void;
361
362
  type AttachType = string | AttachFnType;
362
363
  type DisposeType = ((self: TresInstance) => void) | boolean | 'default';
363
364
  type ConstructorRepresentation = new (...args: any[]) => any;
364
- type NonFunctionKeys<P> = { [K in keyof P]-?: P[K] extends ((...args: any[]) => any) ? never : K }[keyof P];
365
- type Overwrite<P, O> = Omit<P, NonFunctionKeys<O>> & O;
365
+ type NonFunctionKeys<P$1> = { [K in keyof P$1]-?: P$1[K] extends ((...args: any[]) => any) ? never : K }[keyof P$1];
366
+ type Overwrite<P$1, O> = Omit<P$1, NonFunctionKeys<O>> & O;
366
367
  type Properties<T> = Pick<T, NonFunctionKeys<T>>;
367
- type Mutable<P> = { [K in keyof P]: P[K] | Readonly<P[K]> };
368
+ type Mutable<P$1> = { [K in keyof P$1]: P$1[K] | Readonly<P$1[K]> };
368
369
  type Args<T> = T extends ConstructorRepresentation ? ConstructorParameters<T> : any[];
369
370
  interface TresCatalogue {
370
371
  [name: string]: ConstructorRepresentation;
@@ -376,8 +377,8 @@ type TresCamera = THREE.OrthographicCamera | THREE.PerspectiveCamera;
376
377
  * @template T - The type of the object.
377
378
  * @template P - The type of the arguments.
378
379
  */
379
- interface InstanceProps<T = any, P = any> {
380
- args?: Args<P>;
380
+ interface InstanceProps<T = any, P$1 = any> {
381
+ args?: Args<P$1>;
381
382
  object?: T;
382
383
  visible?: boolean;
383
384
  dispose?: null;
@@ -454,17 +455,17 @@ type TresContextWithClock = TresContext & {
454
455
  delta: number;
455
456
  elapsed: number;
456
457
  };
457
- type WithMathProps<P> = { [K in keyof P]: P[K] extends MathRepresentation | THREE.Euler ? MathType<P[K]> : P[K] };
458
+ type WithMathProps<P$1> = { [K in keyof P$1]: P$1[K] extends MathRepresentation | THREE.Euler ? MathType<P$1[K]> : P$1[K] };
458
459
  interface RaycastableRepresentation {
459
460
  raycast: (raycaster: THREE.Raycaster, intersects: THREE.Intersection[]) => void;
460
461
  }
461
- type EventProps<P> = P extends RaycastableRepresentation ? Partial<PointerEventHandlers> : unknown;
462
+ type EventProps<P$1> = P$1 extends RaycastableRepresentation ? Partial<PointerEventHandlers> : unknown;
462
463
  interface VueProps {
463
464
  children?: VNode[];
464
465
  ref?: VNodeRef;
465
466
  key?: string | number | symbol;
466
467
  }
467
- type ElementProps<T extends ConstructorRepresentation, P = InstanceType<T>> = Partial<Overwrite<P, WithMathProps<P> & VueProps & EventProps<P>>>;
468
+ type ElementProps<T extends ConstructorRepresentation, P$1 = InstanceType<T>> = Partial<Overwrite<P$1, WithMathProps<P$1> & VueProps & EventProps<P$1>>>;
468
469
  type ThreeElement<T extends ConstructorRepresentation> = Mutable<Overwrite<ElementProps<T>, Omit<InstanceProps<InstanceType<T>, T>, 'object'>>>;
469
470
  type ThreeExports = typeof THREE;
470
471
  type ThreeInstancesImpl = { [K in keyof ThreeExports as Uncapitalize<K>]: ThreeExports[K] extends ConstructorRepresentation ? ThreeElement<ThreeExports[K]> : never };
@@ -496,7 +497,7 @@ interface TresObjectMap {
496
497
  declare function buildGraph(object: Object3D | TresObject): TresObjectMap;
497
498
  //#endregion
498
499
  //#region src/composables/useLoader/component.vue.d.ts
499
- 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_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
500
+ 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<{
500
501
  props: __VLS_PrettifyLocal<{
501
502
  /**
502
503
  * The THREE.js loader to use
@@ -513,25 +514,27 @@ declare const __VLS_export$1: <T extends TresObjectMap>(__VLS_props: NonNullable
513
514
  } & {
514
515
  onLoaded?: ((result: T) => any) | undefined;
515
516
  onError?: ((error: unknown) => any) | undefined;
516
- }> & vue0.PublicProps;
517
+ }> & vue10.PublicProps & (typeof globalThis extends {
518
+ __VLS_PROPS_FALLBACK: infer P;
519
+ } ? P : {});
517
520
  expose: (exposed: {}) => void;
518
521
  attrs: any;
519
522
  slots: {
520
523
  default?: (props: {
521
- state: vue0.UnwrapRef<T>;
524
+ state: vue10.UnwrapRef<T>;
522
525
  isLoading: boolean;
523
526
  error: unknown;
524
527
  }) => any;
525
528
  };
526
529
  emit: ((evt: "loaded", result: T) => void) & ((evt: "error", error: unknown) => void);
527
- }>) => vue0.VNode & {
530
+ }>) => vue10.VNode & {
528
531
  __ctx?: Awaited<typeof __VLS_setup>;
529
532
  };
530
533
  declare const _default$1: typeof __VLS_export$1;
531
- type __VLS_PrettifyLocal<T> = { [K in keyof T as K]: T[K] } & {};
534
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
532
535
  //#endregion
533
536
  //#region src/composables/useGraph/index.d.ts
534
- declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) => vue0.ComputedRef<TresObjectMap | undefined>;
537
+ declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) => vue10.ComputedRef<TresObjectMap | undefined>;
535
538
  //#endregion
536
539
  //#region src/utils/createPriorityEventHook.d.ts
537
540
  type Callback<T> = Parameters<EventHookOff<T>>[0];
@@ -582,7 +585,7 @@ type LoopContext = RafLoopContext & TresPartialContext;
582
585
  declare const useLoop: () => {
583
586
  stop: () => void;
584
587
  start: () => void;
585
- isActive: Readonly<vue0.ShallowRef<boolean>>;
588
+ isActive: Readonly<vue10.ShallowRef<boolean>>;
586
589
  onBeforeRender: PriorityEventHookOn<LoopContext>;
587
590
  onRender: PriorityEventHookOn<LoopContext>;
588
591
  render: (fn: RenderFunction) => void;
@@ -660,49 +663,58 @@ interface TresCanvasProps extends RendererOptions {
660
663
  */
661
664
  enableProvideBridge?: boolean;
662
665
  }
663
- declare const __VLS_export: __VLS_WithSlots<vue0.DefineComponent<TresCanvasProps, {
664
- context: vue0.ShallowRef<TresContext | null, TresContext | null>;
666
+ type TresCanvasEmits = {
667
+ ready: [context: TresContext];
668
+ pointermissed: [event: TresPointerEvent];
669
+ render: [context: TresContext];
670
+ beforeLoop: [context: TresContextWithClock];
671
+ loop: [context: TresContextWithClock];
672
+ } & { [key in TresPointerEventName]: [event: TresPointerEvent] };
673
+ declare const _default: typeof __VLS_export;
674
+ declare const __VLS_export: __VLS_WithSlots<vue10.DefineComponent<TresCanvasProps, {
675
+ context: vue10.ShallowRef<TresContext | null, TresContext | null>;
665
676
  dispose: () => void;
666
- }, {}, {}, {}, vue0.ComponentOptionsMixin, vue0.ComponentOptionsMixin, {
667
- click: (event: PointerEvent<MouseEvent>) => any;
668
- contextmenu: (event: PointerEvent<MouseEvent>) => any;
669
- pointermove: (event: PointerEvent<MouseEvent>) => any;
670
- pointerenter: (event: PointerEvent<MouseEvent>) => any;
671
- pointerleave: (event: PointerEvent<MouseEvent>) => any;
672
- pointerover: (event: PointerEvent<MouseEvent>) => any;
673
- pointerout: (event: PointerEvent<MouseEvent>) => any;
674
- dblclick: (event: PointerEvent<MouseEvent>) => any;
675
- pointerdown: (event: PointerEvent<MouseEvent>) => any;
676
- pointerup: (event: PointerEvent<MouseEvent>) => any;
677
- pointercancel: (event: PointerEvent<MouseEvent>) => any;
678
- lostpointercapture: (event: PointerEvent<MouseEvent>) => any;
679
- wheel: (event: PointerEvent<MouseEvent>) => any;
677
+ }, {}, {}, {}, vue10.ComponentOptionsMixin, vue10.ComponentOptionsMixin, {
678
+ click: (event: TresPointerEvent) => any;
679
+ contextmenu: (event: TresPointerEvent) => any;
680
+ pointermove: (event: TresPointerEvent) => any;
681
+ pointerenter: (event: TresPointerEvent) => any;
682
+ pointerleave: (event: TresPointerEvent) => any;
683
+ pointerover: (event: TresPointerEvent) => any;
684
+ pointerout: (event: TresPointerEvent) => any;
685
+ dblclick: (event: TresPointerEvent) => any;
686
+ pointerdown: (event: TresPointerEvent) => any;
687
+ pointerup: (event: TresPointerEvent) => any;
688
+ pointercancel: (event: TresPointerEvent) => any;
689
+ lostpointercapture: (event: TresPointerEvent) => any;
690
+ wheel: (event: TresPointerEvent) => any;
680
691
  ready: (context: TresContext) => any;
681
- pointermissed: (event: PointerEvent<MouseEvent>) => any;
692
+ pointermissed: (event: TresPointerEvent) => any;
682
693
  render: (context: TresContext) => any;
683
694
  beforeLoop: (context: TresContextWithClock) => any;
684
695
  loop: (context: TresContextWithClock) => any;
685
- }, string, vue0.PublicProps, Readonly<TresCanvasProps> & Readonly<{
686
- onClick?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
687
- onContextmenu?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
688
- onPointermove?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
689
- onPointerenter?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
690
- onPointerleave?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
691
- onPointerover?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
692
- onPointerout?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
693
- onDblclick?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
694
- onPointerdown?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
695
- onPointerup?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
696
- onPointercancel?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
697
- onLostpointercapture?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
698
- onWheel?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
696
+ }, string, vue10.PublicProps, Readonly<TresCanvasProps> & Readonly<{
697
+ onClick?: ((event: TresPointerEvent) => any) | undefined;
698
+ onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
699
+ onPointermove?: ((event: TresPointerEvent) => any) | undefined;
700
+ onPointerenter?: ((event: TresPointerEvent) => any) | undefined;
701
+ onPointerleave?: ((event: TresPointerEvent) => any) | undefined;
702
+ onPointerover?: ((event: TresPointerEvent) => any) | undefined;
703
+ onPointerout?: ((event: TresPointerEvent) => any) | undefined;
704
+ onDblclick?: ((event: TresPointerEvent) => any) | undefined;
705
+ onPointerdown?: ((event: TresPointerEvent) => any) | undefined;
706
+ onPointerup?: ((event: TresPointerEvent) => any) | undefined;
707
+ onPointercancel?: ((event: TresPointerEvent) => any) | undefined;
708
+ onLostpointercapture?: ((event: TresPointerEvent) => any) | undefined;
709
+ onWheel?: ((event: TresPointerEvent) => any) | undefined;
699
710
  onReady?: ((context: TresContext) => any) | undefined;
700
- onPointermissed?: ((event: PointerEvent<MouseEvent>) => any) | undefined;
711
+ onPointermissed?: ((event: TresPointerEvent) => any) | undefined;
701
712
  onRender?: ((context: TresContext) => any) | undefined;
702
713
  onBeforeLoop?: ((context: TresContextWithClock) => any) | undefined;
703
714
  onLoop?: ((context: TresContextWithClock) => any) | undefined;
704
715
  }>, {
705
716
  windowSize: boolean;
717
+ enableProvideBridge: boolean;
706
718
  antialias: boolean;
707
719
  stencil: boolean;
708
720
  depth: boolean;
@@ -717,11 +729,9 @@ declare const __VLS_export: __VLS_WithSlots<vue0.DefineComponent<TresCanvasProps
717
729
  shadowMapType: THREE.ShadowMapType;
718
730
  useLegacyLights: boolean;
719
731
  renderMode: "always" | "on-demand" | "manual";
720
- enableProvideBridge: boolean;
721
- }, {}, {}, {}, string, vue0.ComponentProvideOptions, false, {}, any>, {
732
+ }, {}, {}, {}, string, vue10.ComponentProvideOptions, false, {}, any>, {
722
733
  default: () => any;
723
734
  }>;
724
- declare const _default: typeof __VLS_export;
725
735
  type __VLS_WithSlots<T, S> = T & {
726
736
  new (): {
727
737
  $slots: S;
@@ -1053,4 +1063,4 @@ interface TresPlugin {
1053
1063
  }
1054
1064
  declare const plugin: TresPlugin;
1055
1065
  //#endregion
1056
- 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, TresCatalogue, TresColor, TresColorArray, type TresContext, TresContextWithClock, TresControl, 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 };
1066
+ 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 TresCanvasProps, TresCatalogue, TresColor, TresColorArray, type TresContext, TresContextWithClock, TresControl, 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 };
package/dist/tres.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.1.1
3
+ * version: v5.2.0
4
4
  * (c) 2025
5
5
  * description: Declarative ThreeJS using Vue Components
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
@@ -14,88 +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 package_default = {
18
- name: "@tresjs/core",
19
- type: "module",
20
- version: "5.1.1",
21
- description: "Declarative ThreeJS using Vue Components",
22
- author: "Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",
23
- license: "MIT",
24
- repository: {
25
- "type": "git",
26
- "url": "git+https://github.com/Tresjs/tres.git",
27
- "directory": "packages/core"
28
- },
29
- keywords: [
30
- "vue",
31
- "3d",
32
- "threejs",
33
- "three",
34
- "threejs-vue"
35
- ],
36
- sideEffects: false,
37
- exports: {
38
- ".": "./dist/tres.js",
39
- "./template-compiler-options": "./dist/template-compiler-options.mjs",
40
- "./package.json": "./package.json"
41
- },
42
- main: "./dist/tres.js",
43
- module: "./dist/tres.js",
44
- types: "./dist/tres.d.ts",
45
- typesVersions: { "*": { "template-compiler-options": ["dist/template-compiler-options.d.mts"] } },
46
- files: ["*.d.ts", "dist"],
47
- publishConfig: { "access": "public" },
48
- scripts: {
49
- "build": "tsdown",
50
- "test": "vitest",
51
- "test:ci": "vitest run",
52
- "test:ui": "vitest --ui --coverage.enabled=true",
53
- "coverage": "vitest run --coverage",
54
- "lint": "eslint .",
55
- "lint:fix": "eslint . --fix",
56
- "typecheck": "vue-tsc --noEmit"
57
- },
58
- peerDependencies: {
59
- "three": ">=0.133",
60
- "vue": ">=3.4"
61
- },
62
- dependencies: {
63
- "@pmndrs/pointer-events": "^6.6.17",
64
- "@vue/devtools-api": "^7.7.2",
65
- "@vueuse/core": "catalog:utils",
66
- "radashi": "^12.6.2",
67
- "typescript": "catalog:typescript"
68
- },
69
- devDependencies: {
70
- "@tresjs/eslint-config": "workspace:*",
71
- "@types/three": "catalog:three",
72
- "@typescript-eslint/eslint-plugin": "catalog:eslint",
73
- "@typescript-eslint/parser": "catalog:eslint",
74
- "@vitejs/plugin-vue": "catalog:vite",
75
- "@vitest/coverage-v8": "3.2.4",
76
- "@vitest/ui": "catalog:testing",
77
- "@vue/test-utils": "catalog:testing",
78
- "eslint": "catalog:eslint",
79
- "eslint-plugin-vue": "catalog:eslint",
80
- "jsdom": "catalog:testing",
81
- "kolorist": "catalog:utils",
82
- "pathe": "catalog:utils",
83
- "rollup-plugin-analyzer": "catalog:build",
84
- "rollup-plugin-copy": "^3.5.0",
85
- "rollup-plugin-visualizer": "catalog:build",
86
- "three": "catalog:three",
87
- "tsdown": "catalog:build",
88
- "vite": "catalog:vite",
89
- "vite-plugin-banner": "catalog:vite",
90
- "vite-plugin-dts": "catalog:vite",
91
- "vite-plugin-inspect": "^11.3.3",
92
- "vitest": "catalog:testing",
93
- "vue": "catalog:vue",
94
- "vue-demi": "^0.14.10",
95
- "vue-tsc": "catalog:typescript"
96
- },
97
- nx: { "implicitDependencies": ["!@tresjs/core-*"] }
98
- };
17
+ var version = "5.2.0";
99
18
 
100
19
  //#endregion
101
20
  //#region src/utils/makeMap.ts
@@ -401,8 +320,8 @@ function logWarning(...args) {
401
320
  * @param name - Name of the message
402
321
  * @param value - Value to log
403
322
  */
404
- function logMessage(name$1, value) {
405
- if (!isProd) console.log(`${logPrefix} - ${name$1}:`, value);
323
+ function logMessage(name, value) {
324
+ if (!isProd) console.log(`${logPrefix} - ${name}:`, value);
406
325
  }
407
326
 
408
327
  //#endregion
@@ -446,11 +365,11 @@ function resolve(obj, key) {
446
365
  function joinAsCamelCase(...strings) {
447
366
  return strings.map((s, i) => i === 0 ? s : s.charAt(0).toUpperCase() + s.slice(1)).join("");
448
367
  }
449
- function attach(parent, child, type$1) {
368
+ function attach(parent, child, type) {
450
369
  const INDEX_REGEX = /-\d+$/;
451
- if (isString(type$1)) {
452
- if (INDEX_REGEX.test(type$1)) {
453
- const { target: target$1, key: key$1 } = resolve(parent, type$1.replace(INDEX_REGEX, ""));
370
+ if (isString(type)) {
371
+ if (INDEX_REGEX.test(type)) {
372
+ const { target: target$1, key: key$1 } = resolve(parent, type.replace(INDEX_REGEX, ""));
454
373
  if (!Array.isArray(target$1[key$1])) {
455
374
  const previousAttach = target$1[key$1];
456
375
  const augmentedArray = [];
@@ -460,14 +379,14 @@ function attach(parent, child, type$1) {
460
379
  target$1[key$1] = augmentedArray;
461
380
  }
462
381
  }
463
- const { target, key } = resolve(parent, type$1);
382
+ const { target, key } = resolve(parent, type);
464
383
  child.__tres.previousAttach = target[key];
465
384
  target[key] = unboxTresPrimitive(child);
466
- } else child.__tres.previousAttach = type$1(parent, child);
385
+ } else child.__tres.previousAttach = type(parent, child);
467
386
  }
468
- function detach(parent, child, type$1) {
469
- if (isString(type$1)) {
470
- const { target, key } = resolve(parent, type$1);
387
+ function detach(parent, child, type) {
388
+ if (isString(type)) {
389
+ const { target, key } = resolve(parent, type);
471
390
  const previous = child.__tres.previousAttach;
472
391
  if (previous === void 0) delete target[key];
473
392
  else target[key] = previous;
@@ -1159,11 +1078,11 @@ const nodeOps = (context) => {
1159
1078
  if (!props.args) props.args = [];
1160
1079
  if (isHTMLTag(tag)) return null;
1161
1080
  if (tag.includes("-")) tag = tag.replace(/-([a-z])/g, (_, c) => c.toUpperCase()).replace(/^[a-z]/, (c) => c.toUpperCase());
1162
- let name$1 = tag.replace("Tres", "");
1081
+ let name = tag.replace("Tres", "");
1163
1082
  let obj;
1164
1083
  if (tag === "primitive") {
1165
1084
  if (!isObject(props.object) || isRef(props.object)) logError("Tres primitives need an 'object' prop, whose value is an object or shallowRef<object>");
1166
- name$1 = props.object.type;
1085
+ name = props.object.type;
1167
1086
  const __tres = {};
1168
1087
  obj = createRetargetingProxy(props.object, {
1169
1088
  object: (t) => t,
@@ -1182,8 +1101,8 @@ const nodeOps = (context) => {
1182
1101
  }
1183
1102
  });
1184
1103
  } else {
1185
- const target = catalogue.value[name$1];
1186
- if (!target) logError(`${name$1} is not defined on the THREE namespace. Use extend to add it to the catalog.`);
1104
+ const target = catalogue.value[name];
1105
+ if (!target) logError(`${name} is not defined on the THREE namespace. Use extend to add it to the catalog.`);
1187
1106
  obj = new target(...props.args);
1188
1107
  }
1189
1108
  if (!obj) return null;
@@ -1193,7 +1112,7 @@ const nodeOps = (context) => {
1193
1112
  }
1194
1113
  obj = prepareTresInstance(obj, {
1195
1114
  ...isTresInstance(obj) ? obj.__tres : {},
1196
- type: name$1,
1115
+ type: name,
1197
1116
  memoizedProps: props,
1198
1117
  primitive: tag === "primitive",
1199
1118
  attach: props.attach
@@ -1375,14 +1294,14 @@ var DevtoolsMessenger = class {
1375
1294
  * Send a message to devtools subscribers
1376
1295
  * If no subscribers are available, only queueable message types are queued
1377
1296
  */
1378
- send(type$1, data) {
1297
+ send(type, data) {
1379
1298
  const message = {
1380
- type: type$1,
1299
+ type,
1381
1300
  data,
1382
1301
  timestamp: Date.now()
1383
1302
  };
1384
1303
  if (this.subscribers.size > 0) this.subscribers.forEach((subscriber) => subscriber(message));
1385
- else if (QUEUEABLE_MESSAGE_TYPES.includes(type$1)) this.queueMessage(message);
1304
+ else if (QUEUEABLE_MESSAGE_TYPES.includes(type)) this.queueMessage(message);
1386
1305
  }
1387
1306
  /**
1388
1307
  * Queue a message for later delivery
@@ -1440,15 +1359,15 @@ var DevtoolsMessenger = class {
1440
1359
  * @param message - message to log
1441
1360
  * @param type - different color of the tooltip
1442
1361
  */
1443
- function toastMessage(message, type$1) {
1362
+ function toastMessage(message, type) {
1444
1363
  const tresMessage = `▲ ■ ●${message}`;
1445
- if (typeof __VUE_DEVTOOLS_TOAST__ === "function") __VUE_DEVTOOLS_TOAST__(tresMessage, type$1);
1446
- else if (type$1 === "error") console.error(tresMessage);
1447
- else if (type$1 === "warn") console.warn(tresMessage);
1364
+ if (typeof __VUE_DEVTOOLS_TOAST__ === "function") __VUE_DEVTOOLS_TOAST__(tresMessage, type);
1365
+ else if (type === "error") console.error(tresMessage);
1366
+ else if (type === "warn") console.warn(tresMessage);
1448
1367
  else console.log(tresMessage);
1449
1368
  }
1450
- function __VUE_DEVTOOLS_TOAST__(tresMessage, type$1) {
1451
- throw new Error(tresMessage + type$1);
1369
+ function __VUE_DEVTOOLS_TOAST__(tresMessage, type) {
1370
+ throw new Error(tresMessage + type);
1452
1371
  }
1453
1372
 
1454
1373
  //#endregion
@@ -2154,7 +2073,7 @@ var TresCanvas_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
2154
2073
  ref: canvasRef,
2155
2074
  "data-scene": scene.value.uuid,
2156
2075
  class: normalizeClass(_ctx.$attrs.class),
2157
- "data-tres": `tresjs ${unref(package_default).version}`,
2076
+ "data-tres": `tresjs ${unref(version)}`,
2158
2077
  style: normalizeStyle({
2159
2078
  display: "block",
2160
2079
  width: "100%",
@@ -2243,7 +2162,7 @@ const vDistanceTo = {
2243
2162
  };
2244
2163
 
2245
2164
  //#endregion
2246
- //#region ../../node_modules/.pnpm/three-stdlib@2.36.0_three@0.180.0/node_modules/three-stdlib/helpers/RectAreaLightHelper.js
2165
+ //#region ../../node_modules/.pnpm/three-stdlib@2.36.1_three@0.180.0/node_modules/three-stdlib/helpers/RectAreaLightHelper.js
2247
2166
  var RectAreaLightHelper = class extends Line {
2248
2167
  constructor(light, color) {
2249
2168
  const positions = [
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tresjs/core",
3
3
  "type": "module",
4
- "version": "5.1.1",
4
+ "version": "5.2.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",
@@ -48,8 +48,7 @@
48
48
  "@pmndrs/pointer-events": "^6.6.17",
49
49
  "@vue/devtools-api": "^7.7.2",
50
50
  "@vueuse/core": "^13.9.0",
51
- "radashi": "^12.6.2",
52
- "typescript": "^5.8.3"
51
+ "radashi": "^12.6.2"
53
52
  },
54
53
  "devDependencies": {
55
54
  "@types/three": "^0.180.0",
@@ -69,6 +68,7 @@
69
68
  "rollup-plugin-visualizer": "^6.0.3",
70
69
  "three": "^0.180.0",
71
70
  "tsdown": "0.16.1",
71
+ "typescript": "^5.8.3",
72
72
  "vite": "^7.1.9",
73
73
  "vite-plugin-banner": "^0.8.1",
74
74
  "vite-plugin-dts": "4.5.4",