@tresjs/cientos 5.5.0 → 5.6.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,14 +1,14 @@
1
1
  /**
2
2
  * name: @tresjs/cientos
3
- * version: v5.5.0
3
+ * version: v5.6.0
4
4
  * (c) 2026
5
5
  * description: Collection of useful helpers and fully functional, ready-made abstractions for Tres
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
7
7
  */
8
8
  import { Fragment, Suspense, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, isReactive, isRef, mergeDefaults, mergeProps, nextTick, normalizeProps, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, reactive, ref, render, renderList, renderSlot, shallowReactive, shallowRef, toRaw, toRefs, toValue, triggerRef, unref, useAttrs, useSlots, watch, watchEffect, withAsyncContext, withCtx } from "vue";
9
- import { buildGraph, extend, isObject3D, logError, logWarning, normalizeColor, normalizeVectorFlexibleParam, useLoader, useLoop, useTres, useTresContext } from "@tresjs/core";
9
+ import { buildGraph, createTimer, extend, isObject3D, logError, logWarning, normalizeColor, normalizeVectorFlexibleParam, useLoader, useLoop, useTres, useTresContext } from "@tresjs/core";
10
10
  import * as THREE from "three";
11
- import { AdditiveBlending, AlwaysStencilFunc, AnimationMixer, Audio, AudioListener, AudioLoader, BackSide, Box2, Box3, BoxGeometry, BufferAttribute, BufferGeometry, Camera, CatmullRomCurve3, ClampToEdgeWrapping, Color, CubeCamera, CubeReflectionMapping, CubeTextureLoader, CubicBezierCurve3, DataTexture, DefaultLoadingManager, DepthTexture, DirectionalLight, DoubleSide, EdgesGeometry, EqualStencilFunc, EquirectangularReflectionMapping, Euler, FloatType, FramebufferTexture, FrontSide, Group, HalfFloatType, IcosahedronGeometry, InstancedMesh, InterleavedBuffer, InterleavedBufferAttribute, KeepStencilOp, LOD, LinearFilter, MOUSE, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshLambertMaterial, MeshStandardMaterial, NearestFilter, NoBlending, NotEqualStencilFunc, Object3D, OrthographicCamera, PerspectiveCamera, Plane, PlaneGeometry, Points, PointsMaterial, QuadraticBezierCurve3, Quaternion, REVISION, RGBAFormat, RawShaderMaterial, Raycaster, RepeatWrapping, ReplaceStencilOp, Scene, ShaderChunk, ShaderMaterial, ShapeGeometry, SkinnedMesh, Sphere, Spherical, TOUCH, TangentSpaceNormalMap, Texture, TextureLoader, Timer, UVMapping, Uniform, UniformsUtils, UnsignedByteType, Vector2, Vector3, Vector4, VideoTexture, WebGLCubeRenderTarget, WebGLRenderTarget, WebGLRenderer } from "three";
11
+ import { AdditiveBlending, AlwaysStencilFunc, AnimationMixer, Audio, AudioListener, AudioLoader, BackSide, Box2, Box3, BoxGeometry, BufferAttribute, BufferGeometry, Camera, CatmullRomCurve3, ClampToEdgeWrapping, Color, CubeCamera, CubeReflectionMapping, CubeTextureLoader, CubicBezierCurve3, DataTexture, DefaultLoadingManager, DepthTexture, DirectionalLight, DoubleSide, EdgesGeometry, EqualStencilFunc, EquirectangularReflectionMapping, Euler, FloatType, FramebufferTexture, FrontSide, Group, HalfFloatType, IcosahedronGeometry, InstancedMesh, InterleavedBuffer, InterleavedBufferAttribute, KeepStencilOp, LOD, LinearFilter, MOUSE, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshLambertMaterial, MeshStandardMaterial, NearestFilter, NoBlending, NotEqualStencilFunc, Object3D, OrthographicCamera, PerspectiveCamera, Plane, PlaneGeometry, Points, PointsMaterial, QuadraticBezierCurve3, Quaternion, REVISION, RGBAFormat, RawShaderMaterial, Raycaster, RepeatWrapping, ReplaceStencilOp, Scene, ShaderChunk, ShaderMaterial, ShapeGeometry, SkinnedMesh, Sphere, Spherical, TOUCH, TangentSpaceNormalMap, Texture, TextureLoader, UVMapping, Uniform, UniformsUtils, UnsignedByteType, Vector2, Vector3, Vector4, VideoTexture, WebGLCubeRenderTarget, WebGLRenderTarget, WebGLRenderer } from "three";
12
12
  import { tryOnScopeDispose, useDebounceFn, useElementSize, useEventListener, useMagicKeys, useMouse, useScroll, useWindowScroll, useWindowSize, watchThrottled, whenever } from "@vueuse/core";
13
13
  import { DRACOLoader, FBXLoader, FontLoader, GLTFExporter, GLTFLoader, HorizontalBlurShader, Line2, LineGeometry, LineMaterial, MapControls, MarchingCubes, MeshSurfaceSampler, OrbitControls, PointerLockControls, PositionalAudioHelper, RGBELoader, Reflector, RoundedBoxGeometry, SVGLoader, SimplexNoise, Sky, TextGeometry, TransformControls, VerticalBlurShader, Water, toCreasedNormals } from "three-stdlib";
14
14
  import BaseCameraControls, { default as CameraControls } from "camera-controls";
@@ -5417,8 +5417,8 @@ var HolographicMaterial = class extends ShaderMaterial {
5417
5417
  blinkFresnelOnly: new Uniform(parameters.blinkFresnelOnly !== void 0 ? parameters.blinkFresnelOnly : true),
5418
5418
  hologramOpacity: new Uniform(parameters.hologramOpacity !== void 0 ? parameters.hologramOpacity : 1)
5419
5419
  };
5420
- this.clock = new Timer();
5421
- if (typeof document !== "undefined") this.clock.connect(document);
5420
+ this.clock = createTimer();
5421
+ this.clock.start();
5422
5422
  this.setValues(parameters);
5423
5423
  this.depthTest = parameters.depthTest !== void 0 ? parameters.depthTest : false;
5424
5424
  this.blending = parameters.blendMode !== void 0 ? parameters.blendMode : AdditiveBlending;
@@ -10440,15 +10440,41 @@ var Ocean_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
10440
10440
  type: null,
10441
10441
  required: false,
10442
10442
  default: FrontSide
10443
+ },
10444
+ speed: {
10445
+ type: Number,
10446
+ required: false,
10447
+ default: 1
10443
10448
  }
10444
10449
  },
10445
10450
  setup(__props, { expose: __expose }) {
10446
- const { textureWidth, textureHeight, waterNormals, sunDirection, sunColor, waterColor, distortionScale, size, clipBias, alpha, side } = toRefs(__props);
10451
+ const props = __props;
10452
+ const { waterNormals, sunColor, waterColor, distortionScale, size, alpha, speed } = toRefs(props);
10447
10453
  const { extend: extend$1, scene } = useTresContext();
10448
10454
  extend$1({ Water });
10449
10455
  const waterRef = shallowRef();
10450
10456
  const sunRef = shallowRef();
10451
10457
  const _fog = scene.value.fog !== void 0;
10458
+ function changeSunColor(val) {
10459
+ if (waterRef.value) waterRef.value.material.uniforms.sunColor.value.set(val);
10460
+ }
10461
+ function changeWaterColor(val) {
10462
+ if (waterRef.value) waterRef.value.material.uniforms.waterColor.value.set(val);
10463
+ }
10464
+ function changeDistortionScale(val) {
10465
+ if (waterRef.value) waterRef.value.material.uniforms.distortionScale.value = val;
10466
+ }
10467
+ function changeSize(val) {
10468
+ if (waterRef.value) waterRef.value.material.uniforms.size.value = val;
10469
+ }
10470
+ function changeAlpha(val) {
10471
+ if (waterRef.value) waterRef.value.material.uniforms.alpha.value = val;
10472
+ }
10473
+ watch(sunColor, changeSunColor);
10474
+ watch(waterColor, changeWaterColor);
10475
+ watch(distortionScale, changeDistortionScale);
10476
+ watch(size, changeSize);
10477
+ watch(alpha, changeAlpha);
10452
10478
  __expose({ instance: waterRef });
10453
10479
  scene.value.traverse((child) => {
10454
10480
  if (Object.prototype.hasOwnProperty.call(child, "isSky")) sunRef.value = child;
@@ -10462,29 +10488,30 @@ var Ocean_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
10462
10488
  });
10463
10489
  const normalMap = new TextureLoader().load(waterNormals.value);
10464
10490
  normalMap.wrapS = normalMap.wrapT = RepeatWrapping;
10491
+ const initialParams = {
10492
+ textureWidth: props.textureWidth,
10493
+ textureHeight: props.textureHeight,
10494
+ waterNormals: normalMap,
10495
+ sunDirection: props.sunDirection,
10496
+ sunColor: props.sunColor,
10497
+ waterColor: props.waterColor,
10498
+ distortionScale: props.distortionScale,
10499
+ fog: _fog,
10500
+ size: props.size,
10501
+ clipBias: props.clipBias,
10502
+ alpha: props.alpha,
10503
+ side: props.side
10504
+ };
10465
10505
  const { onBeforeRender } = useLoop();
10466
10506
  onBeforeRender(({ delta }) => {
10467
- if (waterRef.value) waterRef.value.material.uniforms.time.value += delta;
10507
+ if (waterRef.value) waterRef.value.material.uniforms.time.value += delta * speed.value;
10468
10508
  });
10469
10509
  return (_ctx, _cache) => {
10470
10510
  return openBlock(), createElementBlock("TresWater", {
10471
10511
  ref_key: "waterRef",
10472
10512
  ref: waterRef,
10473
10513
  "rotation-x": -Math.PI / 2,
10474
- args: [void 0, {
10475
- textureWidth: unref(textureWidth),
10476
- textureHeight: unref(textureHeight),
10477
- waterNormals: unref(normalMap),
10478
- sunDirection: unref(sunDirection),
10479
- sunColor: unref(sunColor),
10480
- waterColor: unref(waterColor),
10481
- distortionScale: unref(distortionScale),
10482
- fog: _fog,
10483
- size: unref(size),
10484
- clipBias: unref(clipBias),
10485
- alpha: unref(alpha),
10486
- side: unref(side)
10487
- }]
10514
+ args: [void 0, initialParams]
10488
10515
  }, [renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createElementVNode("TresPlaneGeometry", { args: [1e4, 1e4] }, null, -1))])], 8, _hoisted_1$8);
10489
10516
  };
10490
10517
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tresjs/cientos",
3
3
  "type": "module",
4
- "version": "5.5.0",
4
+ "version": "5.6.0",
5
5
  "description": "Collection of useful helpers and fully functional, ready-made abstractions for Tres",
6
6
  "author": "Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)",
7
7
  "license": "MIT",
@@ -38,7 +38,7 @@
38
38
  "access": "public"
39
39
  },
40
40
  "peerDependencies": {
41
- "@tresjs/core": "5.6.0",
41
+ "@tresjs/core": "5.7.0",
42
42
  "three": ">=0.133",
43
43
  "vue": ">=3.5.17"
44
44
  },
@@ -72,7 +72,7 @@
72
72
  "vite-plugin-glsl": "^1.5.1",
73
73
  "vite-svg-loader": "^5.1.0",
74
74
  "vue-tsc": "^3.2.1",
75
- "@tresjs/core": "5.6.0",
75
+ "@tresjs/core": "5.7.0",
76
76
  "@tresjs/eslint-config": "1.5.1"
77
77
  },
78
78
  "nx": {