@tresjs/cientos 5.9.0 → 5.9.1
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/trescientos.d.ts +2620 -2620
- package/dist/trescientos.js +112 -88
- package/package.json +4 -4
package/dist/trescientos.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/cientos
|
|
3
|
-
* version: v5.9.
|
|
3
|
+
* version: v5.9.1
|
|
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
|
-
import { Fragment, Suspense, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, isReactive, isRef, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, ref, render, renderList, renderSlot, shallowReactive, shallowRef, toDisplayString, toRaw, toRefs, toValue, triggerRef, unref, useAttrs, useSlots, useTemplateRef, vShow, watch, watchEffect, withAsyncContext, withCtx, withDirectives, withModifiers } from "vue";
|
|
8
|
+
import { Fragment, Suspense, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, inject, isReactive, isRef, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, ref, render, renderList, renderSlot, shallowReactive, shallowRef, toDisplayString, toRaw, toRefs, toValue, triggerRef, unref, useAttrs, useSlots, useTemplateRef, vShow, watch, watchEffect, withAsyncContext, withCtx, withDirectives, withModifiers } from "vue";
|
|
9
9
|
import { INJECTION_KEY, TresPortal, buildGraph, createTimer, extend, isObject3D, logError, logWarning, normalizeColor, normalizeVectorFlexibleParam, useLoader, useLoop, useTres, useTresContext } from "@tresjs/core";
|
|
10
10
|
import * as THREE from "three";
|
|
11
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, DynamicDrawUsage, EdgesGeometry, EqualStencilFunc, EquirectangularReflectionMapping, Euler, FloatType, FramebufferTexture, FrontSide, Group, HalfFloatType, IcosahedronGeometry, InstancedBufferAttribute, InstancedMesh, InterleavedBuffer, InterleavedBufferAttribute, KeepStencilOp, LOD, LinearFilter, MOUSE, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshLambertMaterial, MeshPhysicalMaterial, MeshStandardMaterial, NearestFilter, NoBlending, NoToneMapping, 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";
|
|
@@ -92,6 +92,7 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
92
92
|
if (!outer.value || !inner.value || !ref$1.value) return;
|
|
93
93
|
outer.value.matrixWorld.identity();
|
|
94
94
|
box3.setFromObject(inner.value, props.precise);
|
|
95
|
+
if (box3.isEmpty()) return;
|
|
95
96
|
const width = box3.max.x - box3.min.x;
|
|
96
97
|
const height = box3.max.y - box3.min.y;
|
|
97
98
|
const depth = box3.max.z - box3.min.z;
|
|
@@ -6088,60 +6089,71 @@ var RandomizedLights = class extends Group {
|
|
|
6088
6089
|
castShadow = true;
|
|
6089
6090
|
/** Default shadow bias */
|
|
6090
6091
|
bias = 0;
|
|
6092
|
+
_mapSize = 512;
|
|
6093
|
+
_size = 10;
|
|
6094
|
+
_near = .5;
|
|
6095
|
+
_far = 500;
|
|
6091
6096
|
constructor(config = {}) {
|
|
6092
6097
|
super();
|
|
6093
6098
|
Object.assign(this, config);
|
|
6094
6099
|
if (this.count === 0) this.count = 8;
|
|
6095
|
-
if (!config.mapSize) this.mapSize = 512;
|
|
6096
|
-
if (!config.size) this.size = 10;
|
|
6097
|
-
if (!config.near) this.near = .5;
|
|
6098
|
-
if (!config.far) this.far = 500;
|
|
6099
6100
|
}
|
|
6100
6101
|
get length() {
|
|
6101
6102
|
return this.position.length();
|
|
6102
6103
|
}
|
|
6103
6104
|
set count(n) {
|
|
6105
|
+
for (const light of this.lights) light.dispose();
|
|
6104
6106
|
this.clear();
|
|
6105
6107
|
for (let i = 0; i < n; i++) this.add(new DirectionalLight("white", this.intensity));
|
|
6108
|
+
this.configureShadows();
|
|
6106
6109
|
}
|
|
6107
6110
|
get count() {
|
|
6108
6111
|
return this.children.filter((c) => "isDirectionalLight" in c).length;
|
|
6109
6112
|
}
|
|
6110
6113
|
get mapSize() {
|
|
6111
|
-
return this.
|
|
6114
|
+
return this._mapSize;
|
|
6112
6115
|
}
|
|
6113
6116
|
set mapSize(n) {
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
light.shadow.map?.setSize(n, n);
|
|
6117
|
-
}
|
|
6117
|
+
this._mapSize = n;
|
|
6118
|
+
this.configureShadows();
|
|
6118
6119
|
}
|
|
6119
6120
|
get size() {
|
|
6120
|
-
return this.
|
|
6121
|
+
return this._size;
|
|
6121
6122
|
}
|
|
6122
6123
|
set size(n) {
|
|
6123
|
-
|
|
6124
|
-
|
|
6125
|
-
light.shadow.camera.right = n;
|
|
6126
|
-
light.shadow.camera.top = n;
|
|
6127
|
-
light.shadow.camera.bottom = -n;
|
|
6128
|
-
}
|
|
6124
|
+
this._size = n;
|
|
6125
|
+
this.configureShadows();
|
|
6129
6126
|
}
|
|
6130
6127
|
get near() {
|
|
6131
|
-
return this.
|
|
6128
|
+
return this._near;
|
|
6132
6129
|
}
|
|
6133
6130
|
set near(n) {
|
|
6134
|
-
|
|
6131
|
+
this._near = n;
|
|
6132
|
+
this.configureShadows();
|
|
6135
6133
|
}
|
|
6136
6134
|
get far() {
|
|
6137
|
-
return this.
|
|
6135
|
+
return this._far;
|
|
6138
6136
|
}
|
|
6139
6137
|
set far(n) {
|
|
6140
|
-
|
|
6138
|
+
this._far = n;
|
|
6139
|
+
this.configureShadows();
|
|
6141
6140
|
}
|
|
6142
6141
|
get lights() {
|
|
6143
6142
|
return this.children.filter((c) => "isDirectionalLight" in c);
|
|
6144
6143
|
}
|
|
6144
|
+
configureShadows() {
|
|
6145
|
+
for (const light of this.lights) {
|
|
6146
|
+
light.shadow.mapSize.set(this._mapSize, this._mapSize);
|
|
6147
|
+
light.shadow.map?.setSize(this._mapSize, this._mapSize);
|
|
6148
|
+
light.shadow.camera.left = -this._size;
|
|
6149
|
+
light.shadow.camera.right = this._size;
|
|
6150
|
+
light.shadow.camera.top = this._size;
|
|
6151
|
+
light.shadow.camera.bottom = -this._size;
|
|
6152
|
+
light.shadow.camera.near = this._near;
|
|
6153
|
+
light.shadow.camera.far = this._far;
|
|
6154
|
+
light.shadow.camera.updateProjectionMatrix();
|
|
6155
|
+
}
|
|
6156
|
+
}
|
|
6145
6157
|
update() {
|
|
6146
6158
|
const lights = this.lights;
|
|
6147
6159
|
const lightIntensity = this.intensity / lights.length;
|
|
@@ -6400,6 +6412,12 @@ var ProgressiveLightMap = class {
|
|
|
6400
6412
|
this.scene.background = oldBg;
|
|
6401
6413
|
this.scene.environment = oldEnv;
|
|
6402
6414
|
}
|
|
6415
|
+
dispose() {
|
|
6416
|
+
this.progressiveLightMap1.dispose();
|
|
6417
|
+
this.progressiveLightMap2.dispose();
|
|
6418
|
+
this.discardMat.dispose();
|
|
6419
|
+
this.targetMat.dispose();
|
|
6420
|
+
}
|
|
6403
6421
|
};
|
|
6404
6422
|
|
|
6405
6423
|
//#endregion
|
|
@@ -6515,6 +6533,8 @@ var component_vue_vue_type_script_setup_true_lang_default$13 = /* @__PURE__ */ d
|
|
|
6515
6533
|
const gLights = shallowRef(new Group());
|
|
6516
6534
|
const progressiveLightMap = computed(() => new ProgressiveLightMap(renderer, scene.value, props.resolution));
|
|
6517
6535
|
const shadowMapTexture = shallowRef();
|
|
6536
|
+
watch(progressiveLightMap, (_, previous) => previous.dispose());
|
|
6537
|
+
onUnmounted(() => progressiveLightMap.value.dispose());
|
|
6518
6538
|
let frameCount = 0;
|
|
6519
6539
|
let frameLimitRemaining = props.limit;
|
|
6520
6540
|
function reset() {
|
|
@@ -9781,6 +9801,10 @@ var index_vue_vue_type_script_setup_true_lang_default$3 = /* @__PURE__ */ define
|
|
|
9781
9801
|
const hasDepth = computed(() => props.sharpDepthScale > 0 || props.blurDepthScale > 0);
|
|
9782
9802
|
const hasDistortion = computed(() => !!props.distortionMap);
|
|
9783
9803
|
const hasRoughness = computed(() => !!props.roughnessMap);
|
|
9804
|
+
const tresProps = computed(() => {
|
|
9805
|
+
const { resolution: _r, blurSize: _bs, blurDepthEdgeMin: _bdemin, blurDepthEdgeMax: _bdemax, blurDepthScale: _bds, blurDepthBias: _bdb, reflectorOffset: _ro, ...rest } = props;
|
|
9806
|
+
return rest;
|
|
9807
|
+
});
|
|
9784
9808
|
const materialRef = shallowRef();
|
|
9785
9809
|
let blurpass;
|
|
9786
9810
|
const state = {
|
|
@@ -9927,7 +9951,7 @@ var index_vue_vue_type_script_setup_true_lang_default$3 = /* @__PURE__ */ define
|
|
|
9927
9951
|
key: `key${hasBlur.value ? "0" : "1"}${hasDepth.value ? "0" : "1"}${hasDistortion.value ? "0" : "1"}${hasRoughness.value ? "0" : "1"}`,
|
|
9928
9952
|
ref_key: "materialRef",
|
|
9929
9953
|
ref: materialRef
|
|
9930
|
-
},
|
|
9954
|
+
}, tresProps.value, {
|
|
9931
9955
|
"texture-matrix": state.textureMatrix,
|
|
9932
9956
|
"t-sharp": unref(fboSharp)?.texture,
|
|
9933
9957
|
"t-depth": unref(fboSharp)?.depthTexture,
|
|
@@ -16577,6 +16601,41 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16577
16601
|
//#region src/core/staging/Sparkles/component.vue
|
|
16578
16602
|
var component_default$16 = component_vue_vue_type_script_setup_true_lang_default;
|
|
16579
16603
|
|
|
16604
|
+
//#endregion
|
|
16605
|
+
//#region src/utils/index.ts
|
|
16606
|
+
/**
|
|
16607
|
+
* Update the function signature to explicitly specify the type of the props parameter
|
|
16608
|
+
*
|
|
16609
|
+
* @export
|
|
16610
|
+
* @template T
|
|
16611
|
+
* @template K
|
|
16612
|
+
* @param {T} obj
|
|
16613
|
+
* @param {K[]} props
|
|
16614
|
+
* @return {*} {Pick<T, K>}
|
|
16615
|
+
*/
|
|
16616
|
+
function pick(obj, props) {
|
|
16617
|
+
const pickedProperties = {};
|
|
16618
|
+
for (const prop of props) if (Object.hasOwn(obj, prop)) pickedProperties[prop] = obj[prop];
|
|
16619
|
+
return pickedProperties;
|
|
16620
|
+
}
|
|
16621
|
+
/**
|
|
16622
|
+
* Check if the object has a setter for the given property
|
|
16623
|
+
*
|
|
16624
|
+
* @export
|
|
16625
|
+
* @param {*} obj
|
|
16626
|
+
* @param {string} prop
|
|
16627
|
+
* @return {*} {boolean}
|
|
16628
|
+
*/
|
|
16629
|
+
function hasSetter(obj, prop) {
|
|
16630
|
+
return obj[`set${prop[0].toUpperCase()}${prop.slice(1)}`] !== void 0;
|
|
16631
|
+
}
|
|
16632
|
+
function extractBindingPosition(binding) {
|
|
16633
|
+
let observer = binding.value;
|
|
16634
|
+
if (binding.value && binding.value?.value?.isMesh) observer = binding.value.value.position;
|
|
16635
|
+
if (Array.isArray(binding.value)) observer = new Vector3(...observer);
|
|
16636
|
+
return observer;
|
|
16637
|
+
}
|
|
16638
|
+
|
|
16580
16639
|
//#endregion
|
|
16581
16640
|
//#region src/core/staging/Stage.vue?vue&type=script&setup=true&lang.ts
|
|
16582
16641
|
const _hoisted_1$1 = { key: 0 };
|
|
@@ -16610,7 +16669,8 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16610
16669
|
type: [
|
|
16611
16670
|
Boolean,
|
|
16612
16671
|
String,
|
|
16613
|
-
Object
|
|
16672
|
+
Object,
|
|
16673
|
+
null
|
|
16614
16674
|
],
|
|
16615
16675
|
required: false,
|
|
16616
16676
|
default: "contact"
|
|
@@ -16688,7 +16748,7 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16688
16748
|
}
|
|
16689
16749
|
};
|
|
16690
16750
|
const radius = ref(2);
|
|
16691
|
-
const
|
|
16751
|
+
const floor = ref(0);
|
|
16692
16752
|
const stageRef = shallowRef();
|
|
16693
16753
|
const boundsRef = shallowRef();
|
|
16694
16754
|
const alignRef = shallowRef();
|
|
@@ -16719,15 +16779,31 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16719
16779
|
return lightingPresetComputed.value.fill.map((v) => v * radius.value);
|
|
16720
16780
|
});
|
|
16721
16781
|
const contactShadowsComputed = computed(() => {
|
|
16722
|
-
if (props.shadows === true || props.shadows === "contact") return {
|
|
16723
|
-
else if (typeof props.shadows === "object" && props.shadows.type === "contact") return props.shadows;
|
|
16782
|
+
if (props.shadows === true || props.shadows === "contact") return {};
|
|
16783
|
+
else if (props.shadows && typeof props.shadows === "object" && props.shadows.type === "contact") return pick(props.shadows, Object.keys(ContactShadows_default.props));
|
|
16724
16784
|
else return null;
|
|
16725
16785
|
});
|
|
16726
16786
|
const accumulativeShadowsComputed = computed(() => {
|
|
16727
|
-
if (props.shadows === "accumulative") return {
|
|
16728
|
-
else if (typeof props.shadows === "object" && props.shadows.type === "accumulative") return props.shadows;
|
|
16787
|
+
if (props.shadows === "accumulative") return {};
|
|
16788
|
+
else if (props.shadows && typeof props.shadows === "object" && props.shadows.type === "accumulative") return pick(props.shadows, Object.keys(component_default.props));
|
|
16729
16789
|
else return null;
|
|
16730
16790
|
});
|
|
16791
|
+
const randomizedLightsComputed = computed(() => {
|
|
16792
|
+
const shadows = props.shadows && typeof props.shadows === "object" ? props.shadows : {};
|
|
16793
|
+
return {
|
|
16794
|
+
count: shadows.count ?? 8,
|
|
16795
|
+
radius: shadows.radius ?? radius.value,
|
|
16796
|
+
intensity: shadows.intensity ?? 1.5,
|
|
16797
|
+
ambient: shadows.ambient ?? .5,
|
|
16798
|
+
castShadow: shadows.castShadow,
|
|
16799
|
+
near: shadows.near,
|
|
16800
|
+
far: shadows.far,
|
|
16801
|
+
bias: -(shadows.bias ?? -1e-4),
|
|
16802
|
+
mapSize: shadows.mapSize ?? shadows.size ?? 1024,
|
|
16803
|
+
size: radius.value * 4,
|
|
16804
|
+
position: shadows.position ?? lightingMainComputed.value
|
|
16805
|
+
};
|
|
16806
|
+
});
|
|
16731
16807
|
const environmentComputed = computed(() => {
|
|
16732
16808
|
if (props.environment === null) return null;
|
|
16733
16809
|
else if (!props.environment) return { preset: "city" };
|
|
@@ -16736,6 +16812,7 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16736
16812
|
});
|
|
16737
16813
|
const onAlignChange = (alignProps) => {
|
|
16738
16814
|
radius.value = alignProps.boundingSphere.radius;
|
|
16815
|
+
floor.value = props.align?.disable || props.align?.disableY ? alignProps.boundingBox.min.y : alignProps.verticalAlignment - alignProps.height / 2;
|
|
16739
16816
|
if (props.adjustCamera !== false) debouncedLookAt();
|
|
16740
16817
|
};
|
|
16741
16818
|
__expose({
|
|
@@ -16754,7 +16831,7 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16754
16831
|
position: lightingMainComputed.value,
|
|
16755
16832
|
intensity: __props.intensity * 2,
|
|
16756
16833
|
castShadow: !!__props.shadows,
|
|
16757
|
-
"shadow-bias": __props.shadows?.bias ??
|
|
16834
|
+
"shadow-bias": __props.shadows?.bias ?? -1e-4,
|
|
16758
16835
|
"shadow-normalBias": __props.shadows?.normalBias ?? 0,
|
|
16759
16836
|
"shadow-mapSize-x": __props.shadows?.size ?? 1024,
|
|
16760
16837
|
"shadow-mapSize-y": __props.shadows?.size ?? 1024
|
|
@@ -16764,14 +16841,14 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16764
16841
|
intensity: __props.intensity
|
|
16765
16842
|
}, null, 8, _hoisted_4)
|
|
16766
16843
|
])) : createCommentVNode("v-if", true),
|
|
16767
|
-
createVNode(component_default$2,
|
|
16844
|
+
createVNode(component_default$2, {
|
|
16768
16845
|
ref_key: "boundsRef",
|
|
16769
16846
|
ref: boundsRef,
|
|
16770
16847
|
clip: !!__props.adjustCamera,
|
|
16771
16848
|
offset: typeof props.adjustCamera === "boolean" ? .3 : props.adjustCamera,
|
|
16772
16849
|
"use-mounted": "",
|
|
16773
16850
|
"use-resize": ""
|
|
16774
|
-
},
|
|
16851
|
+
}, {
|
|
16775
16852
|
default: withCtx(() => [createVNode(Align_default, mergeProps({
|
|
16776
16853
|
ref_key: "alignRef",
|
|
16777
16854
|
ref: alignRef
|
|
@@ -16780,10 +16857,10 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16780
16857
|
_: 3
|
|
16781
16858
|
}, 16)]),
|
|
16782
16859
|
_: 3
|
|
16783
|
-
},
|
|
16860
|
+
}, 8, ["clip", "offset"]),
|
|
16784
16861
|
createElementVNode("TresGroup", { position: [
|
|
16785
16862
|
0,
|
|
16786
|
-
|
|
16863
|
+
floor.value - (__props.shadows?.offset ?? 0),
|
|
16787
16864
|
0
|
|
16788
16865
|
] }, [
|
|
16789
16866
|
contactShadowsComputed.value ? (openBlock(), createBlock(unref(ContactShadows_default), mergeProps({
|
|
@@ -16801,25 +16878,7 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16801
16878
|
"tone-mapped": true,
|
|
16802
16879
|
scale: radius.value * 4
|
|
16803
16880
|
}, accumulativeShadowsComputed.value), {
|
|
16804
|
-
default: withCtx(() => [createVNode(unref(component_default$14),
|
|
16805
|
-
position: lightingMainComputed.value,
|
|
16806
|
-
count: accumulativeShadowsComputed.value.count ?? 8,
|
|
16807
|
-
radius: accumulativeShadowsComputed.value.radius ?? radius.value,
|
|
16808
|
-
intensity: accumulativeShadowsComputed.value.intensity ?? 1.5,
|
|
16809
|
-
ambient: accumulativeShadowsComputed.value.ambient ?? .5,
|
|
16810
|
-
size: radius.value * 4,
|
|
16811
|
-
bias: accumulativeShadowsComputed.value.bias ?? 0,
|
|
16812
|
-
"map-size": accumulativeShadowsComputed.value.size ?? 1024
|
|
16813
|
-
}, accumulativeShadowsComputed.value), null, 16, [
|
|
16814
|
-
"position",
|
|
16815
|
-
"count",
|
|
16816
|
-
"radius",
|
|
16817
|
-
"intensity",
|
|
16818
|
-
"ambient",
|
|
16819
|
-
"size",
|
|
16820
|
-
"bias",
|
|
16821
|
-
"map-size"
|
|
16822
|
-
])]),
|
|
16881
|
+
default: withCtx(() => [createVNode(unref(component_default$14), normalizeProps(guardReactiveProps(randomizedLightsComputed.value)), null, 16)]),
|
|
16823
16882
|
_: 1
|
|
16824
16883
|
}, 16, ["scale"])) : createCommentVNode("v-if", true),
|
|
16825
16884
|
(openBlock(), createBlock(Suspense, null, {
|
|
@@ -16941,40 +17000,5 @@ var Stars_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16941
17000
|
//#region src/core/staging/Stars.vue
|
|
16942
17001
|
var Stars_default = Stars_vue_vue_type_script_setup_true_lang_default;
|
|
16943
17002
|
|
|
16944
|
-
//#endregion
|
|
16945
|
-
//#region src/utils/index.ts
|
|
16946
|
-
/**
|
|
16947
|
-
* Update the function signature to explicitly specify the type of the props parameter
|
|
16948
|
-
*
|
|
16949
|
-
* @export
|
|
16950
|
-
* @template T
|
|
16951
|
-
* @template K
|
|
16952
|
-
* @param {T} obj
|
|
16953
|
-
* @param {K[]} props
|
|
16954
|
-
* @return {*} {Pick<T, K>}
|
|
16955
|
-
*/
|
|
16956
|
-
function pick(obj, props) {
|
|
16957
|
-
const pickedProperties = {};
|
|
16958
|
-
for (const prop of props) if (Object.hasOwn(obj, prop)) pickedProperties[prop] = obj[prop];
|
|
16959
|
-
return pickedProperties;
|
|
16960
|
-
}
|
|
16961
|
-
/**
|
|
16962
|
-
* Check if the object has a setter for the given property
|
|
16963
|
-
*
|
|
16964
|
-
* @export
|
|
16965
|
-
* @param {*} obj
|
|
16966
|
-
* @param {string} prop
|
|
16967
|
-
* @return {*} {boolean}
|
|
16968
|
-
*/
|
|
16969
|
-
function hasSetter(obj, prop) {
|
|
16970
|
-
return obj[`set${prop[0].toUpperCase()}${prop.slice(1)}`] !== void 0;
|
|
16971
|
-
}
|
|
16972
|
-
function extractBindingPosition(binding) {
|
|
16973
|
-
let observer = binding.value;
|
|
16974
|
-
if (binding.value && binding.value?.value?.isMesh) observer = binding.value.value.position;
|
|
16975
|
-
if (Array.isArray(binding.value)) observer = new Vector3(...observer);
|
|
16976
|
-
return observer;
|
|
16977
|
-
}
|
|
16978
|
-
|
|
16979
17003
|
//#endregion
|
|
16980
17004
|
export { component_default as AccumulativeShadows, Align_default as Align, component_default$1 as AnimatedSprite, Backdrop_default as Backdrop, BakeShadows, BaseCameraControls, Billboard_default as Billboard, component_default$2 as Bounds, Box_default as Box, CameraControls_default as CameraControls, CameraShake_default as CameraShake, CatmullRomCurve3_default as CatmullRomCurve3, Circle_default as Circle, CircleShadow_default as CircleShadow, Cone_default as Cone, ContactShadows_default as ContactShadows, component_default$3 as CubeCamera, CubicBezierLine_default as CubicBezierLine, customShaderMaterial_default as CustomShaderMaterial, Cylinder_default as Cylinder, Decal_default as Decal, DecalDebugUI_default as DecalDebugUI, Dodecahedron_default as Dodecahedron, Edges_default as Edges, component_default$4 as Environment, component_default$5 as FBXModel, component_default$6 as Fbo, Fit_default as Fit, component_default$7 as GLTFModel, GlobalAudio, GradientTexture_default as GradientTexture, Grid_default as Grid, component_default$8 as Helper, holographicMaterial_default as HolographicMaterial, HTML_default as Html, INSTANCES_INJECTION_KEY, Icosahedron_default as Icosahedron, component_default$9 as Image, Instance_default as Instance, Instances_default as Instances, KeyboardControls_default as KeyboardControls, LOD_default as LOD, component_default$10 as Lensflare, Levioso_default as Levioso, lightformer_default as Lightformer, Line2_default as Line2, MERGED_INJECTION_KEY, MapControls_default as MapControls, MarchingCube_default as MarchingCube, MarchingCubes_default as MarchingCubes, MarchingPlane_default as MarchingPlane, component_default$11 as Mask, Merged_default as Merged, meshDiscardMaterial_default as MeshDiscardMaterial, meshGlassMaterial_default as MeshGlassMaterial, meshPortalMaterial_default as MeshPortalMaterial, meshReflectionMaterial_default as MeshReflectionMaterial, meshTransmissionMaterial_default as MeshTransmissionMaterial, meshWobbleMaterial_default as MeshWobbleMaterial, MouseParallax_default as MouseParallax, Ocean_default as Ocean, Octahedron_default as Octahedron, OrbitControls_default as OrbitControls, component_default$12 as Outline, Plane_default as Plane, component_default$13 as PointMaterial, PointerLockControls_default as PointerLockControls, PositionMesh, PositionalAudio_default as PositionalAudio, Precipitation_default as Precipitation, QuadraticBezierLine_default as QuadraticBezierLine, component_default$14 as RandomizedLights, Reflector_default as Reflector, Refractor_default as Refractor, Ring_default as Ring, RoundedBox_default as RoundedBox, RoundedPlane_default as RoundedPlane, component_default$15 as Sampler, ScreenQuad_default as ScreenQuad, ScreenSizer_default as ScreenSizer, ScreenSpace_default as ScreenSpace, ScrollControls_default as ScrollControls, Sky_default as Sky, Smoke_default as Smoke, SoftShadows_default as SoftShadows, component_default$16 as Sparkles, Sphere_default as Sphere, Stage_default as Stage, Stars_default as Stars, Stats, StatsGl, Superformula_default as Superformula, Tetrahedron_default as Tetrahedron, Text3D_default as Text3D, Torus_default as Torus, TorusKnot_default as TorusKnot, TransformControls_default as TransformControls, Tube_default as Tube, component_default$17 as UseSVG, component_default$18 as UseTexture, ensureTextureNames, extractBindingPosition, getTextureAspect, getTextureName, hasSetter, invalidateDecalGeometry, pick, useAnimations, useBVH, useDecalEditor, useEnvironment, useFBO, useFBX, useGLTF, useGLTFExporter, useHelper, useIntersect, useMask, useProgress, useSVG, useSurfaceSampler, useTexture, useTextures, useVideoTexture };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tresjs/cientos",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.9.
|
|
4
|
+
"version": "5.9.1",
|
|
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",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@tresjs/core": "5.9.
|
|
44
|
+
"@tresjs/core": "5.9.1",
|
|
45
45
|
"three": ">=0.133",
|
|
46
46
|
"vue": ">=3.5.17"
|
|
47
47
|
},
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"vite-svg-loader": "^5.1.1",
|
|
77
77
|
"vue": "^3.5.38",
|
|
78
78
|
"vue-tsc": "^3.3.4",
|
|
79
|
-
"@tresjs/
|
|
80
|
-
"@tresjs/
|
|
79
|
+
"@tresjs/eslint-config": "1.6.0",
|
|
80
|
+
"@tresjs/core": "5.9.1"
|
|
81
81
|
},
|
|
82
82
|
"nx": {
|
|
83
83
|
"implicitDependencies": [
|