@tresjs/core 5.4.0 → 5.5.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.4.0
3
+ * version: v5.5.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/)
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.4.0
3
+ * version: v5.5.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/)
@@ -8,6 +8,7 @@
8
8
  //#region src/utils/template-compiler-options.ts
9
9
  const whitelist = [
10
10
  "TresCanvas",
11
+ "TresCanvasContext",
11
12
  "TresLeches",
12
13
  "TresScene"
13
14
  ];
package/dist/tres.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.4.0
3
+ * version: v5.5.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 vue6 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";
@@ -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: vue6.ComputedRef<boolean>;
324
+ canBeInvalidated: vue10.ComputedRef<boolean>;
325
325
  mode: "always" | "on-demand" | "manual" | undefined;
326
326
  replaceRenderFunction: (fn: RenderFunction) => void;
327
- isInitialized: vue6.Ref<boolean, boolean>;
328
- error: vue6.Ref<TresRendererError | null, TresRendererError | null>;
327
+ isInitialized: vue10.Ref<boolean, boolean>;
328
+ error: vue10.Ref<TresRendererError | null, TresRendererError | null>;
329
329
  };
330
330
  type UseRendererManagerReturn = ReturnType<typeof useRendererManager>;
331
331
  //#endregion
@@ -511,8 +511,8 @@ interface TresObjectMap {
511
511
  declare function buildGraph(object: Object3D | TresObject): TresObjectMap;
512
512
  //#endregion
513
513
  //#region src/composables/useLoader/component.vue.d.ts
514
- 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<{
515
- props: vue6.PublicProps & __VLS_PrettifyLocal<{
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: vue10.PublicProps & __VLS_PrettifyLocal<{
516
516
  /**
517
517
  * The THREE.js loader to use
518
518
  */
@@ -535,20 +535,20 @@ declare const __VLS_export$1: <T extends TresObjectMap>(__VLS_props: NonNullable
535
535
  attrs: any;
536
536
  slots: {
537
537
  default?: (props: {
538
- state: vue6.UnwrapRef<T>;
538
+ state: vue10.UnwrapRef<T>;
539
539
  isLoading: boolean;
540
540
  error: unknown;
541
541
  }) => any;
542
542
  };
543
543
  emit: ((evt: "error", error: unknown) => void) & ((evt: "loaded", result: T) => void);
544
- }>) => vue6.VNode & {
544
+ }>) => vue10.VNode & {
545
545
  __ctx?: Awaited<typeof __VLS_setup>;
546
546
  };
547
- declare const _default$1: typeof __VLS_export$1;
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>) => vue6.ComputedRef<TresObjectMap | undefined>;
551
+ declare const useGraph: (object: MaybeRef$1<TresObject | undefined>) => vue10.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<vue6.ShallowRef<boolean>>;
602
+ isActive: Readonly<vue10.ShallowRef<boolean>>;
603
603
  onBeforeRender: PriorityEventHookOn<LoopContext>;
604
604
  onRender: PriorityEventHookOn<LoopContext>;
605
605
  render: (fn: RenderFunction) => void;
@@ -695,6 +695,63 @@ type ContextEmits = {
695
695
  beforeLoop: [context: TresContextWithClock];
696
696
  loop: [context: TresContextWithClock];
697
697
  } & { [key in TresPointerEventName]: [event: TresPointerEvent] };
698
+ type __VLS_Props = ContextProps & {
699
+ canvas: HTMLCanvasElement;
700
+ };
701
+ type __VLS_Slots$1 = {
702
+ default: () => any;
703
+ };
704
+ declare const __VLS_base$1: vue10.DefineComponent<__VLS_Props, {
705
+ context: vue10.ShallowRef<TresContext, TresContext>;
706
+ dispose: () => void;
707
+ }, {}, {}, {}, vue10.ComponentOptionsMixin, vue10.ComponentOptionsMixin, {
708
+ click: (event: TresPointerEvent) => any;
709
+ contextmenu: (event: TresPointerEvent) => any;
710
+ pointermove: (event: TresPointerEvent) => any;
711
+ pointerenter: (event: TresPointerEvent) => any;
712
+ pointerleave: (event: TresPointerEvent) => any;
713
+ pointerover: (event: TresPointerEvent) => any;
714
+ pointerout: (event: TresPointerEvent) => any;
715
+ dblclick: (event: TresPointerEvent) => any;
716
+ pointerdown: (event: TresPointerEvent) => any;
717
+ pointerup: (event: TresPointerEvent) => any;
718
+ pointercancel: (event: TresPointerEvent) => any;
719
+ lostpointercapture: (event: TresPointerEvent) => any;
720
+ wheel: (event: TresPointerEvent) => any;
721
+ ready: (context: TresContext) => any;
722
+ error: (error: Error) => any;
723
+ pointermissed: (event: TresPointerEvent) => any;
724
+ render: (context: TresContext) => any;
725
+ beforeLoop: (context: TresContextWithClock) => any;
726
+ loop: (context: TresContextWithClock) => any;
727
+ }, string, vue10.PublicProps, Readonly<__VLS_Props> & Readonly<{
728
+ onClick?: ((event: TresPointerEvent) => any) | undefined;
729
+ onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
730
+ onPointermove?: ((event: TresPointerEvent) => any) | undefined;
731
+ onPointerenter?: ((event: TresPointerEvent) => any) | undefined;
732
+ onPointerleave?: ((event: TresPointerEvent) => any) | undefined;
733
+ onPointerover?: ((event: TresPointerEvent) => any) | undefined;
734
+ onPointerout?: ((event: TresPointerEvent) => any) | undefined;
735
+ onDblclick?: ((event: TresPointerEvent) => any) | undefined;
736
+ onPointerdown?: ((event: TresPointerEvent) => any) | undefined;
737
+ onPointerup?: ((event: TresPointerEvent) => any) | undefined;
738
+ onPointercancel?: ((event: TresPointerEvent) => any) | undefined;
739
+ onLostpointercapture?: ((event: TresPointerEvent) => any) | undefined;
740
+ onWheel?: ((event: TresPointerEvent) => any) | undefined;
741
+ onReady?: ((context: TresContext) => any) | undefined;
742
+ onError?: ((error: Error) => any) | undefined;
743
+ onPointermissed?: ((event: TresPointerEvent) => any) | undefined;
744
+ onRender?: ((context: TresContext) => any) | undefined;
745
+ onBeforeLoop?: ((context: TresContextWithClock) => any) | undefined;
746
+ onLoop?: ((context: TresContextWithClock) => any) | undefined;
747
+ }>, {}, {}, {}, {}, string, vue10.ComponentProvideOptions, false, {}, any>;
748
+ declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
749
+ declare const _default$1: typeof __VLS_export$1;
750
+ type __VLS_WithSlots$1<T, S> = T & {
751
+ new (): {
752
+ $slots: S;
753
+ };
754
+ };
698
755
  //#endregion
699
756
  //#region src/components/TresCanvas.vue.d.ts
700
757
  type TresCanvasEmits = ContextEmits;
@@ -706,7 +763,7 @@ interface TresCanvasInstance {
706
763
  type __VLS_Slots = {
707
764
  default: () => any;
708
765
  };
709
- declare const __VLS_base: vue6.DefineComponent<ContextProps, TresCanvasInstance, {}, {}, {}, vue6.ComponentOptionsMixin, vue6.ComponentOptionsMixin, {
766
+ declare const __VLS_base: vue10.DefineComponent<ContextProps, TresCanvasInstance, {}, {}, {}, vue10.ComponentOptionsMixin, vue10.ComponentOptionsMixin, {
710
767
  click: (event: TresPointerEvent) => any;
711
768
  contextmenu: (event: TresPointerEvent) => any;
712
769
  pointermove: (event: TresPointerEvent) => any;
@@ -726,7 +783,7 @@ declare const __VLS_base: vue6.DefineComponent<ContextProps, TresCanvasInstance,
726
783
  render: (context: TresContext) => any;
727
784
  beforeLoop: (context: TresContextWithClock) => any;
728
785
  loop: (context: TresContextWithClock) => any;
729
- }, string, vue6.PublicProps, Readonly<ContextProps> & Readonly<{
786
+ }, string, vue10.PublicProps, Readonly<ContextProps> & Readonly<{
730
787
  onClick?: ((event: TresPointerEvent) => any) | undefined;
731
788
  onContextmenu?: ((event: TresPointerEvent) => any) | undefined;
732
789
  onPointermove?: ((event: TresPointerEvent) => any) | undefined;
@@ -763,7 +820,7 @@ declare const __VLS_base: vue6.DefineComponent<ContextProps, TresCanvasInstance,
763
820
  shadowMapType: THREE.ShadowMapType;
764
821
  useLegacyLights: boolean;
765
822
  renderMode: "always" | "on-demand" | "manual";
766
- }, {}, {}, {}, string, vue6.ComponentProvideOptions, false, {}, any>;
823
+ }, {}, {}, {}, string, vue10.ComponentProvideOptions, false, {}, any>;
767
824
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
768
825
  declare const _default: typeof __VLS_export;
769
826
  type __VLS_WithSlots<T, S> = T & {
@@ -1097,4 +1154,4 @@ interface TresPlugin {
1097
1154
  }
1098
1155
  declare const plugin: TresPlugin;
1099
1156
  //#endregion
1100
- 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 };
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 };
package/dist/tres.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @tresjs/core
3
- * version: v5.4.0
3
+ * version: v5.5.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/)
@@ -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.4.0";
17
+ var version = "5.5.0";
18
18
 
19
19
  //#endregion
20
20
  //#region src/utils/makeMap.ts
@@ -728,13 +728,13 @@ const useCreateRafLoop = (cycleFn) => {
728
728
  after: createEventHook()
729
729
  };
730
730
  const { pause, resume, isActive } = useRafFn(() => {
731
- const getContextWithClock = () => ({
731
+ const context = {
732
732
  delta: clock.getDelta(),
733
733
  elapsed: clock.elapsedTime
734
- });
735
- eventHooks.before.trigger(getContextWithClock());
734
+ };
735
+ eventHooks.before.trigger(context);
736
736
  cycleFn();
737
- eventHooks.after.trigger(getContextWithClock());
737
+ eventHooks.after.trigger(context);
738
738
  }, { immediate: false });
739
739
  const start = () => {
740
740
  clock.start();
@@ -2383,6 +2383,7 @@ function normalizeColor(value) {
2383
2383
  //#region src/utils/template-compiler-options.ts
2384
2384
  const whitelist = [
2385
2385
  "TresCanvas",
2386
+ "TresCanvasContext",
2386
2387
  "TresLeches",
2387
2388
  "TresScene"
2388
2389
  ];
@@ -2559,4 +2560,4 @@ const plugin = { install(app) {
2559
2560
  var src_default = plugin;
2560
2561
 
2561
2562
  //#endregion
2562
- 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 };
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 };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tresjs/core",
3
3
  "type": "module",
4
- "version": "5.4.0",
4
+ "version": "5.5.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",