@tresjs/cientos 5.6.0 → 5.7.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.
- package/dist/trescientos.d.ts +2582 -2587
- package/dist/trescientos.js +33 -43
- package/package.json +4 -4
package/dist/trescientos.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/cientos
|
|
3
|
-
* version: v5.
|
|
3
|
+
* version: v5.7.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/)
|
|
@@ -1703,10 +1703,12 @@ const getSeededRandomProps = (seed = 0, seedProps = defaultSeedProps) => {
|
|
|
1703
1703
|
* The precendence in creating the final elements' props is as follows:
|
|
1704
1704
|
*
|
|
1705
1705
|
* 1. `elements`
|
|
1706
|
-
* 2. `userDefaultElement` - `color`, `
|
|
1706
|
+
* 2. `userDefaultElement` - `color`, `texture` from component
|
|
1707
1707
|
* 3. seeded random props - if `seed` and/or `seedProps` is not `undefined`
|
|
1708
1708
|
* 4. system default
|
|
1709
1709
|
*
|
|
1710
|
+
* Note: `scale` and `distance` are applied as multipliers at render time, not as defaults.
|
|
1711
|
+
*
|
|
1710
1712
|
* @param elements - `undefined` or an array of (potentially) incomplete element props
|
|
1711
1713
|
* @param userDefaultElement - values to "fill in" missing partial elements fields – or overwrite seeded props
|
|
1712
1714
|
* @param seed - `undefined` or a number to seed random prop generation
|
|
@@ -1729,16 +1731,6 @@ const partialLensflarePropsArrayToLensflarePropsArray = (elements, userDefaultEl
|
|
|
1729
1731
|
const _seedProps = seedProps === void 0 || seedProps.length === 0 ? defaultSeedProps : seedProps;
|
|
1730
1732
|
return getSeededRandomProps(seed ?? 0, _seedProps).map((props) => Object.assign({}, props, userDefaultElement));
|
|
1731
1733
|
};
|
|
1732
|
-
function filterLensflareElementProps(props) {
|
|
1733
|
-
return filter(props, (v, k) => k in defaultLensflareElementProps && v !== void 0);
|
|
1734
|
-
}
|
|
1735
|
-
function filter(obj, predicate) {
|
|
1736
|
-
const result = {};
|
|
1737
|
-
Object.keys(obj).forEach((name) => {
|
|
1738
|
-
if (predicate(obj[name], name)) result[name] = obj[name];
|
|
1739
|
-
});
|
|
1740
|
-
return result;
|
|
1741
|
-
}
|
|
1742
1734
|
|
|
1743
1735
|
//#endregion
|
|
1744
1736
|
//#region src/core/abstractions/Lensflare/component.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -1750,6 +1742,11 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1750
1742
|
required: false,
|
|
1751
1743
|
default: 1
|
|
1752
1744
|
},
|
|
1745
|
+
distance: {
|
|
1746
|
+
type: Number,
|
|
1747
|
+
required: false,
|
|
1748
|
+
default: 1
|
|
1749
|
+
},
|
|
1753
1750
|
elements: {
|
|
1754
1751
|
type: Array,
|
|
1755
1752
|
required: false,
|
|
@@ -1770,16 +1767,6 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1770
1767
|
required: false,
|
|
1771
1768
|
default: void 0
|
|
1772
1769
|
},
|
|
1773
|
-
distance: {
|
|
1774
|
-
type: Number,
|
|
1775
|
-
required: false,
|
|
1776
|
-
default: void 0
|
|
1777
|
-
},
|
|
1778
|
-
size: {
|
|
1779
|
-
type: Number,
|
|
1780
|
-
required: false,
|
|
1781
|
-
default: void 0
|
|
1782
|
-
},
|
|
1783
1770
|
texture: {
|
|
1784
1771
|
type: [Object, String],
|
|
1785
1772
|
required: false,
|
|
@@ -1788,9 +1775,17 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1788
1775
|
},
|
|
1789
1776
|
setup(__props, { expose: __expose }) {
|
|
1790
1777
|
const props = __props;
|
|
1778
|
+
function pickDefined(obj) {
|
|
1779
|
+
const result = {};
|
|
1780
|
+
for (const [k, v] of Object.entries(obj)) if (v !== void 0) result[k] = v;
|
|
1781
|
+
return result;
|
|
1782
|
+
}
|
|
1791
1783
|
const lensflareRef = shallowRef();
|
|
1792
1784
|
const lensflareElementPropsArrayRef = shallowRef([]);
|
|
1793
|
-
const userDefaultLensflareElementPropsRef = shallowRef(
|
|
1785
|
+
const userDefaultLensflareElementPropsRef = shallowRef(pickDefined({
|
|
1786
|
+
color: props.color,
|
|
1787
|
+
texture: props.texture
|
|
1788
|
+
}));
|
|
1794
1789
|
__expose({ instance: lensflareRef });
|
|
1795
1790
|
const textureLoader = new TextureLoader();
|
|
1796
1791
|
const threeLensflare = new Lensflare();
|
|
@@ -1812,10 +1807,11 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1812
1807
|
p.color = normalizeColor(p.color);
|
|
1813
1808
|
return p;
|
|
1814
1809
|
};
|
|
1815
|
-
const
|
|
1810
|
+
const applyScaleAndDistance = () => {
|
|
1816
1811
|
for (let i = lensflareElementPropsArrayRef.value.length - 1; i < threeElements.length; i++) threeElements[i].size = 0;
|
|
1817
1812
|
lensflareElementPropsArrayRef.value.forEach((elementProps, i) => {
|
|
1818
1813
|
threeElements[i].size = elementProps.size * props.scale;
|
|
1814
|
+
threeElements[i].distance = elementProps.distance * props.distance;
|
|
1819
1815
|
});
|
|
1820
1816
|
};
|
|
1821
1817
|
const updateThreeElements = () => {
|
|
@@ -1842,7 +1838,7 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1842
1838
|
threeElement.distance = distance;
|
|
1843
1839
|
threeElement.color = normalizeColor(color);
|
|
1844
1840
|
});
|
|
1845
|
-
|
|
1841
|
+
applyScaleAndDistance();
|
|
1846
1842
|
};
|
|
1847
1843
|
onUnmounted(() => {
|
|
1848
1844
|
dispose();
|
|
@@ -1851,18 +1847,11 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1851
1847
|
lensflareRef.value?.add(threeLensflare);
|
|
1852
1848
|
lensflareElementPropsArrayRef.value = partialLensflarePropsArrayToLensflarePropsArray(props.elements, userDefaultLensflareElementPropsRef.value, props.seed, props.seedProps);
|
|
1853
1849
|
});
|
|
1854
|
-
watch(() => [
|
|
1855
|
-
|
|
1856
|
-
props.distance,
|
|
1857
|
-
props.size,
|
|
1858
|
-
props.texture
|
|
1859
|
-
], () => {
|
|
1860
|
-
userDefaultLensflareElementPropsRef.value = {
|
|
1850
|
+
watch(() => [props.color, props.texture], () => {
|
|
1851
|
+
userDefaultLensflareElementPropsRef.value = pickDefined({
|
|
1861
1852
|
color: props.color,
|
|
1862
|
-
distance: props.distance,
|
|
1863
|
-
size: props.size,
|
|
1864
1853
|
texture: props.texture
|
|
1865
|
-
};
|
|
1854
|
+
});
|
|
1866
1855
|
});
|
|
1867
1856
|
watch(() => [
|
|
1868
1857
|
userDefaultLensflareElementPropsRef.value,
|
|
@@ -1872,8 +1861,8 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
1872
1861
|
], () => {
|
|
1873
1862
|
lensflareElementPropsArrayRef.value = partialLensflarePropsArrayToLensflarePropsArray(props.elements, userDefaultLensflareElementPropsRef.value, props.seed, props.seedProps);
|
|
1874
1863
|
});
|
|
1875
|
-
watch(() => props.scale, () => {
|
|
1876
|
-
|
|
1864
|
+
watch(() => [props.scale, props.distance], () => {
|
|
1865
|
+
applyScaleAndDistance();
|
|
1877
1866
|
});
|
|
1878
1867
|
watch(() => lensflareElementPropsArrayRef.value, () => {
|
|
1879
1868
|
updateThreeElements();
|
|
@@ -9987,14 +9976,15 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
9987
9976
|
};
|
|
9988
9977
|
}
|
|
9989
9978
|
function setSize(ps, pool$1) {
|
|
9990
|
-
const shadowCamera = pool$1.shadowCamera;
|
|
9991
|
-
shadowCamera.left = -ps.width / 2;
|
|
9992
|
-
shadowCamera.right = ps.width / 2;
|
|
9993
|
-
shadowCamera.top = ps.height / 2;
|
|
9994
|
-
shadowCamera.bottom = -ps.height / 2;
|
|
9995
|
-
shadowCamera.far = ps.far;
|
|
9996
9979
|
const w = ps.width * (Array.isArray(ps.scale) ? ps.scale[0] : ps.scale || 1);
|
|
9997
9980
|
const h = ps.height * (Array.isArray(ps.scale) ? ps.scale[1] : ps.scale || 1);
|
|
9981
|
+
const shadowCamera = pool$1.shadowCamera;
|
|
9982
|
+
shadowCamera.left = -w / 2;
|
|
9983
|
+
shadowCamera.right = w / 2;
|
|
9984
|
+
shadowCamera.top = h / 2;
|
|
9985
|
+
shadowCamera.bottom = -h / 2;
|
|
9986
|
+
shadowCamera.far = ps.far;
|
|
9987
|
+
shadowCamera.updateProjectionMatrix();
|
|
9998
9988
|
pool$1.shadowGroup.scale.set(w, ps.far, h);
|
|
9999
9989
|
}
|
|
10000
9990
|
function setResolution(resolution, pool$1) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tresjs/cientos",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.7.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.
|
|
41
|
+
"@tresjs/core": "5.8.0",
|
|
42
42
|
"three": ">=0.133",
|
|
43
43
|
"vue": ">=3.5.17"
|
|
44
44
|
},
|
|
@@ -72,8 +72,8 @@
|
|
|
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/
|
|
76
|
-
"@tresjs/
|
|
75
|
+
"@tresjs/eslint-config": "1.5.1",
|
|
76
|
+
"@tresjs/core": "5.8.0"
|
|
77
77
|
},
|
|
78
78
|
"nx": {
|
|
79
79
|
"implicitDependencies": [
|