@tresjs/cientos 5.9.1 → 5.9.3
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.css +454 -434
- package/dist/trescientos.d.ts +530 -11355
- package/dist/trescientos.js +787 -1158
- package/package.json +24 -23
package/dist/trescientos.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* name: @tresjs/cientos
|
|
3
|
-
* version: v5.9.
|
|
3
|
+
* version: v5.9.3
|
|
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/)
|
|
@@ -16,9 +16,9 @@ import StatsImpl from "stats.js";
|
|
|
16
16
|
import StatsGlImpl from "stats-gl";
|
|
17
17
|
import { BVHHelper, MeshBVH, acceleratedRaycast } from "three-mesh-bvh";
|
|
18
18
|
import CustomShaderMaterial from "three-custom-shader-material/vanilla";
|
|
19
|
-
|
|
20
|
-
//#region src/core/abstractions/Align.vue
|
|
21
|
-
var
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/core/abstractions/Align.vue
|
|
21
|
+
var Align_default = /* @__PURE__ */ defineComponent({
|
|
22
22
|
__name: "Align",
|
|
23
23
|
props: {
|
|
24
24
|
top: {
|
|
@@ -76,7 +76,7 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
76
76
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
77
77
|
const props = __props;
|
|
78
78
|
const emit = __emit;
|
|
79
|
-
const ref
|
|
79
|
+
const ref = shallowRef();
|
|
80
80
|
const outer = shallowRef();
|
|
81
81
|
const inner = shallowRef();
|
|
82
82
|
const box3 = new Box3();
|
|
@@ -89,7 +89,7 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
89
89
|
position: new Vector3()
|
|
90
90
|
};
|
|
91
91
|
function update() {
|
|
92
|
-
if (!outer.value || !inner.value || !ref
|
|
92
|
+
if (!outer.value || !inner.value || !ref.value) return;
|
|
93
93
|
outer.value.matrixWorld.identity();
|
|
94
94
|
box3.setFromObject(inner.value, props.precise);
|
|
95
95
|
if (box3.isEmpty()) return;
|
|
@@ -104,8 +104,8 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
104
104
|
outer.value.position.set(props.disable || props.disableX ? 0 : -center.x + xAlign, props.disable || props.disableY ? 0 : -center.y + yAlign, props.disable || props.disableZ ? 0 : -center.z + zAlign);
|
|
105
105
|
if (previous.width !== width || previous.height !== height || previous.depth !== depth || !outer.value.position.equals(previous.position)) {
|
|
106
106
|
emit("change", {
|
|
107
|
-
parent: ref
|
|
108
|
-
container: ref
|
|
107
|
+
parent: ref.value.parent,
|
|
108
|
+
container: ref.value,
|
|
109
109
|
width,
|
|
110
110
|
height,
|
|
111
111
|
depth,
|
|
@@ -137,13 +137,13 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
137
137
|
else update();
|
|
138
138
|
});
|
|
139
139
|
__expose({
|
|
140
|
-
instance: ref
|
|
140
|
+
instance: ref,
|
|
141
141
|
update
|
|
142
142
|
});
|
|
143
143
|
return (_ctx, _cache) => {
|
|
144
144
|
return openBlock(), createElementBlock("TresGroup", {
|
|
145
145
|
ref_key: "ref",
|
|
146
|
-
ref
|
|
146
|
+
ref
|
|
147
147
|
}, [createElementVNode("TresGroup", {
|
|
148
148
|
ref_key: "outer",
|
|
149
149
|
ref: outer
|
|
@@ -154,14 +154,9 @@ var Align_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
154
154
|
};
|
|
155
155
|
}
|
|
156
156
|
});
|
|
157
|
-
|
|
158
157
|
//#endregion
|
|
159
|
-
//#region src/core/abstractions/
|
|
160
|
-
var
|
|
161
|
-
|
|
162
|
-
//#endregion
|
|
163
|
-
//#region src/core/abstractions/Billboard.vue?vue&type=script&setup=true&lang.ts
|
|
164
|
-
var Billboard_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
158
|
+
//#region src/core/abstractions/Billboard.vue
|
|
159
|
+
var Billboard_default = /* @__PURE__ */ defineComponent({
|
|
165
160
|
__name: "Billboard",
|
|
166
161
|
props: {
|
|
167
162
|
autoUpdate: {
|
|
@@ -225,14 +220,9 @@ var Billboard_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
225
220
|
};
|
|
226
221
|
}
|
|
227
222
|
});
|
|
228
|
-
|
|
229
|
-
//#endregion
|
|
230
|
-
//#region src/core/abstractions/Billboard.vue
|
|
231
|
-
var Billboard_default = Billboard_vue_vue_type_script_setup_true_lang_default;
|
|
232
|
-
|
|
233
223
|
//#endregion
|
|
234
|
-
//#region src/core/abstractions/CameraShake.vue
|
|
235
|
-
var
|
|
224
|
+
//#region src/core/abstractions/CameraShake.vue
|
|
225
|
+
var CameraShake_default = /* @__PURE__ */ defineComponent({
|
|
236
226
|
__name: "CameraShake",
|
|
237
227
|
props: {
|
|
238
228
|
intensity: {
|
|
@@ -330,11 +320,6 @@ var CameraShake_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
330
320
|
};
|
|
331
321
|
}
|
|
332
322
|
});
|
|
333
|
-
|
|
334
|
-
//#endregion
|
|
335
|
-
//#region src/core/abstractions/CameraShake.vue
|
|
336
|
-
var CameraShake_default = CameraShake_vue_vue_type_script_setup_true_lang_default;
|
|
337
|
-
|
|
338
323
|
//#endregion
|
|
339
324
|
//#region src/core/abstractions/Decal/DecalGeometry.ts
|
|
340
325
|
/**
|
|
@@ -593,12 +578,12 @@ function getTextureAspect(tex) {
|
|
|
593
578
|
};
|
|
594
579
|
}
|
|
595
580
|
/** Resolve a stable, serializable name for a texture. */
|
|
596
|
-
function getTextureName(texture
|
|
597
|
-
if (!texture
|
|
598
|
-
if (texture
|
|
599
|
-
const userDataName = texture
|
|
581
|
+
function getTextureName(texture) {
|
|
582
|
+
if (!texture) return null;
|
|
583
|
+
if (texture.name) return texture.name;
|
|
584
|
+
const userDataName = texture.userData?.name;
|
|
600
585
|
if (userDataName) return userDataName;
|
|
601
|
-
const src = texture
|
|
586
|
+
const src = texture.image?.src;
|
|
602
587
|
if (!src) return null;
|
|
603
588
|
try {
|
|
604
589
|
const filename = src.split("/").pop()?.split("?")[0];
|
|
@@ -615,7 +600,6 @@ function ensureTextureNames(textures) {
|
|
|
615
600
|
if (inferred) tex.name = inferred;
|
|
616
601
|
}
|
|
617
602
|
}
|
|
618
|
-
|
|
619
603
|
//#endregion
|
|
620
604
|
//#region src/core/abstractions/Decal/useDecalEditor.ts
|
|
621
605
|
/** Maximum number of recorded operations kept on the undo stack. */
|
|
@@ -758,8 +742,10 @@ function createSession() {
|
|
|
758
742
|
}
|
|
759
743
|
function beginEdit(meshUuid, entry) {
|
|
760
744
|
if (editingEntry.value === entry) return;
|
|
761
|
-
if (editingEntry.value)
|
|
762
|
-
|
|
745
|
+
if (editingEntry.value) {
|
|
746
|
+
if (editingMode.value === "update") commit();
|
|
747
|
+
else cancel();
|
|
748
|
+
}
|
|
763
749
|
if (!canActOn(meshUuid)) return;
|
|
764
750
|
lockedMeshUuid.value = meshUuid;
|
|
765
751
|
editingMode.value = "update";
|
|
@@ -1038,7 +1024,7 @@ function createSession() {
|
|
|
1038
1024
|
before,
|
|
1039
1025
|
after
|
|
1040
1026
|
});
|
|
1041
|
-
undoStack.value = next.length > MAX_HISTORY ? next.slice(-
|
|
1027
|
+
undoStack.value = next.length > MAX_HISTORY ? next.slice(-100) : next;
|
|
1042
1028
|
redoStack.value = [];
|
|
1043
1029
|
}
|
|
1044
1030
|
function undo() {
|
|
@@ -1160,7 +1146,6 @@ function useDecalEditor() {
|
|
|
1160
1146
|
if (!session) throw new Error("[cientos] useDecalEditor() must be called inside a <TresCanvas> after a <Decal> has been mounted.");
|
|
1161
1147
|
return session;
|
|
1162
1148
|
}
|
|
1163
|
-
|
|
1164
1149
|
//#endregion
|
|
1165
1150
|
//#region src/core/abstractions/Decal/DecalItem.vue?vue&type=script&setup=true&lang.ts
|
|
1166
1151
|
const _hoisted_1$67 = [
|
|
@@ -1174,7 +1159,9 @@ const _hoisted_2$32 = [
|
|
|
1174
1159
|
"name"
|
|
1175
1160
|
];
|
|
1176
1161
|
const _hoisted_3$9 = ["color"];
|
|
1177
|
-
|
|
1162
|
+
//#endregion
|
|
1163
|
+
//#region src/core/abstractions/Decal/DecalItem.vue
|
|
1164
|
+
var DecalItem_default = /* @__PURE__ */ defineComponent({
|
|
1178
1165
|
__name: "DecalItem",
|
|
1179
1166
|
props: {
|
|
1180
1167
|
parent: {
|
|
@@ -1225,8 +1212,8 @@ var DecalItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
1225
1212
|
const isEditingThis = computed(() => session.editingEntry.value === props.entry);
|
|
1226
1213
|
const showEdges = computed(() => isHovered.value && !isEditingThis.value);
|
|
1227
1214
|
const noRaycast = () => {};
|
|
1228
|
-
watch(edgesRef, (line
|
|
1229
|
-
if (line
|
|
1215
|
+
watch(edgesRef, (line) => {
|
|
1216
|
+
if (line) line.raycast = noRaycast;
|
|
1230
1217
|
}, { immediate: true });
|
|
1231
1218
|
function rebuildEdges(source) {
|
|
1232
1219
|
const geometry = source ?? meshRef.value?.geometry;
|
|
@@ -1394,16 +1381,13 @@ var DecalItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
1394
1381
|
};
|
|
1395
1382
|
}
|
|
1396
1383
|
});
|
|
1397
|
-
|
|
1398
|
-
//#endregion
|
|
1399
|
-
//#region src/core/abstractions/Decal/DecalItem.vue
|
|
1400
|
-
var DecalItem_default = DecalItem_vue_vue_type_script_setup_true_lang_default;
|
|
1401
|
-
|
|
1402
1384
|
//#endregion
|
|
1403
1385
|
//#region src/core/abstractions/Decal/DecalEditor.vue?vue&type=script&setup=true&lang.ts
|
|
1404
1386
|
const _hoisted_1$66 = ["visible"];
|
|
1405
1387
|
const DRAG_THRESHOLD_SQ = 25;
|
|
1406
|
-
|
|
1388
|
+
//#endregion
|
|
1389
|
+
//#region src/core/abstractions/Decal/DecalEditor.vue
|
|
1390
|
+
var DecalEditor_default = /* @__PURE__ */ defineComponent({
|
|
1407
1391
|
__name: "DecalEditor",
|
|
1408
1392
|
props: {
|
|
1409
1393
|
parent: {
|
|
@@ -1435,12 +1419,12 @@ var DecalEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
1435
1419
|
const raycaster = new Raycaster();
|
|
1436
1420
|
const cursorVec = new Vector2();
|
|
1437
1421
|
const dragStart = new Vector2();
|
|
1438
|
-
const tmpNormal
|
|
1422
|
+
const tmpNormal = new Vector3();
|
|
1439
1423
|
const tmpProject = new Vector3();
|
|
1440
1424
|
const tmpWorldEnd = new Vector3();
|
|
1441
1425
|
const tmpLocalA = new Vector3();
|
|
1442
1426
|
const tmpLocalB = new Vector3();
|
|
1443
|
-
const tmpInverse
|
|
1427
|
+
const tmpInverse = new Matrix4();
|
|
1444
1428
|
const orientationDummy = new Object3D();
|
|
1445
1429
|
const lineRef = shallowRef(null);
|
|
1446
1430
|
const showHoverLine = ref(false);
|
|
@@ -1474,9 +1458,9 @@ var DecalEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
1474
1458
|
}
|
|
1475
1459
|
function updateBaseOrientation(hit) {
|
|
1476
1460
|
if (!hit.face) return;
|
|
1477
|
-
tmpNormal
|
|
1461
|
+
tmpNormal.copy(hit.face.normal).transformDirection(props.parent.matrixWorld).normalize();
|
|
1478
1462
|
orientationDummy.position.copy(hit.point);
|
|
1479
|
-
orientationDummy.lookAt(tmpNormal
|
|
1463
|
+
orientationDummy.lookAt(tmpNormal.add(hit.point));
|
|
1480
1464
|
session.baseOrientation.copy(orientationDummy.rotation);
|
|
1481
1465
|
}
|
|
1482
1466
|
function applyOrientation(entry) {
|
|
@@ -1515,25 +1499,25 @@ var DecalEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
1515
1499
|
return session.lockedMeshUuid.value === meshUuid.value;
|
|
1516
1500
|
}
|
|
1517
1501
|
function updateHoverLine(hit) {
|
|
1518
|
-
const line
|
|
1519
|
-
if (!line
|
|
1502
|
+
const line = lineRef.value;
|
|
1503
|
+
if (!line) return;
|
|
1520
1504
|
if (!hit?.point || !hit.face) {
|
|
1521
1505
|
showHoverLine.value = false;
|
|
1522
1506
|
return;
|
|
1523
1507
|
}
|
|
1524
|
-
tmpNormal
|
|
1525
|
-
tmpWorldEnd.copy(hit.point).add(tmpNormal
|
|
1526
|
-
const lineParent = line
|
|
1508
|
+
tmpNormal.copy(hit.face.normal).transformDirection(props.parent.matrixWorld).normalize();
|
|
1509
|
+
tmpWorldEnd.copy(hit.point).add(tmpNormal);
|
|
1510
|
+
const lineParent = line.parent;
|
|
1527
1511
|
if (lineParent) {
|
|
1528
|
-
tmpInverse
|
|
1529
|
-
tmpLocalA.copy(hit.point).applyMatrix4(tmpInverse
|
|
1530
|
-
tmpLocalB.copy(tmpWorldEnd).applyMatrix4(tmpInverse
|
|
1512
|
+
tmpInverse.copy(lineParent.matrixWorld).invert();
|
|
1513
|
+
tmpLocalA.copy(hit.point).applyMatrix4(tmpInverse);
|
|
1514
|
+
tmpLocalB.copy(tmpWorldEnd).applyMatrix4(tmpInverse);
|
|
1531
1515
|
} else {
|
|
1532
1516
|
tmpLocalA.copy(hit.point);
|
|
1533
1517
|
tmpLocalB.copy(tmpWorldEnd);
|
|
1534
1518
|
}
|
|
1535
|
-
const positions = line
|
|
1536
|
-
if (!positions) line
|
|
1519
|
+
const positions = line.geometry.attributes.position;
|
|
1520
|
+
if (!positions) line.geometry.setFromPoints([tmpLocalA.clone(), tmpLocalB.clone()]);
|
|
1537
1521
|
else {
|
|
1538
1522
|
positions.setXYZ(0, tmpLocalA.x, tmpLocalA.y, tmpLocalA.z);
|
|
1539
1523
|
positions.setXYZ(1, tmpLocalB.x, tmpLocalB.y, tmpLocalB.z);
|
|
@@ -1541,8 +1525,8 @@ var DecalEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
1541
1525
|
}
|
|
1542
1526
|
showHoverLine.value = true;
|
|
1543
1527
|
}
|
|
1544
|
-
watch(lineRef, (line
|
|
1545
|
-
if (line
|
|
1528
|
+
watch(lineRef, (line) => {
|
|
1529
|
+
if (line) line.geometry.setFromPoints([new Vector3(), new Vector3()]);
|
|
1546
1530
|
}, { immediate: true });
|
|
1547
1531
|
watch(() => session.hoveredMeshUuid.value, () => {
|
|
1548
1532
|
if (session.hoveredMeshUuid.value === meshUuid.value) updateHoverLine(session.hoveredIntersection.value);
|
|
@@ -1688,14 +1672,9 @@ var DecalEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
1688
1672
|
};
|
|
1689
1673
|
}
|
|
1690
1674
|
});
|
|
1691
|
-
|
|
1692
|
-
//#endregion
|
|
1693
|
-
//#region src/core/abstractions/Decal/DecalEditor.vue
|
|
1694
|
-
var DecalEditor_default = DecalEditor_vue_vue_type_script_setup_true_lang_default;
|
|
1695
|
-
|
|
1696
1675
|
//#endregion
|
|
1697
|
-
//#region src/core/abstractions/Decal/Decal.vue
|
|
1698
|
-
var
|
|
1676
|
+
//#region src/core/abstractions/Decal/Decal.vue
|
|
1677
|
+
var Decal_default = /* @__PURE__ */ defineComponent({
|
|
1699
1678
|
__name: "Decal",
|
|
1700
1679
|
props: {
|
|
1701
1680
|
data: {
|
|
@@ -1925,7 +1904,7 @@ var Decal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
1925
1904
|
const tmpProj = new Vector3();
|
|
1926
1905
|
const tmpRay = new Raycaster();
|
|
1927
1906
|
const tmpCursor = new Vector2();
|
|
1928
|
-
const tmpNormal
|
|
1907
|
+
const tmpNormal = new Vector3();
|
|
1929
1908
|
const tmpDummy = new Object3D();
|
|
1930
1909
|
function projectWorldToScreen(world) {
|
|
1931
1910
|
const cam = camera.value;
|
|
@@ -1949,9 +1928,9 @@ var Decal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
1949
1928
|
tmpRay.setFromCamera(tmpCursor, cam);
|
|
1950
1929
|
const hit = tmpRay.intersectObject(m, false)[0];
|
|
1951
1930
|
if (!hit?.face) return;
|
|
1952
|
-
tmpNormal
|
|
1931
|
+
tmpNormal.copy(hit.face.normal).transformDirection(m.matrixWorld).normalize();
|
|
1953
1932
|
tmpDummy.position.copy(hit.point);
|
|
1954
|
-
tmpDummy.lookAt(tmpNormal
|
|
1933
|
+
tmpDummy.lookAt(tmpNormal.add(hit.point));
|
|
1955
1934
|
session.baseOrientation.copy(tmpDummy.rotation);
|
|
1956
1935
|
session.setAngle(entry.orientation.z - tmpDummy.rotation.z);
|
|
1957
1936
|
}
|
|
@@ -2102,11 +2081,6 @@ var Decal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
2102
2081
|
};
|
|
2103
2082
|
}
|
|
2104
2083
|
});
|
|
2105
|
-
|
|
2106
|
-
//#endregion
|
|
2107
|
-
//#region src/core/abstractions/Decal/Decal.vue
|
|
2108
|
-
var Decal_default = Decal_vue_vue_type_script_setup_true_lang_default;
|
|
2109
|
-
|
|
2110
2084
|
//#endregion
|
|
2111
2085
|
//#region src/core/abstractions/Decal/DebugUI/context.ts
|
|
2112
2086
|
/** Internal — triggers a browser download for a `DecalLayout` JSON. */
|
|
@@ -2139,7 +2113,6 @@ function getTextureSrc(tex) {
|
|
|
2139
2113
|
function getTextureLabel(tex) {
|
|
2140
2114
|
return tex?.name || "texture";
|
|
2141
2115
|
}
|
|
2142
|
-
|
|
2143
2116
|
//#endregion
|
|
2144
2117
|
//#region src/core/abstractions/Decal/DebugUI/Handle.vue?vue&type=script&setup=true&lang.ts
|
|
2145
2118
|
const _hoisted_1$65 = {
|
|
@@ -2162,7 +2135,9 @@ const _hoisted_7$2 = { class: "live-badge__layer" };
|
|
|
2162
2135
|
const MIN_SCALE = .25;
|
|
2163
2136
|
const MAX_SCALE = 3.5;
|
|
2164
2137
|
const FADE_OUT_MS = 220;
|
|
2165
|
-
|
|
2138
|
+
//#endregion
|
|
2139
|
+
//#region src/core/abstractions/Decal/DebugUI/Handle.vue
|
|
2140
|
+
var Handle_default = /* @__PURE__ */ defineComponent({
|
|
2166
2141
|
__name: "Handle",
|
|
2167
2142
|
setup(__props) {
|
|
2168
2143
|
/**
|
|
@@ -2305,7 +2280,8 @@ var Handle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
2305
2280
|
resetHandle = null;
|
|
2306
2281
|
}
|
|
2307
2282
|
}
|
|
2308
|
-
|
|
2283
|
+
const editingEntryRef = computed(() => session.value?.editingEntry.value ?? null);
|
|
2284
|
+
watch(editingEntryRef, async (entry) => {
|
|
2309
2285
|
if (!session.value) return;
|
|
2310
2286
|
if (!entry) {
|
|
2311
2287
|
clearResetTimer();
|
|
@@ -2372,11 +2348,6 @@ var Handle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
2372
2348
|
};
|
|
2373
2349
|
}
|
|
2374
2350
|
});
|
|
2375
|
-
|
|
2376
|
-
//#endregion
|
|
2377
|
-
//#region src/core/abstractions/Decal/DebugUI/Handle.vue
|
|
2378
|
-
var Handle_default = Handle_vue_vue_type_script_setup_true_lang_default;
|
|
2379
|
-
|
|
2380
2351
|
//#endregion
|
|
2381
2352
|
//#region src/core/abstractions/Decal/DebugUI/Dock.vue?vue&type=script&setup=true&lang.ts
|
|
2382
2353
|
const _hoisted_1$64 = {
|
|
@@ -2422,7 +2393,9 @@ const _hoisted_18 = { class: "export-slot" };
|
|
|
2422
2393
|
const _hoisted_19 = ["disabled"];
|
|
2423
2394
|
const _hoisted_20 = ["disabled"];
|
|
2424
2395
|
const _hoisted_21 = ["disabled"];
|
|
2425
|
-
|
|
2396
|
+
//#endregion
|
|
2397
|
+
//#region src/core/abstractions/Decal/DebugUI/Dock.vue
|
|
2398
|
+
var Dock_default = /* @__PURE__ */ defineComponent({
|
|
2426
2399
|
__name: "Dock",
|
|
2427
2400
|
setup(__props) {
|
|
2428
2401
|
/**
|
|
@@ -2919,11 +2892,6 @@ var Dock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
2919
2892
|
};
|
|
2920
2893
|
}
|
|
2921
2894
|
});
|
|
2922
|
-
|
|
2923
|
-
//#endregion
|
|
2924
|
-
//#region src/core/abstractions/Decal/DebugUI/Dock.vue
|
|
2925
|
-
var Dock_default = Dock_vue_vue_type_script_setup_true_lang_default;
|
|
2926
|
-
|
|
2927
2895
|
//#endregion
|
|
2928
2896
|
//#region src/core/abstractions/Decal/DebugUI/LayerList.vue?vue&type=script&setup=true&lang.ts
|
|
2929
2897
|
const _hoisted_1$63 = { class: "dock decal-list" };
|
|
@@ -2967,7 +2935,9 @@ const _hoisted_13 = { class: "list-item__thumb" };
|
|
|
2967
2935
|
const _hoisted_14 = ["src", "alt"];
|
|
2968
2936
|
const _hoisted_15 = { class: "list-item__layer" };
|
|
2969
2937
|
const _hoisted_16 = ["onClick"];
|
|
2970
|
-
|
|
2938
|
+
//#endregion
|
|
2939
|
+
//#region src/core/abstractions/Decal/DebugUI/LayerList.vue
|
|
2940
|
+
var LayerList_default = /* @__PURE__ */ defineComponent({
|
|
2971
2941
|
__name: "LayerList",
|
|
2972
2942
|
setup(__props) {
|
|
2973
2943
|
/**
|
|
@@ -3178,14 +3148,9 @@ var LayerList_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
3178
3148
|
};
|
|
3179
3149
|
}
|
|
3180
3150
|
});
|
|
3181
|
-
|
|
3182
|
-
//#endregion
|
|
3183
|
-
//#region src/core/abstractions/Decal/DebugUI/LayerList.vue
|
|
3184
|
-
var LayerList_default = LayerList_vue_vue_type_script_setup_true_lang_default;
|
|
3185
|
-
|
|
3186
3151
|
//#endregion
|
|
3187
|
-
//#region src/core/abstractions/Decal/DebugUI/DecalDebugUI.vue
|
|
3188
|
-
var
|
|
3152
|
+
//#region src/core/abstractions/Decal/DebugUI/DecalDebugUI.vue
|
|
3153
|
+
var DecalDebugUI_default = /* @__PURE__ */ defineComponent({
|
|
3189
3154
|
__name: "DecalDebugUI",
|
|
3190
3155
|
props: {
|
|
3191
3156
|
session: {
|
|
@@ -3380,15 +3345,12 @@ var DecalDebugUI_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
3380
3345
|
};
|
|
3381
3346
|
}
|
|
3382
3347
|
});
|
|
3383
|
-
|
|
3384
|
-
//#endregion
|
|
3385
|
-
//#region src/core/abstractions/Decal/DebugUI/DecalDebugUI.vue
|
|
3386
|
-
var DecalDebugUI_default = DecalDebugUI_vue_vue_type_script_setup_true_lang_default;
|
|
3387
|
-
|
|
3388
3348
|
//#endregion
|
|
3389
3349
|
//#region src/core/abstractions/Edges.vue?vue&type=script&setup=true&lang.ts
|
|
3390
3350
|
const _hoisted_1$62 = ["color"];
|
|
3391
|
-
|
|
3351
|
+
//#endregion
|
|
3352
|
+
//#region src/core/abstractions/Edges.vue
|
|
3353
|
+
var Edges_default = /* @__PURE__ */ defineComponent({
|
|
3392
3354
|
__name: "Edges",
|
|
3393
3355
|
props: {
|
|
3394
3356
|
color: {
|
|
@@ -3429,14 +3391,9 @@ var Edges_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
3429
3391
|
};
|
|
3430
3392
|
}
|
|
3431
3393
|
});
|
|
3432
|
-
|
|
3433
|
-
//#endregion
|
|
3434
|
-
//#region src/core/abstractions/Edges.vue
|
|
3435
|
-
var Edges_default = Edges_vue_vue_type_script_setup_true_lang_default;
|
|
3436
|
-
|
|
3437
3394
|
//#endregion
|
|
3438
|
-
//#region src/core/abstractions/Fit.vue
|
|
3439
|
-
var
|
|
3395
|
+
//#region src/core/abstractions/Fit.vue
|
|
3396
|
+
var Fit_default = /* @__PURE__ */ defineComponent({
|
|
3440
3397
|
__name: "Fit",
|
|
3441
3398
|
props: {
|
|
3442
3399
|
into: {
|
|
@@ -3530,14 +3487,9 @@ var Fit_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComp
|
|
|
3530
3487
|
};
|
|
3531
3488
|
}
|
|
3532
3489
|
});
|
|
3533
|
-
|
|
3534
|
-
//#endregion
|
|
3535
|
-
//#region src/core/abstractions/Fit.vue
|
|
3536
|
-
var Fit_default = Fit_vue_vue_type_script_setup_true_lang_default;
|
|
3537
|
-
|
|
3538
3490
|
//#endregion
|
|
3539
|
-
//#region src/core/abstractions/Levioso.vue
|
|
3540
|
-
var
|
|
3491
|
+
//#region src/core/abstractions/Levioso.vue
|
|
3492
|
+
var Levioso_default = /* @__PURE__ */ defineComponent({
|
|
3541
3493
|
__name: "Levioso",
|
|
3542
3494
|
props: {
|
|
3543
3495
|
speed: {
|
|
@@ -3592,15 +3544,12 @@ var Levioso_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
3592
3544
|
};
|
|
3593
3545
|
}
|
|
3594
3546
|
});
|
|
3595
|
-
|
|
3596
|
-
//#endregion
|
|
3597
|
-
//#region src/core/abstractions/Levioso.vue
|
|
3598
|
-
var Levioso_default = Levioso_vue_vue_type_script_setup_true_lang_default;
|
|
3599
|
-
|
|
3600
3547
|
//#endregion
|
|
3601
3548
|
//#region src/core/abstractions/Mask/component.vue?vue&type=script&setup=true&lang.ts
|
|
3602
3549
|
const _hoisted_1$61 = ["render-order"];
|
|
3603
|
-
|
|
3550
|
+
//#endregion
|
|
3551
|
+
//#region src/core/abstractions/Mask/component.vue
|
|
3552
|
+
var component_default$11 = /* @__PURE__ */ defineComponent({
|
|
3604
3553
|
__name: "component",
|
|
3605
3554
|
props: {
|
|
3606
3555
|
id: {
|
|
@@ -3645,11 +3594,6 @@ var component_vue_vue_type_script_setup_true_lang_default$18 = /* @__PURE__ */ d
|
|
|
3645
3594
|
};
|
|
3646
3595
|
}
|
|
3647
3596
|
});
|
|
3648
|
-
|
|
3649
|
-
//#endregion
|
|
3650
|
-
//#region src/core/abstractions/Mask/component.vue
|
|
3651
|
-
var component_default$11 = component_vue_vue_type_script_setup_true_lang_default$18;
|
|
3652
|
-
|
|
3653
3597
|
//#endregion
|
|
3654
3598
|
//#region src/utils/shaderMaterial.ts
|
|
3655
3599
|
function shaderMaterial(uniforms, vertexShader, fragmentShader, onInit) {
|
|
@@ -3679,7 +3623,6 @@ function shaderMaterial(uniforms, vertexShader, fragmentShader, onInit) {
|
|
|
3679
3623
|
material.key = MathUtils.generateUUID();
|
|
3680
3624
|
return material;
|
|
3681
3625
|
}
|
|
3682
|
-
|
|
3683
3626
|
//#endregion
|
|
3684
3627
|
//#region src/core/abstractions/Outline/OutlineMaterialImpl.ts
|
|
3685
3628
|
const OutlineMaterialImpl = /* @__PURE__ */ shaderMaterial({
|
|
@@ -3729,10 +3672,9 @@ const OutlineMaterialImpl = /* @__PURE__ */ shaderMaterial({
|
|
|
3729
3672
|
#include <tonemapping_fragment>
|
|
3730
3673
|
#include <colorspace_fragment>
|
|
3731
3674
|
}`);
|
|
3732
|
-
|
|
3733
3675
|
//#endregion
|
|
3734
|
-
//#region src/core/abstractions/Outline/component.vue
|
|
3735
|
-
var
|
|
3676
|
+
//#region src/core/abstractions/Outline/component.vue
|
|
3677
|
+
var component_default$12 = /* @__PURE__ */ defineComponent({
|
|
3736
3678
|
__name: "component",
|
|
3737
3679
|
props: {
|
|
3738
3680
|
color: {
|
|
@@ -3869,15 +3811,11 @@ var component_vue_vue_type_script_setup_true_lang_default$17 = /* @__PURE__ */ d
|
|
|
3869
3811
|
};
|
|
3870
3812
|
}
|
|
3871
3813
|
});
|
|
3872
|
-
|
|
3873
|
-
//#endregion
|
|
3874
|
-
//#region src/core/abstractions/Outline/component.vue
|
|
3875
|
-
var component_default$12 = component_vue_vue_type_script_setup_true_lang_default$17;
|
|
3876
|
-
|
|
3877
3814
|
//#endregion
|
|
3878
3815
|
//#region src/core/abstractions/useSurfaceSampler/index.ts
|
|
3879
3816
|
const useSurfaceSampler = (mesh, count = 16, instanceMesh, weight, transform) => {
|
|
3880
|
-
const
|
|
3817
|
+
const arr = new Float32Array(count * 16);
|
|
3818
|
+
const buffer = ref(new InterleavedBuffer(arr, 16));
|
|
3881
3819
|
const updateBuffer = () => {
|
|
3882
3820
|
if (!mesh) return;
|
|
3883
3821
|
const sampler = new MeshSurfaceSampler(mesh);
|
|
@@ -3908,10 +3846,9 @@ const useSurfaceSampler = (mesh, count = 16, instanceMesh, weight, transform) =>
|
|
|
3908
3846
|
updateBuffer();
|
|
3909
3847
|
return { buffer };
|
|
3910
3848
|
};
|
|
3911
|
-
|
|
3912
3849
|
//#endregion
|
|
3913
|
-
//#region src/core/abstractions/useSurfaceSampler/component.vue
|
|
3914
|
-
var
|
|
3850
|
+
//#region src/core/abstractions/useSurfaceSampler/component.vue
|
|
3851
|
+
var component_default$15 = /* @__PURE__ */ defineComponent({
|
|
3915
3852
|
__name: "component",
|
|
3916
3853
|
props: {
|
|
3917
3854
|
transform: {
|
|
@@ -3958,11 +3895,6 @@ var component_vue_vue_type_script_setup_true_lang_default$16 = /* @__PURE__ */ d
|
|
|
3958
3895
|
};
|
|
3959
3896
|
}
|
|
3960
3897
|
});
|
|
3961
|
-
|
|
3962
|
-
//#endregion
|
|
3963
|
-
//#region src/core/abstractions/useSurfaceSampler/component.vue
|
|
3964
|
-
var component_default$15 = component_vue_vue_type_script_setup_true_lang_default$16;
|
|
3965
|
-
|
|
3966
3898
|
//#endregion
|
|
3967
3899
|
//#region src/utils/calculateScaleFactor.ts
|
|
3968
3900
|
const tV0 = new THREE.Vector3();
|
|
@@ -3992,10 +3924,9 @@ const calculateScaleFactor = (point3, radiusPx, camera, size) => {
|
|
|
3992
3924
|
}
|
|
3993
3925
|
return scale;
|
|
3994
3926
|
};
|
|
3995
|
-
|
|
3996
3927
|
//#endregion
|
|
3997
|
-
//#region src/core/abstractions/ScreenSizer.vue
|
|
3998
|
-
var
|
|
3928
|
+
//#region src/core/abstractions/ScreenSizer.vue
|
|
3929
|
+
var ScreenSizer_default = /* @__PURE__ */ defineComponent({
|
|
3999
3930
|
__name: "ScreenSizer",
|
|
4000
3931
|
setup(__props, { expose: __expose }) {
|
|
4001
3932
|
const worldPos = new Vector3();
|
|
@@ -4024,15 +3955,12 @@ var ScreenSizer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
4024
3955
|
};
|
|
4025
3956
|
}
|
|
4026
3957
|
});
|
|
4027
|
-
|
|
4028
|
-
//#endregion
|
|
4029
|
-
//#region src/core/abstractions/ScreenSizer.vue
|
|
4030
|
-
var ScreenSizer_default = ScreenSizer_vue_vue_type_script_setup_true_lang_default;
|
|
4031
|
-
|
|
4032
3958
|
//#endregion
|
|
4033
3959
|
//#region src/core/abstractions/ScreenSpace.vue?vue&type=script&setup=true&lang.ts
|
|
4034
3960
|
const _hoisted_1$60 = ["position"];
|
|
4035
|
-
|
|
3961
|
+
//#endregion
|
|
3962
|
+
//#region src/core/abstractions/ScreenSpace.vue
|
|
3963
|
+
var ScreenSpace_default = /* @__PURE__ */ defineComponent({
|
|
4036
3964
|
__name: "ScreenSpace",
|
|
4037
3965
|
props: {
|
|
4038
3966
|
depth: {
|
|
@@ -4062,11 +3990,11 @@ var ScreenSpace_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
4062
3990
|
const outerRef = shallowRef();
|
|
4063
3991
|
const { camera, sizes } = useTresContext();
|
|
4064
3992
|
const zoom = ref(1);
|
|
4065
|
-
useLoop().onBeforeRender(({ camera
|
|
4066
|
-
if (!outerRef.value || !camera
|
|
4067
|
-
outerRef.value.quaternion.copy(camera
|
|
4068
|
-
outerRef.value.position.copy(camera
|
|
4069
|
-
if (camera
|
|
3993
|
+
useLoop().onBeforeRender(({ camera }) => {
|
|
3994
|
+
if (!outerRef.value || !camera.value) return;
|
|
3995
|
+
outerRef.value.quaternion.copy(camera.value.quaternion);
|
|
3996
|
+
outerRef.value.position.copy(camera.value.position);
|
|
3997
|
+
if (camera.value instanceof PerspectiveCamera || camera.value instanceof OrthographicCamera) zoom.value = camera.value.zoom;
|
|
4070
3998
|
});
|
|
4071
3999
|
const viewPlaneDimensions = computed(() => {
|
|
4072
4000
|
let height = 0;
|
|
@@ -4102,11 +4030,6 @@ var ScreenSpace_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
4102
4030
|
};
|
|
4103
4031
|
}
|
|
4104
4032
|
});
|
|
4105
|
-
|
|
4106
|
-
//#endregion
|
|
4107
|
-
//#region src/core/abstractions/ScreenSpace.vue
|
|
4108
|
-
var ScreenSpace_default = ScreenSpace_vue_vue_type_script_setup_true_lang_default;
|
|
4109
|
-
|
|
4110
4033
|
//#endregion
|
|
4111
4034
|
//#region src/core/abstractions/Mask/useMask.ts
|
|
4112
4035
|
function useMask(id, inverse = false) {
|
|
@@ -4124,12 +4047,10 @@ function useMask(id, inverse = false) {
|
|
|
4124
4047
|
});
|
|
4125
4048
|
return result;
|
|
4126
4049
|
}
|
|
4127
|
-
|
|
4128
4050
|
//#endregion
|
|
4129
4051
|
//#region src/core/abstractions/Instances/const.ts
|
|
4130
4052
|
const INSTANCES_INJECTION_KEY = Symbol("tresInstances");
|
|
4131
4053
|
const MERGED_INJECTION_KEY = Symbol("tresMergedInstances");
|
|
4132
|
-
|
|
4133
4054
|
//#endregion
|
|
4134
4055
|
//#region src/core/abstractions/Instances/PositionMesh.ts
|
|
4135
4056
|
const scratchMesh = new Mesh();
|
|
@@ -4159,11 +4080,12 @@ var PositionMesh = class extends Object3D {
|
|
|
4159
4080
|
scratchIntersects.length = 0;
|
|
4160
4081
|
}
|
|
4161
4082
|
};
|
|
4162
|
-
|
|
4163
4083
|
//#endregion
|
|
4164
4084
|
//#region src/core/abstractions/Instances/Instance.vue?vue&type=script&setup=true&lang.ts
|
|
4165
4085
|
const _hoisted_1$59 = ["object"];
|
|
4166
|
-
|
|
4086
|
+
//#endregion
|
|
4087
|
+
//#region src/core/abstractions/Instances/Instance.vue
|
|
4088
|
+
var Instance_default = /* @__PURE__ */ defineComponent({
|
|
4167
4089
|
__name: "Instance",
|
|
4168
4090
|
props: {
|
|
4169
4091
|
batch: {
|
|
@@ -4231,11 +4153,6 @@ var Instance_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
4231
4153
|
};
|
|
4232
4154
|
}
|
|
4233
4155
|
});
|
|
4234
|
-
|
|
4235
|
-
//#endregion
|
|
4236
|
-
//#region src/core/abstractions/Instances/Instance.vue
|
|
4237
|
-
var Instance_default = Instance_vue_vue_type_script_setup_true_lang_default;
|
|
4238
|
-
|
|
4239
4156
|
//#endregion
|
|
4240
4157
|
//#region src/core/abstractions/Instances/useInstancesBatch.ts
|
|
4241
4158
|
function createMatrixAttribute(capacity) {
|
|
@@ -4374,7 +4291,6 @@ function useInstancesBatch(source) {
|
|
|
4374
4291
|
update
|
|
4375
4292
|
};
|
|
4376
4293
|
}
|
|
4377
|
-
|
|
4378
4294
|
//#endregion
|
|
4379
4295
|
//#region src/core/abstractions/Instances/Instances.vue?vue&type=script&setup=true&lang.ts
|
|
4380
4296
|
const _hoisted_1$58 = [
|
|
@@ -4382,7 +4298,9 @@ const _hoisted_1$58 = [
|
|
|
4382
4298
|
"cast-shadow",
|
|
4383
4299
|
"receive-shadow"
|
|
4384
4300
|
];
|
|
4385
|
-
|
|
4301
|
+
//#endregion
|
|
4302
|
+
//#region src/core/abstractions/Instances/Instances.vue
|
|
4303
|
+
var Instances_default = /* @__PURE__ */ defineComponent({
|
|
4386
4304
|
__name: "Instances",
|
|
4387
4305
|
props: {
|
|
4388
4306
|
geometry: {
|
|
@@ -4450,14 +4368,9 @@ var Instances_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
4450
4368
|
};
|
|
4451
4369
|
}
|
|
4452
4370
|
});
|
|
4453
|
-
|
|
4454
|
-
//#endregion
|
|
4455
|
-
//#region src/core/abstractions/Instances/Instances.vue
|
|
4456
|
-
var Instances_default = Instances_vue_vue_type_script_setup_true_lang_default;
|
|
4457
|
-
|
|
4458
4371
|
//#endregion
|
|
4459
|
-
//#region src/core/abstractions/Instances/Merged.vue
|
|
4460
|
-
var
|
|
4372
|
+
//#region src/core/abstractions/Instances/Merged.vue
|
|
4373
|
+
var Merged_default = /* @__PURE__ */ defineComponent({
|
|
4461
4374
|
__name: "Merged",
|
|
4462
4375
|
props: {
|
|
4463
4376
|
meshes: {
|
|
@@ -4506,16 +4419,10 @@ var Merged_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
4506
4419
|
};
|
|
4507
4420
|
}
|
|
4508
4421
|
});
|
|
4509
|
-
|
|
4510
|
-
//#endregion
|
|
4511
|
-
//#region src/core/abstractions/Instances/Merged.vue
|
|
4512
|
-
var Merged_default = Merged_vue_vue_type_script_setup_true_lang_default;
|
|
4513
|
-
|
|
4514
4422
|
//#endregion
|
|
4515
4423
|
//#region src/utils/types.ts
|
|
4516
4424
|
const isPerspectiveCamera$1 = (camera) => Boolean(camera && camera.isPerspectiveCamera);
|
|
4517
4425
|
const isOrthographicCamera$1 = (camera) => Boolean(camera && camera.isOrthographicCamera);
|
|
4518
|
-
|
|
4519
4426
|
//#endregion
|
|
4520
4427
|
//#region src/core/controls/CameraControls.vue?vue&type=script&setup=true&lang.ts
|
|
4521
4428
|
const _hoisted_1$57 = [
|
|
@@ -4560,7 +4467,9 @@ const getTouches = (camera, touches) => ({
|
|
|
4560
4467
|
three: CameraControls.ACTION.TOUCH_TRUCK,
|
|
4561
4468
|
...touches
|
|
4562
4469
|
});
|
|
4563
|
-
|
|
4470
|
+
//#endregion
|
|
4471
|
+
//#region src/core/controls/CameraControls.vue
|
|
4472
|
+
var CameraControls_default = /* @__PURE__ */ defineComponent({
|
|
4564
4473
|
__name: "CameraControls",
|
|
4565
4474
|
props: {
|
|
4566
4475
|
makeDefault: {
|
|
@@ -4729,14 +4638,14 @@ var CameraControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
4729
4638
|
Vector4
|
|
4730
4639
|
};
|
|
4731
4640
|
CameraControls.install({ THREE: subsetOfTHREE });
|
|
4732
|
-
const { camera: activeCamera, renderer, extend
|
|
4641
|
+
const { camera: activeCamera, renderer, extend, controls, invalidate } = useTres();
|
|
4733
4642
|
watch(props, () => {
|
|
4734
4643
|
invalidate();
|
|
4735
4644
|
});
|
|
4736
4645
|
const mouseButtons = computed(() => getMouseButtons(props.camera || activeCamera.value, props.mouseButtons));
|
|
4737
4646
|
const touches = computed(() => getTouches(props.camera || activeCamera.value, props.touches));
|
|
4738
4647
|
const controlsRef = shallowRef(null);
|
|
4739
|
-
extend
|
|
4648
|
+
extend({ CameraControls });
|
|
4740
4649
|
whenever(controlsRef, (value) => {
|
|
4741
4650
|
value.addEventListener("update", () => {
|
|
4742
4651
|
controlsRef.value && emit("change", controlsRef.value);
|
|
@@ -4791,14 +4700,9 @@ var CameraControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
4791
4700
|
};
|
|
4792
4701
|
}
|
|
4793
4702
|
});
|
|
4794
|
-
|
|
4795
|
-
//#endregion
|
|
4796
|
-
//#region src/core/controls/CameraControls.vue
|
|
4797
|
-
var CameraControls_default = CameraControls_vue_vue_type_script_setup_true_lang_default;
|
|
4798
|
-
|
|
4799
4703
|
//#endregion
|
|
4800
|
-
//#region src/core/controls/KeyboardControls.vue
|
|
4801
|
-
var
|
|
4704
|
+
//#region src/core/controls/KeyboardControls.vue
|
|
4705
|
+
var KeyboardControls_default = /* @__PURE__ */ defineComponent({
|
|
4802
4706
|
__name: "KeyboardControls",
|
|
4803
4707
|
props: {
|
|
4804
4708
|
makeDefault: {
|
|
@@ -4904,11 +4808,6 @@ var KeyboardControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
4904
4808
|
};
|
|
4905
4809
|
}
|
|
4906
4810
|
});
|
|
4907
|
-
|
|
4908
|
-
//#endregion
|
|
4909
|
-
//#region src/core/controls/KeyboardControls.vue
|
|
4910
|
-
var KeyboardControls_default = KeyboardControls_vue_vue_type_script_setup_true_lang_default;
|
|
4911
|
-
|
|
4912
4811
|
//#endregion
|
|
4913
4812
|
//#region src/core/controls/useOrbitLikeControls.ts
|
|
4914
4813
|
/** Shared default values for orbit-like controls (excludes touches, mouseButtons, screenSpacePanning). */
|
|
@@ -4965,7 +4864,6 @@ function useOrbitLikeControls(controlsRef, props, emit) {
|
|
|
4965
4864
|
if (controlsRef.value) controlsRef.value.dispose();
|
|
4966
4865
|
});
|
|
4967
4866
|
}
|
|
4968
|
-
|
|
4969
4867
|
//#endregion
|
|
4970
4868
|
//#region src/core/controls/MapControls.vue?vue&type=script&setup=true&lang.ts
|
|
4971
4869
|
const _hoisted_1$56 = [
|
|
@@ -4994,9 +4892,11 @@ const _hoisted_1$56 = [
|
|
|
4994
4892
|
"mouse-buttons",
|
|
4995
4893
|
"screen-space-panning"
|
|
4996
4894
|
];
|
|
4997
|
-
|
|
4895
|
+
//#endregion
|
|
4896
|
+
//#region src/core/controls/MapControls.vue
|
|
4897
|
+
var MapControls_default = /* @__PURE__ */ defineComponent({
|
|
4998
4898
|
__name: "MapControls",
|
|
4999
|
-
props:
|
|
4899
|
+
props: /*@__PURE__*/ mergeDefaults({
|
|
5000
4900
|
makeDefault: {
|
|
5001
4901
|
type: Boolean,
|
|
5002
4902
|
required: false
|
|
@@ -5122,9 +5022,9 @@ var MapControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
5122
5022
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
5123
5023
|
const props = __props;
|
|
5124
5024
|
const emit = __emit;
|
|
5125
|
-
const { camera: activeCamera, renderer, extend
|
|
5025
|
+
const { camera: activeCamera, renderer, extend } = useTres();
|
|
5126
5026
|
const controlsRef = shallowRef(null);
|
|
5127
|
-
extend
|
|
5027
|
+
extend({ MapControls });
|
|
5128
5028
|
useOrbitLikeControls(controlsRef, props, emit);
|
|
5129
5029
|
__expose({ instance: controlsRef });
|
|
5130
5030
|
return (_ctx, _cache) => {
|
|
@@ -5160,11 +5060,6 @@ var MapControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
5160
5060
|
};
|
|
5161
5061
|
}
|
|
5162
5062
|
});
|
|
5163
|
-
|
|
5164
|
-
//#endregion
|
|
5165
|
-
//#region src/core/controls/MapControls.vue
|
|
5166
|
-
var MapControls_default = MapControls_vue_vue_type_script_setup_true_lang_default;
|
|
5167
|
-
|
|
5168
5063
|
//#endregion
|
|
5169
5064
|
//#region src/core/controls/OrbitControls.vue?vue&type=script&setup=true&lang.ts
|
|
5170
5065
|
const _hoisted_1$55 = [
|
|
@@ -5193,9 +5088,11 @@ const _hoisted_1$55 = [
|
|
|
5193
5088
|
"mouse-buttons",
|
|
5194
5089
|
"screen-space-panning"
|
|
5195
5090
|
];
|
|
5196
|
-
|
|
5091
|
+
//#endregion
|
|
5092
|
+
//#region src/core/controls/OrbitControls.vue
|
|
5093
|
+
var OrbitControls_default = /* @__PURE__ */ defineComponent({
|
|
5197
5094
|
__name: "OrbitControls",
|
|
5198
|
-
props:
|
|
5095
|
+
props: /*@__PURE__*/ mergeDefaults({
|
|
5199
5096
|
mouseButtons: {
|
|
5200
5097
|
type: Object,
|
|
5201
5098
|
required: false
|
|
@@ -5321,9 +5218,9 @@ var OrbitControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
5321
5218
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
5322
5219
|
const props = __props;
|
|
5323
5220
|
const emit = __emit;
|
|
5324
|
-
const { camera: activeCamera, renderer, extend
|
|
5221
|
+
const { camera: activeCamera, renderer, extend } = useTres();
|
|
5325
5222
|
const controlsRef = shallowRef(null);
|
|
5326
|
-
extend
|
|
5223
|
+
extend({ OrbitControls });
|
|
5327
5224
|
useOrbitLikeControls(controlsRef, props, emit);
|
|
5328
5225
|
__expose({ instance: controlsRef });
|
|
5329
5226
|
return (_ctx, _cache) => {
|
|
@@ -5359,15 +5256,12 @@ var OrbitControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
5359
5256
|
};
|
|
5360
5257
|
}
|
|
5361
5258
|
});
|
|
5362
|
-
|
|
5363
|
-
//#endregion
|
|
5364
|
-
//#region src/core/controls/OrbitControls.vue
|
|
5365
|
-
var OrbitControls_default = OrbitControls_vue_vue_type_script_setup_true_lang_default;
|
|
5366
|
-
|
|
5367
5259
|
//#endregion
|
|
5368
5260
|
//#region src/core/controls/PointerLockControls.vue?vue&type=script&setup=true&lang.ts
|
|
5369
5261
|
const _hoisted_1$54 = ["args"];
|
|
5370
|
-
|
|
5262
|
+
//#endregion
|
|
5263
|
+
//#region src/core/controls/PointerLockControls.vue
|
|
5264
|
+
var PointerLockControls_default = /* @__PURE__ */ defineComponent({
|
|
5371
5265
|
__name: "PointerLockControls",
|
|
5372
5266
|
props: {
|
|
5373
5267
|
makeDefault: {
|
|
@@ -5392,13 +5286,13 @@ var PointerLockControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
5392
5286
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
5393
5287
|
const props = __props;
|
|
5394
5288
|
const emit = __emit;
|
|
5395
|
-
const { camera: activeCamera, renderer, extend
|
|
5289
|
+
const { camera: activeCamera, renderer, extend, controls, invalidate } = useTres();
|
|
5396
5290
|
watch(props, () => {
|
|
5397
5291
|
invalidate();
|
|
5398
5292
|
});
|
|
5399
5293
|
const controlsRef = shallowRef(null);
|
|
5400
5294
|
let triggerSelector;
|
|
5401
|
-
extend
|
|
5295
|
+
extend({ PointerLockControls });
|
|
5402
5296
|
const onLock = () => emit("isLock", true);
|
|
5403
5297
|
const onUnlock = () => emit("isLock", false);
|
|
5404
5298
|
const onChange = () => invalidate();
|
|
@@ -5442,14 +5336,9 @@ var PointerLockControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
5442
5336
|
};
|
|
5443
5337
|
}
|
|
5444
5338
|
});
|
|
5445
|
-
|
|
5446
|
-
//#endregion
|
|
5447
|
-
//#region src/core/controls/PointerLockControls.vue
|
|
5448
|
-
var PointerLockControls_default = PointerLockControls_vue_vue_type_script_setup_true_lang_default;
|
|
5449
|
-
|
|
5450
5339
|
//#endregion
|
|
5451
|
-
//#region src/core/controls/ScrollControls.vue
|
|
5452
|
-
var
|
|
5340
|
+
//#region src/core/controls/ScrollControls.vue
|
|
5341
|
+
var ScrollControls_default = /* @__PURE__ */ defineComponent({
|
|
5453
5342
|
__name: "ScrollControls",
|
|
5454
5343
|
props: {
|
|
5455
5344
|
pages: {
|
|
@@ -5584,11 +5473,6 @@ var ScrollControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
5584
5473
|
};
|
|
5585
5474
|
}
|
|
5586
5475
|
});
|
|
5587
|
-
|
|
5588
|
-
//#endregion
|
|
5589
|
-
//#region src/core/controls/ScrollControls.vue
|
|
5590
|
-
var ScrollControls_default = ScrollControls_vue_vue_type_script_setup_true_lang_default;
|
|
5591
|
-
|
|
5592
5476
|
//#endregion
|
|
5593
5477
|
//#region src/core/controls/TransformControls.vue?vue&type=script&setup=true&lang.ts
|
|
5594
5478
|
const _hoisted_1$53 = [
|
|
@@ -5606,7 +5490,9 @@ const _hoisted_1$53 = [
|
|
|
5606
5490
|
"show-y",
|
|
5607
5491
|
"show-z"
|
|
5608
5492
|
];
|
|
5609
|
-
|
|
5493
|
+
//#endregion
|
|
5494
|
+
//#region src/core/controls/TransformControls.vue
|
|
5495
|
+
var TransformControls_default = /* @__PURE__ */ defineComponent({
|
|
5610
5496
|
__name: "TransformControls",
|
|
5611
5497
|
props: {
|
|
5612
5498
|
object: {
|
|
@@ -5682,7 +5568,7 @@ var TransformControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
5682
5568
|
const emit = __emit;
|
|
5683
5569
|
const { object, mode, enabled, axis, translationSnap, rotationSnap, scaleSnap, space, size, showX, showY, showZ } = toRefs(props);
|
|
5684
5570
|
const controlsRef = shallowRef(null);
|
|
5685
|
-
const { controls, camera: activeCamera, renderer, extend
|
|
5571
|
+
const { controls, camera: activeCamera, renderer, extend, invalidate } = useTres();
|
|
5686
5572
|
watch([
|
|
5687
5573
|
object,
|
|
5688
5574
|
mode,
|
|
@@ -5699,7 +5585,7 @@ var TransformControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
5699
5585
|
], () => {
|
|
5700
5586
|
invalidate();
|
|
5701
5587
|
});
|
|
5702
|
-
extend
|
|
5588
|
+
extend({ TransformControls });
|
|
5703
5589
|
const onChange = () => {
|
|
5704
5590
|
invalidate();
|
|
5705
5591
|
emit("change");
|
|
@@ -5758,11 +5644,6 @@ var TransformControls_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
5758
5644
|
};
|
|
5759
5645
|
}
|
|
5760
5646
|
});
|
|
5761
|
-
|
|
5762
|
-
//#endregion
|
|
5763
|
-
//#region src/core/controls/TransformControls.vue
|
|
5764
|
-
var TransformControls_default = TransformControls_vue_vue_type_script_setup_true_lang_default;
|
|
5765
|
-
|
|
5766
5647
|
//#endregion
|
|
5767
5648
|
//#region src/core/debug-performance/Helper/useHelper.ts
|
|
5768
5649
|
function useHelper(object3D, helperConstructor, ...args) {
|
|
@@ -5786,10 +5667,9 @@ function useHelper(object3D, helperConstructor, ...args) {
|
|
|
5786
5667
|
});
|
|
5787
5668
|
return helper;
|
|
5788
5669
|
}
|
|
5789
|
-
|
|
5790
5670
|
//#endregion
|
|
5791
|
-
//#region src/core/debug-performance/Helper/component.vue
|
|
5792
|
-
var
|
|
5671
|
+
//#region src/core/debug-performance/Helper/component.vue
|
|
5672
|
+
var component_default$8 = /* @__PURE__ */ defineComponent({
|
|
5793
5673
|
__name: "component",
|
|
5794
5674
|
props: {
|
|
5795
5675
|
type: {
|
|
@@ -5817,14 +5697,9 @@ var component_vue_vue_type_script_setup_true_lang_default$15 = /* @__PURE__ */ d
|
|
|
5817
5697
|
};
|
|
5818
5698
|
}
|
|
5819
5699
|
});
|
|
5820
|
-
|
|
5821
5700
|
//#endregion
|
|
5822
|
-
//#region src/core/debug-performance/
|
|
5823
|
-
var
|
|
5824
|
-
|
|
5825
|
-
//#endregion
|
|
5826
|
-
//#region src/core/debug-performance/LOD.vue?vue&type=script&setup=true&lang.ts
|
|
5827
|
-
var LOD_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5701
|
+
//#region src/core/debug-performance/LOD.vue
|
|
5702
|
+
var LOD_default = /* @__PURE__ */ defineComponent({
|
|
5828
5703
|
__name: "LOD",
|
|
5829
5704
|
props: {
|
|
5830
5705
|
levels: {
|
|
@@ -5870,11 +5745,6 @@ var LOD_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComp
|
|
|
5870
5745
|
};
|
|
5871
5746
|
}
|
|
5872
5747
|
});
|
|
5873
|
-
|
|
5874
|
-
//#endregion
|
|
5875
|
-
//#region src/core/debug-performance/LOD.vue
|
|
5876
|
-
var LOD_default = LOD_vue_vue_type_script_setup_true_lang_default;
|
|
5877
|
-
|
|
5878
5748
|
//#endregion
|
|
5879
5749
|
//#region src/core/debug-performance/Stats.ts
|
|
5880
5750
|
const Stats = defineComponent({
|
|
@@ -5897,7 +5767,6 @@ const Stats = defineComponent({
|
|
|
5897
5767
|
});
|
|
5898
5768
|
}
|
|
5899
5769
|
});
|
|
5900
|
-
|
|
5901
5770
|
//#endregion
|
|
5902
5771
|
//#region src/core/debug-performance/StatsGl.ts
|
|
5903
5772
|
const StatsGl = defineComponent({
|
|
@@ -5934,7 +5803,6 @@ const StatsGl = defineComponent({
|
|
|
5934
5803
|
});
|
|
5935
5804
|
}
|
|
5936
5805
|
});
|
|
5937
|
-
|
|
5938
5806
|
//#endregion
|
|
5939
5807
|
//#region src/core/debug-performance/useBVH.ts
|
|
5940
5808
|
/**
|
|
@@ -5979,12 +5847,12 @@ const useBVH = (target, { enabled = true, firstHitOnly = false, splitStrategy =
|
|
|
5979
5847
|
const boundsTree = new MeshBVH(mesh.geometry, bvhOptions);
|
|
5980
5848
|
mesh.geometry.boundsTree = boundsTree;
|
|
5981
5849
|
if (firstHitOnly) mesh.raycast = function(raycaster, intersects) {
|
|
5982
|
-
const boundsTree
|
|
5983
|
-
if (boundsTree
|
|
5850
|
+
const boundsTree = this.geometry.boundsTree;
|
|
5851
|
+
if (boundsTree) {
|
|
5984
5852
|
if (!this.layers.test(raycaster.layers)) return;
|
|
5985
|
-
if (!(boundsTree
|
|
5853
|
+
if (!(boundsTree instanceof MeshBVH)) return;
|
|
5986
5854
|
const side = (Array.isArray(this.material) ? this.material[0] : this.material)?.side ?? raycaster.params.Mesh?.side;
|
|
5987
|
-
const hit = boundsTree
|
|
5855
|
+
const hit = boundsTree.raycastFirst(raycaster.ray, side, raycaster.near, raycaster.far);
|
|
5988
5856
|
if (hit) {
|
|
5989
5857
|
hit.object = this;
|
|
5990
5858
|
intersects.push(hit);
|
|
@@ -6060,8 +5928,8 @@ const useBVH = (target, { enabled = true, firstHitOnly = false, splitStrategy =
|
|
|
6060
5928
|
const objectValue = toValue(target);
|
|
6061
5929
|
if (objectValue && toValue(enabled)) applyBVH(objectValue);
|
|
6062
5930
|
}, { immediate: true });
|
|
6063
|
-
watch(() => toValue(enabled), (enabled
|
|
6064
|
-
if (enabled
|
|
5931
|
+
watch(() => toValue(enabled), (enabled) => {
|
|
5932
|
+
if (enabled) {
|
|
6065
5933
|
const objectValue = toValue(target);
|
|
6066
5934
|
if (objectValue) applyBVH(objectValue);
|
|
6067
5935
|
} else removeBVH();
|
|
@@ -6073,7 +5941,6 @@ const useBVH = (target, { enabled = true, firstHitOnly = false, splitStrategy =
|
|
|
6073
5941
|
removeBVH();
|
|
6074
5942
|
});
|
|
6075
5943
|
};
|
|
6076
|
-
|
|
6077
5944
|
//#endregion
|
|
6078
5945
|
//#region src/core/light-shadow/RandomizedLights/RandomizedLights.ts
|
|
6079
5946
|
var RandomizedLights = class extends Group {
|
|
@@ -6170,7 +6037,6 @@ var RandomizedLights = class extends Group {
|
|
|
6170
6037
|
}
|
|
6171
6038
|
}
|
|
6172
6039
|
};
|
|
6173
|
-
|
|
6174
6040
|
//#endregion
|
|
6175
6041
|
//#region src/core/light-shadow/RandomizedLights/component.vue?vue&type=script&setup=true&lang.ts
|
|
6176
6042
|
const _hoisted_1$52 = [
|
|
@@ -6186,7 +6052,9 @@ const _hoisted_1$52 = [
|
|
|
6186
6052
|
"far",
|
|
6187
6053
|
"position"
|
|
6188
6054
|
];
|
|
6189
|
-
|
|
6055
|
+
//#endregion
|
|
6056
|
+
//#region src/core/light-shadow/RandomizedLights/component.vue
|
|
6057
|
+
var component_default$14 = /* @__PURE__ */ defineComponent({
|
|
6190
6058
|
__name: "component",
|
|
6191
6059
|
props: {
|
|
6192
6060
|
count: {
|
|
@@ -6278,11 +6146,6 @@ var component_vue_vue_type_script_setup_true_lang_default$14 = /* @__PURE__ */ d
|
|
|
6278
6146
|
};
|
|
6279
6147
|
}
|
|
6280
6148
|
});
|
|
6281
|
-
|
|
6282
|
-
//#endregion
|
|
6283
|
-
//#region src/core/light-shadow/RandomizedLights/component.vue
|
|
6284
|
-
var component_default$14 = component_vue_vue_type_script_setup_true_lang_default$14;
|
|
6285
|
-
|
|
6286
6149
|
//#endregion
|
|
6287
6150
|
//#region src/core/materials/meshDiscardMaterial/material.ts
|
|
6288
6151
|
var MeshDiscardMaterial = class extends ShaderMaterial {
|
|
@@ -6292,7 +6155,6 @@ var MeshDiscardMaterial = class extends ShaderMaterial {
|
|
|
6292
6155
|
this.fragmentShader = "void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); discard;}";
|
|
6293
6156
|
}
|
|
6294
6157
|
};
|
|
6295
|
-
|
|
6296
6158
|
//#endregion
|
|
6297
6159
|
//#region src/core/light-shadow/AccumulativeShadows/ProgressiveLightMap.ts
|
|
6298
6160
|
function isLight(object) {
|
|
@@ -6419,7 +6281,6 @@ var ProgressiveLightMap = class {
|
|
|
6419
6281
|
this.targetMat.dispose();
|
|
6420
6282
|
}
|
|
6421
6283
|
};
|
|
6422
|
-
|
|
6423
6284
|
//#endregion
|
|
6424
6285
|
//#region src/core/light-shadow/AccumulativeShadows/SoftShadowMaterial.ts
|
|
6425
6286
|
const SoftShadowMaterial = /* @__PURE__ */ shaderMaterial({
|
|
@@ -6444,7 +6305,6 @@ const SoftShadowMaterial = /* @__PURE__ */ shaderMaterial({
|
|
|
6444
6305
|
#include <tonemapping_fragment>
|
|
6445
6306
|
#include <colorspace_fragment>
|
|
6446
6307
|
}`);
|
|
6447
|
-
|
|
6448
6308
|
//#endregion
|
|
6449
6309
|
//#region src/core/light-shadow/AccumulativeShadows/component.vue?vue&type=script&setup=true&lang.ts
|
|
6450
6310
|
const _hoisted_1$51 = ["scale", "rotation"];
|
|
@@ -6456,7 +6316,9 @@ const _hoisted_2$28 = [
|
|
|
6456
6316
|
"opacity",
|
|
6457
6317
|
"tone-mapped"
|
|
6458
6318
|
];
|
|
6459
|
-
|
|
6319
|
+
//#endregion
|
|
6320
|
+
//#region src/core/light-shadow/AccumulativeShadows/component.vue
|
|
6321
|
+
var component_default = /* @__PURE__ */ defineComponent({
|
|
6460
6322
|
__name: "component",
|
|
6461
6323
|
props: {
|
|
6462
6324
|
once: {
|
|
@@ -6652,11 +6514,6 @@ var component_vue_vue_type_script_setup_true_lang_default$13 = /* @__PURE__ */ d
|
|
|
6652
6514
|
};
|
|
6653
6515
|
}
|
|
6654
6516
|
});
|
|
6655
|
-
|
|
6656
|
-
//#endregion
|
|
6657
|
-
//#region src/core/light-shadow/AccumulativeShadows/component.vue
|
|
6658
|
-
var component_default = component_vue_vue_type_script_setup_true_lang_default$13;
|
|
6659
|
-
|
|
6660
6517
|
//#endregion
|
|
6661
6518
|
//#region src/core/light-shadow/BakeShadows.ts
|
|
6662
6519
|
const BakeShadows = defineComponent({
|
|
@@ -6671,7 +6528,6 @@ const BakeShadows = defineComponent({
|
|
|
6671
6528
|
});
|
|
6672
6529
|
}
|
|
6673
6530
|
});
|
|
6674
|
-
|
|
6675
6531
|
//#endregion
|
|
6676
6532
|
//#region src/core/light-shadow/CircleShadow.vue?vue&type=script&setup=true&lang.ts
|
|
6677
6533
|
const _hoisted_1$50 = ["rotation-x"];
|
|
@@ -6683,7 +6539,9 @@ const _hoisted_2$27 = [
|
|
|
6683
6539
|
"map"
|
|
6684
6540
|
];
|
|
6685
6541
|
const SIZE = 128;
|
|
6686
|
-
|
|
6542
|
+
//#endregion
|
|
6543
|
+
//#region src/core/light-shadow/CircleShadow.vue
|
|
6544
|
+
var CircleShadow_default = /* @__PURE__ */ defineComponent({
|
|
6687
6545
|
__name: "CircleShadow",
|
|
6688
6546
|
props: {
|
|
6689
6547
|
color: {
|
|
@@ -6722,7 +6580,7 @@ var CircleShadow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
6722
6580
|
canvas.width = SIZE;
|
|
6723
6581
|
canvas.height = SIZE;
|
|
6724
6582
|
const context = canvas.getContext("2d");
|
|
6725
|
-
const texture
|
|
6583
|
+
const texture = new Texture(canvas);
|
|
6726
6584
|
function createCanvas() {
|
|
6727
6585
|
const gradient = context.createRadialGradient(canvas.width / 2, canvas.height / 2, 0, canvas.width / 2, canvas.height / 2, canvas.width / 2);
|
|
6728
6586
|
gradient.addColorStop(props.offset, new Color(props.color).getStyle());
|
|
@@ -6730,12 +6588,12 @@ var CircleShadow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
6730
6588
|
context.clearRect(0, 0, SIZE, SIZE);
|
|
6731
6589
|
context.fillStyle = gradient;
|
|
6732
6590
|
context.fillRect(0, 0, canvas.width, canvas.height);
|
|
6733
|
-
texture
|
|
6591
|
+
texture.needsUpdate = true;
|
|
6734
6592
|
}
|
|
6735
6593
|
watchEffect(createCanvas);
|
|
6736
6594
|
const shadowRef = shallowRef();
|
|
6737
6595
|
__expose({ instance: shadowRef });
|
|
6738
|
-
onUnmounted(() => texture
|
|
6596
|
+
onUnmounted(() => texture.dispose());
|
|
6739
6597
|
return (_ctx, _cache) => {
|
|
6740
6598
|
return openBlock(), createElementBlock("TresMesh", {
|
|
6741
6599
|
ref_key: "shadowRef",
|
|
@@ -6747,20 +6605,17 @@ var CircleShadow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
6747
6605
|
fog: props.fog,
|
|
6748
6606
|
"depth-write": __props.depthWrite,
|
|
6749
6607
|
side: unref(DoubleSide),
|
|
6750
|
-
map: unref(texture
|
|
6608
|
+
map: unref(texture)
|
|
6751
6609
|
}, null, 8, _hoisted_2$27)], 8, _hoisted_1$50);
|
|
6752
6610
|
};
|
|
6753
6611
|
}
|
|
6754
6612
|
});
|
|
6755
|
-
|
|
6756
|
-
//#endregion
|
|
6757
|
-
//#region src/core/light-shadow/CircleShadow.vue
|
|
6758
|
-
var CircleShadow_default = CircleShadow_vue_vue_type_script_setup_true_lang_default;
|
|
6759
|
-
|
|
6760
6613
|
//#endregion
|
|
6761
6614
|
//#region src/core/light-shadow/ContactShadows.vue?vue&type=script&setup=true&lang.ts
|
|
6762
6615
|
const _hoisted_1$49 = ["object"];
|
|
6763
|
-
|
|
6616
|
+
//#endregion
|
|
6617
|
+
//#region src/core/light-shadow/ContactShadows.vue
|
|
6618
|
+
var ContactShadows_default = /* @__PURE__ */ defineComponent({
|
|
6764
6619
|
__name: "ContactShadows",
|
|
6765
6620
|
props: {
|
|
6766
6621
|
opacity: {
|
|
@@ -6826,22 +6681,22 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
6826
6681
|
},
|
|
6827
6682
|
setup(__props, { expose: __expose }) {
|
|
6828
6683
|
const props = __props;
|
|
6829
|
-
function blurShadow(blur, renderer, pool
|
|
6830
|
-
pool
|
|
6831
|
-
pool
|
|
6832
|
-
pool
|
|
6833
|
-
pool
|
|
6834
|
-
renderer.setRenderTarget(pool
|
|
6835
|
-
renderer.render(pool
|
|
6836
|
-
pool
|
|
6837
|
-
pool
|
|
6838
|
-
pool
|
|
6839
|
-
renderer.setRenderTarget(pool
|
|
6840
|
-
renderer.render(pool
|
|
6841
|
-
pool
|
|
6684
|
+
function blurShadow(blur, renderer, pool) {
|
|
6685
|
+
pool.blurPlane.visible = true;
|
|
6686
|
+
pool.blurPlane.material = pool.horizontalBlurMaterial;
|
|
6687
|
+
pool.horizontalBlurMaterial.uniforms.tDiffuse.value = pool.renderTarget.texture;
|
|
6688
|
+
pool.horizontalBlurMaterial.uniforms.h.value = blur / 256;
|
|
6689
|
+
renderer.setRenderTarget(pool.renderTargetBlur);
|
|
6690
|
+
renderer.render(pool.blurPlane, pool.shadowCamera);
|
|
6691
|
+
pool.blurPlane.material = pool.verticalBlurMaterial;
|
|
6692
|
+
pool.verticalBlurMaterial.uniforms.tDiffuse.value = pool.renderTargetBlur.texture;
|
|
6693
|
+
pool.verticalBlurMaterial.uniforms.v.value = blur / 256;
|
|
6694
|
+
renderer.setRenderTarget(pool.renderTarget);
|
|
6695
|
+
renderer.render(pool.blurPlane, pool.shadowCamera);
|
|
6696
|
+
pool.blurPlane.visible = false;
|
|
6842
6697
|
}
|
|
6843
|
-
function update(ps, scene, renderer, pool
|
|
6844
|
-
const { renderTarget, shadowCamera, depthMaterial } = pool
|
|
6698
|
+
function update(ps, scene, renderer, pool) {
|
|
6699
|
+
const { renderTarget, shadowCamera, depthMaterial } = pool;
|
|
6845
6700
|
const initialBackground = scene.background;
|
|
6846
6701
|
scene.background = null;
|
|
6847
6702
|
scene.overrideMaterial = depthMaterial;
|
|
@@ -6850,8 +6705,8 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
6850
6705
|
renderer.setRenderTarget(renderTarget);
|
|
6851
6706
|
renderer.render(scene, shadowCamera);
|
|
6852
6707
|
scene.overrideMaterial = null;
|
|
6853
|
-
blurShadow(ps.blur, renderer, pool
|
|
6854
|
-
if (ps.smooth) blurShadow(ps.blur * .4, renderer, pool
|
|
6708
|
+
blurShadow(ps.blur, renderer, pool);
|
|
6709
|
+
if (ps.smooth) blurShadow(ps.blur * .4, renderer, pool);
|
|
6855
6710
|
renderer.setRenderTarget(null);
|
|
6856
6711
|
renderer.setClearAlpha(initialClearAlpha);
|
|
6857
6712
|
scene.background = initialBackground;
|
|
@@ -6863,13 +6718,14 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
6863
6718
|
const renderTargetBlur = new WebGLRenderTarget(p.resolution, p.resolution);
|
|
6864
6719
|
renderTargetBlur.texture.generateMipmaps = false;
|
|
6865
6720
|
const planeGeometry = new PlaneGeometry(p.width, p.height).rotateX(Math.PI / 2);
|
|
6866
|
-
const
|
|
6721
|
+
const planeMaterial = new MeshBasicMaterial({
|
|
6867
6722
|
map: renderTarget.texture,
|
|
6868
6723
|
opacity: p.opacity,
|
|
6869
6724
|
transparent: true,
|
|
6870
6725
|
depthWrite: p.depthWrite,
|
|
6871
6726
|
color: new Color(p.color ?? "black")
|
|
6872
|
-
})
|
|
6727
|
+
});
|
|
6728
|
+
const plane = new Mesh(planeGeometry, planeMaterial);
|
|
6873
6729
|
shadowGroup.add(plane);
|
|
6874
6730
|
plane.scale.y = -1;
|
|
6875
6731
|
const blurPlane = new Mesh(planeGeometry);
|
|
@@ -6895,32 +6751,32 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
6895
6751
|
blurPlane
|
|
6896
6752
|
};
|
|
6897
6753
|
}
|
|
6898
|
-
function setSize(ps, pool
|
|
6754
|
+
function setSize(ps, pool) {
|
|
6899
6755
|
const w = ps.width * (Array.isArray(ps.scale) ? ps.scale[0] : ps.scale || 1);
|
|
6900
6756
|
const h = ps.height * (Array.isArray(ps.scale) ? ps.scale[1] : ps.scale || 1);
|
|
6901
|
-
const shadowCamera = pool
|
|
6757
|
+
const shadowCamera = pool.shadowCamera;
|
|
6902
6758
|
shadowCamera.left = -w / 2;
|
|
6903
6759
|
shadowCamera.right = w / 2;
|
|
6904
6760
|
shadowCamera.top = h / 2;
|
|
6905
6761
|
shadowCamera.bottom = -h / 2;
|
|
6906
6762
|
shadowCamera.far = ps.far;
|
|
6907
6763
|
shadowCamera.updateProjectionMatrix();
|
|
6908
|
-
pool
|
|
6764
|
+
pool.shadowGroup.scale.set(w, ps.far, h);
|
|
6909
6765
|
}
|
|
6910
|
-
function setResolution(resolution, pool
|
|
6911
|
-
pool
|
|
6912
|
-
pool
|
|
6913
|
-
pool
|
|
6914
|
-
pool
|
|
6915
|
-
pool
|
|
6916
|
-
pool
|
|
6917
|
-
pool
|
|
6766
|
+
function setResolution(resolution, pool) {
|
|
6767
|
+
pool.renderTarget.dispose();
|
|
6768
|
+
pool.renderTargetBlur.dispose();
|
|
6769
|
+
pool.renderTarget = new WebGLRenderTarget(resolution, resolution);
|
|
6770
|
+
pool.renderTarget.texture.generateMipmaps = false;
|
|
6771
|
+
pool.renderTargetBlur = new WebGLRenderTarget(resolution, resolution);
|
|
6772
|
+
pool.renderTargetBlur.texture.generateMipmaps = false;
|
|
6773
|
+
pool.plane.material.map = pool.renderTarget.texture;
|
|
6918
6774
|
}
|
|
6919
|
-
function setColors(ps, pool
|
|
6920
|
-
pool
|
|
6921
|
-
pool
|
|
6922
|
-
pool
|
|
6923
|
-
pool
|
|
6775
|
+
function setColors(ps, pool) {
|
|
6776
|
+
pool.plane.material.color = new Color(ps.color ?? "black");
|
|
6777
|
+
pool.depthMaterial.dispose();
|
|
6778
|
+
pool.depthMaterial = new MeshDepthMaterial();
|
|
6779
|
+
pool.depthMaterial.onBeforeCompile = function(shader) {
|
|
6924
6780
|
const { r, g, b } = ps.tint ? new Color(ps.tint) : new Color("white");
|
|
6925
6781
|
shader.fragmentShader = shader.fragmentShader.replace("gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );", `gl_FragColor = vec4( ${r}, ${g}, ${b}, ( 1.0 - fragCoordZ ) * opacity);`);
|
|
6926
6782
|
};
|
|
@@ -6971,11 +6827,6 @@ var ContactShadows_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
6971
6827
|
};
|
|
6972
6828
|
}
|
|
6973
6829
|
});
|
|
6974
|
-
|
|
6975
|
-
//#endregion
|
|
6976
|
-
//#region src/core/light-shadow/ContactShadows.vue
|
|
6977
|
-
var ContactShadows_default = ContactShadows_vue_vue_type_script_setup_true_lang_default;
|
|
6978
|
-
|
|
6979
6830
|
//#endregion
|
|
6980
6831
|
//#region src/core/light-shadow/Lensflare/LensflareImpl.ts
|
|
6981
6832
|
var Lensflare = class Lensflare extends Mesh {
|
|
@@ -7135,14 +6986,14 @@ var Lensflare = class Lensflare extends Mesh {
|
|
|
7135
6986
|
const vecY = -positionScreen.y * 2;
|
|
7136
6987
|
for (let i = 0, l = elements.length; i < l; i++) {
|
|
7137
6988
|
const element = elements[i];
|
|
7138
|
-
const uniforms
|
|
7139
|
-
uniforms
|
|
7140
|
-
uniforms
|
|
7141
|
-
uniforms
|
|
7142
|
-
uniforms
|
|
6989
|
+
const uniforms = material2.uniforms;
|
|
6990
|
+
uniforms.color.value.copy(element.color);
|
|
6991
|
+
uniforms.map.value = element.texture;
|
|
6992
|
+
uniforms.screenPosition.value.x = positionScreen.x + vecX * element.distance;
|
|
6993
|
+
uniforms.screenPosition.value.y = positionScreen.y + vecY * element.distance;
|
|
7143
6994
|
size = element.size / viewport.w;
|
|
7144
|
-
const invAspect
|
|
7145
|
-
uniforms
|
|
6995
|
+
const invAspect = viewport.w / viewport.z;
|
|
6996
|
+
uniforms.scale.value.set(size * invAspect, size);
|
|
7146
6997
|
material2.uniformsNeedUpdate = true;
|
|
7147
6998
|
renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null);
|
|
7148
6999
|
}
|
|
@@ -7164,8 +7015,8 @@ var LensflareElement = class {
|
|
|
7164
7015
|
distance;
|
|
7165
7016
|
color;
|
|
7166
7017
|
static Shader;
|
|
7167
|
-
constructor(texture
|
|
7168
|
-
this.texture = texture
|
|
7018
|
+
constructor(texture, size = 1, distance = 0, color = new Color(16777215)) {
|
|
7019
|
+
this.texture = texture;
|
|
7169
7020
|
this.size = size;
|
|
7170
7021
|
this.distance = distance;
|
|
7171
7022
|
this.color = color;
|
|
@@ -7239,7 +7090,7 @@ LensflareElement.Shader = {
|
|
|
7239
7090
|
};
|
|
7240
7091
|
Lensflare.Geometry = (function() {
|
|
7241
7092
|
const geometry = new BufferGeometry();
|
|
7242
|
-
const
|
|
7093
|
+
const float32Array = new Float32Array([
|
|
7243
7094
|
-1,
|
|
7244
7095
|
-1,
|
|
7245
7096
|
0,
|
|
@@ -7260,7 +7111,8 @@ Lensflare.Geometry = (function() {
|
|
|
7260
7111
|
0,
|
|
7261
7112
|
0,
|
|
7262
7113
|
1
|
|
7263
|
-
])
|
|
7114
|
+
]);
|
|
7115
|
+
const interleavedBuffer = new InterleavedBuffer(float32Array, 5);
|
|
7264
7116
|
geometry.setIndex([
|
|
7265
7117
|
0,
|
|
7266
7118
|
1,
|
|
@@ -7273,7 +7125,6 @@ Lensflare.Geometry = (function() {
|
|
|
7273
7125
|
geometry.setAttribute("uv", new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false));
|
|
7274
7126
|
return geometry;
|
|
7275
7127
|
})();
|
|
7276
|
-
|
|
7277
7128
|
//#endregion
|
|
7278
7129
|
//#region src/utils/easing.ts
|
|
7279
7130
|
function linear(x) {
|
|
@@ -7296,7 +7147,6 @@ function easeOutBounce(x) {
|
|
|
7296
7147
|
else if (x < 2.5 / d1) return n1 * (x -= 2.25 / d1) * x + .9375;
|
|
7297
7148
|
else return n1 * (x -= 2.625 / d1) * x + .984375;
|
|
7298
7149
|
}
|
|
7299
|
-
|
|
7300
7150
|
//#endregion
|
|
7301
7151
|
//#region src/core/light-shadow/Lensflare/constants.ts
|
|
7302
7152
|
const TEXTURE_PATH = "https://raw.githubusercontent.com/Tresjs/assets/93976c7d63ac83d4a254a41a10b2362bc17e90c9/textures/lensflare/";
|
|
@@ -7343,51 +7193,49 @@ const bodyOptional = {
|
|
|
7343
7193
|
length: [2, 3]
|
|
7344
7194
|
};
|
|
7345
7195
|
const [darkPurple, darkBlue] = [3679071, 132442];
|
|
7346
|
-
const front = {
|
|
7347
|
-
texture: [
|
|
7348
|
-
circleBlur,
|
|
7349
|
-
circle,
|
|
7350
|
-
ring,
|
|
7351
|
-
poly6,
|
|
7352
|
-
polyStroke6
|
|
7353
|
-
],
|
|
7354
|
-
color: [
|
|
7355
|
-
"dimgray",
|
|
7356
|
-
"gray",
|
|
7357
|
-
"darkgray",
|
|
7358
|
-
darkPurple,
|
|
7359
|
-
darkBlue
|
|
7360
|
-
],
|
|
7361
|
-
distance: [.5, 2.5],
|
|
7362
|
-
size: [20, 180],
|
|
7363
|
-
length: [5, 21]
|
|
7364
|
-
};
|
|
7365
|
-
const back = {
|
|
7366
|
-
texture: [
|
|
7367
|
-
circleBlur,
|
|
7368
|
-
circle,
|
|
7369
|
-
ring,
|
|
7370
|
-
poly6,
|
|
7371
|
-
polyStroke6
|
|
7372
|
-
],
|
|
7373
|
-
color: [
|
|
7374
|
-
"dimgray",
|
|
7375
|
-
"gray",
|
|
7376
|
-
"darkgray",
|
|
7377
|
-
darkPurple,
|
|
7378
|
-
darkBlue
|
|
7379
|
-
],
|
|
7380
|
-
distance: [-.6, -.1],
|
|
7381
|
-
size: [180, 360],
|
|
7382
|
-
length: [0, 5]
|
|
7383
|
-
};
|
|
7384
7196
|
const defaultSeedProps = [
|
|
7385
7197
|
oversize,
|
|
7386
7198
|
bodyRequired0,
|
|
7387
7199
|
bodyRequired1,
|
|
7388
7200
|
bodyOptional,
|
|
7389
|
-
|
|
7390
|
-
|
|
7201
|
+
{
|
|
7202
|
+
texture: [
|
|
7203
|
+
circleBlur,
|
|
7204
|
+
circle,
|
|
7205
|
+
ring,
|
|
7206
|
+
poly6,
|
|
7207
|
+
polyStroke6
|
|
7208
|
+
],
|
|
7209
|
+
color: [
|
|
7210
|
+
"dimgray",
|
|
7211
|
+
"gray",
|
|
7212
|
+
"darkgray",
|
|
7213
|
+
darkPurple,
|
|
7214
|
+
darkBlue
|
|
7215
|
+
],
|
|
7216
|
+
distance: [.5, 2.5],
|
|
7217
|
+
size: [20, 180],
|
|
7218
|
+
length: [5, 21]
|
|
7219
|
+
},
|
|
7220
|
+
{
|
|
7221
|
+
texture: [
|
|
7222
|
+
circleBlur,
|
|
7223
|
+
circle,
|
|
7224
|
+
ring,
|
|
7225
|
+
poly6,
|
|
7226
|
+
polyStroke6
|
|
7227
|
+
],
|
|
7228
|
+
color: [
|
|
7229
|
+
"dimgray",
|
|
7230
|
+
"gray",
|
|
7231
|
+
"darkgray",
|
|
7232
|
+
darkPurple,
|
|
7233
|
+
darkBlue
|
|
7234
|
+
],
|
|
7235
|
+
distance: [-.6, -.1],
|
|
7236
|
+
size: [180, 360],
|
|
7237
|
+
length: [0, 5]
|
|
7238
|
+
}
|
|
7391
7239
|
];
|
|
7392
7240
|
const defaultLensflareElementProps = {
|
|
7393
7241
|
color: "white",
|
|
@@ -7395,7 +7243,6 @@ const defaultLensflareElementProps = {
|
|
|
7395
7243
|
size: 512,
|
|
7396
7244
|
texture: circleBlur
|
|
7397
7245
|
};
|
|
7398
|
-
|
|
7399
7246
|
//#endregion
|
|
7400
7247
|
//#region src/core/light-shadow/Lensflare/RandUtils.ts
|
|
7401
7248
|
const clamp = MathUtils.clamp;
|
|
@@ -7508,7 +7355,6 @@ var RandUtils = class {
|
|
|
7508
7355
|
};
|
|
7509
7356
|
}
|
|
7510
7357
|
};
|
|
7511
|
-
|
|
7512
7358
|
//#endregion
|
|
7513
7359
|
//#region src/core/light-shadow/Lensflare/index.ts
|
|
7514
7360
|
const easingFunctions = [
|
|
@@ -7568,10 +7414,9 @@ const partialLensflarePropsArrayToLensflarePropsArray = (elements, userDefaultEl
|
|
|
7568
7414
|
const _seedProps = seedProps === void 0 || seedProps.length === 0 ? defaultSeedProps : seedProps;
|
|
7569
7415
|
return getSeededRandomProps(seed ?? 0, _seedProps).map((props) => Object.assign({}, props, userDefaultElement));
|
|
7570
7416
|
};
|
|
7571
|
-
|
|
7572
7417
|
//#endregion
|
|
7573
|
-
//#region src/core/light-shadow/Lensflare/component.vue
|
|
7574
|
-
var
|
|
7418
|
+
//#region src/core/light-shadow/Lensflare/component.vue
|
|
7419
|
+
var component_default$10 = /* @__PURE__ */ defineComponent({
|
|
7575
7420
|
__name: "component",
|
|
7576
7421
|
props: {
|
|
7577
7422
|
scale: {
|
|
@@ -7659,17 +7504,17 @@ var component_vue_vue_type_script_setup_true_lang_default$12 = /* @__PURE__ */ d
|
|
|
7659
7504
|
}
|
|
7660
7505
|
lensflareElementPropsArrayRef.value.forEach((elementProps, i) => {
|
|
7661
7506
|
const threeElement = threeElements[i];
|
|
7662
|
-
const { texture
|
|
7663
|
-
if (typeof texture
|
|
7664
|
-
if (threeElement.texture.name !== texture
|
|
7507
|
+
const { texture, size, distance, color } = elementProps;
|
|
7508
|
+
if (typeof texture === "string") {
|
|
7509
|
+
if (threeElement.texture.name !== texture) {
|
|
7665
7510
|
threeElement.texture.dispose();
|
|
7666
|
-
const name = texture
|
|
7511
|
+
const name = texture;
|
|
7667
7512
|
threeElement.texture = textureLoader.load(name);
|
|
7668
7513
|
threeElement.texture.name = name;
|
|
7669
7514
|
}
|
|
7670
|
-
} else if (threeElement.texture !== texture
|
|
7515
|
+
} else if (threeElement.texture !== texture) {
|
|
7671
7516
|
threeElement.texture.dispose();
|
|
7672
|
-
threeElement.texture = texture
|
|
7517
|
+
threeElement.texture = texture;
|
|
7673
7518
|
}
|
|
7674
7519
|
threeElement.size = size;
|
|
7675
7520
|
threeElement.distance = distance;
|
|
@@ -7712,17 +7557,14 @@ var component_vue_vue_type_script_setup_true_lang_default$12 = /* @__PURE__ */ d
|
|
|
7712
7557
|
};
|
|
7713
7558
|
}
|
|
7714
7559
|
});
|
|
7715
|
-
|
|
7716
|
-
//#endregion
|
|
7717
|
-
//#region src/core/light-shadow/Lensflare/component.vue
|
|
7718
|
-
var component_default$10 = component_vue_vue_type_script_setup_true_lang_default$12;
|
|
7719
|
-
|
|
7720
7560
|
//#endregion
|
|
7721
7561
|
//#region src/core/light-shadow/SoftShadows.vue?vue&type=script&setup=true&lang.ts
|
|
7722
7562
|
const PCSSGetShadow = `
|
|
7723
7563
|
return PCSS( shadowMap, shadowCoord );
|
|
7724
7564
|
`;
|
|
7725
|
-
|
|
7565
|
+
//#endregion
|
|
7566
|
+
//#region src/core/light-shadow/SoftShadows.vue
|
|
7567
|
+
var SoftShadows_default = /* @__PURE__ */ defineComponent({
|
|
7726
7568
|
__name: "SoftShadows",
|
|
7727
7569
|
props: {
|
|
7728
7570
|
size: {
|
|
@@ -7846,26 +7688,26 @@ float PCSS (sampler2D shadowMap, vec4 coords) {
|
|
|
7846
7688
|
}`;
|
|
7847
7689
|
const originalShadowsFragment = ShaderChunk.shadowmap_pars_fragment;
|
|
7848
7690
|
const { renderer, scene, camera } = useTres();
|
|
7849
|
-
function injectSoftShadowsFragment(renderer
|
|
7691
|
+
function injectSoftShadowsFragment(renderer, props) {
|
|
7850
7692
|
let shader = originalShadowsFragment;
|
|
7851
7693
|
shader = shader.replace("#ifdef USE_SHADOWMAP", `#ifdef USE_SHADOWMAP
|
|
7852
|
-
${getPcss(props
|
|
7694
|
+
${getPcss(props)}`);
|
|
7853
7695
|
shader = shader.replace("#if defined( SHADOWMAP_TYPE_PCF )", `${PCSSGetShadow}
|
|
7854
7696
|
#if defined( SHADOWMAP_TYPE_PCF )`);
|
|
7855
7697
|
ShaderChunk.shadowmap_pars_fragment = shader;
|
|
7856
|
-
renderer
|
|
7698
|
+
renderer.shadowMap.enabled = true;
|
|
7857
7699
|
}
|
|
7858
|
-
function reset(renderer
|
|
7859
|
-
if (renderer
|
|
7860
|
-
scene
|
|
7700
|
+
function reset(renderer, scene, camera) {
|
|
7701
|
+
if (renderer instanceof WebGLRenderer) {
|
|
7702
|
+
scene.traverse((object) => {
|
|
7861
7703
|
if ("material" in object && object.material) {
|
|
7862
|
-
renderer
|
|
7704
|
+
renderer.properties.remove(object.material);
|
|
7863
7705
|
if (typeof object.material === "object" && "dispose" in object.material && typeof object.material.dispose === "function") object.material.dispose?.();
|
|
7864
7706
|
}
|
|
7865
7707
|
});
|
|
7866
|
-
if (renderer
|
|
7708
|
+
if (renderer.info.programs) renderer.info.programs.length = 0;
|
|
7867
7709
|
}
|
|
7868
|
-
renderer
|
|
7710
|
+
renderer.compile(scene, camera);
|
|
7869
7711
|
}
|
|
7870
7712
|
onUnmounted(() => {
|
|
7871
7713
|
if (camera.value) {
|
|
@@ -7884,11 +7726,6 @@ float PCSS (sampler2D shadowMap, vec4 coords) {
|
|
|
7884
7726
|
};
|
|
7885
7727
|
}
|
|
7886
7728
|
});
|
|
7887
|
-
|
|
7888
|
-
//#endregion
|
|
7889
|
-
//#region src/core/light-shadow/SoftShadows.vue
|
|
7890
|
-
var SoftShadows_default = SoftShadows_vue_vue_type_script_setup_true_lang_default;
|
|
7891
|
-
|
|
7892
7729
|
//#endregion
|
|
7893
7730
|
//#region src/core/loaders/useSVG/index.ts
|
|
7894
7731
|
/**
|
|
@@ -7909,10 +7746,11 @@ var SoftShadows_default = SoftShadows_vue_vue_type_script_setup_true_lang_defaul
|
|
|
7909
7746
|
*/
|
|
7910
7747
|
function useSVG(path, options = {}) {
|
|
7911
7748
|
const { skipStrokes = false, skipFills = false, fillMaterial = {}, strokeMaterial = {}, depth = "renderOrder" } = options;
|
|
7912
|
-
const
|
|
7749
|
+
const processedPath = computed(() => {
|
|
7913
7750
|
const pathValue = typeof path === "string" ? path : path.value;
|
|
7914
7751
|
return !pathValue.startsWith("<svg") ? pathValue : encodeURI(`data:image/svg+xml;utf8,${pathValue}`);
|
|
7915
|
-
})
|
|
7752
|
+
});
|
|
7753
|
+
const result = useLoader(SVGLoader, processedPath, {});
|
|
7916
7754
|
/**
|
|
7917
7755
|
* Process SVG paths into renderable layers
|
|
7918
7756
|
*/
|
|
@@ -7932,8 +7770,8 @@ function useSVG(path, options = {}) {
|
|
|
7932
7770
|
}[depth]];
|
|
7933
7771
|
})();
|
|
7934
7772
|
let layerIndex = 0;
|
|
7935
|
-
for (const path
|
|
7936
|
-
const style = path
|
|
7773
|
+
for (const path of paths) {
|
|
7774
|
+
const style = path.userData?.style ?? {};
|
|
7937
7775
|
if (!skipFills && style.fill !== void 0 && style.fill !== "none") {
|
|
7938
7776
|
const fillMat = {
|
|
7939
7777
|
color: style.fill,
|
|
@@ -7943,7 +7781,7 @@ function useSVG(path, options = {}) {
|
|
|
7943
7781
|
depthWrite,
|
|
7944
7782
|
...fillMaterial
|
|
7945
7783
|
};
|
|
7946
|
-
for (const shape of SVGLoader.createShapes(path
|
|
7784
|
+
for (const shape of SVGLoader.createShapes(path)) {
|
|
7947
7785
|
const geometry = new ShapeGeometry(shape);
|
|
7948
7786
|
geometry.scale(1, -1, 1);
|
|
7949
7787
|
if (offsetZ) geometry.translate(0, 0, layerIndex * offsetZ);
|
|
@@ -7964,8 +7802,8 @@ function useSVG(path, options = {}) {
|
|
|
7964
7802
|
depthWrite,
|
|
7965
7803
|
...strokeMaterial
|
|
7966
7804
|
};
|
|
7967
|
-
for (const subPath of path
|
|
7968
|
-
const points = subPath.getPoints().map((v2
|
|
7805
|
+
for (const subPath of path.subPaths) {
|
|
7806
|
+
const points = subPath.getPoints().map((v2) => new Vector2(v2.x, -v2.y));
|
|
7969
7807
|
const geometry = SVGLoader.pointsToStroke(points, style);
|
|
7970
7808
|
if (offsetZ) geometry.translate(0, 0, layerIndex * offsetZ);
|
|
7971
7809
|
_layers.push({
|
|
@@ -7991,12 +7829,13 @@ function useSVG(path, options = {}) {
|
|
|
7991
7829
|
dispose
|
|
7992
7830
|
};
|
|
7993
7831
|
}
|
|
7994
|
-
|
|
7995
7832
|
//#endregion
|
|
7996
7833
|
//#region src/core/loaders/useSVG/component.vue?vue&type=script&setup=true&lang.ts
|
|
7997
7834
|
const _hoisted_1$48 = { key: 0 };
|
|
7998
7835
|
const _hoisted_2$26 = ["geometry", "render-order"];
|
|
7999
|
-
|
|
7836
|
+
//#endregion
|
|
7837
|
+
//#region src/core/loaders/useSVG/component.vue
|
|
7838
|
+
var component_default$17 = /* @__PURE__ */ defineComponent({
|
|
8000
7839
|
__name: "component",
|
|
8001
7840
|
props: {
|
|
8002
7841
|
src: {
|
|
@@ -8061,11 +7900,6 @@ var component_vue_vue_type_script_setup_true_lang_default$11 = /* @__PURE__ */ d
|
|
|
8061
7900
|
};
|
|
8062
7901
|
}
|
|
8063
7902
|
});
|
|
8064
|
-
|
|
8065
|
-
//#endregion
|
|
8066
|
-
//#region src/core/loaders/useSVG/component.vue
|
|
8067
|
-
var component_default$17 = component_vue_vue_type_script_setup_true_lang_default$11;
|
|
8068
|
-
|
|
8069
7903
|
//#endregion
|
|
8070
7904
|
//#region src/core/loaders/useFBX/index.ts
|
|
8071
7905
|
/**
|
|
@@ -8100,11 +7934,12 @@ function useFBX(path, options) {
|
|
|
8100
7934
|
materials
|
|
8101
7935
|
};
|
|
8102
7936
|
}
|
|
8103
|
-
|
|
8104
7937
|
//#endregion
|
|
8105
7938
|
//#region src/core/loaders/useFBX/component.vue?vue&type=script&setup=true&lang.ts
|
|
8106
7939
|
const _hoisted_1$47 = ["object"];
|
|
8107
|
-
|
|
7940
|
+
//#endregion
|
|
7941
|
+
//#region src/core/loaders/useFBX/component.vue
|
|
7942
|
+
var component_default$5 = /* @__PURE__ */ defineComponent({
|
|
8108
7943
|
__name: "component",
|
|
8109
7944
|
props: {
|
|
8110
7945
|
path: {
|
|
@@ -8142,11 +7977,6 @@ var component_vue_vue_type_script_setup_true_lang_default$10 = /* @__PURE__ */ d
|
|
|
8142
7977
|
};
|
|
8143
7978
|
}
|
|
8144
7979
|
});
|
|
8145
|
-
|
|
8146
|
-
//#endregion
|
|
8147
|
-
//#region src/core/loaders/useFBX/component.vue
|
|
8148
|
-
var component_default$5 = component_vue_vue_type_script_setup_true_lang_default$10;
|
|
8149
|
-
|
|
8150
7980
|
//#endregion
|
|
8151
7981
|
//#region src/core/loaders/useGLTF/index.ts
|
|
8152
7982
|
/**
|
|
@@ -8201,11 +8031,12 @@ function useGLTF(path, options) {
|
|
|
8201
8031
|
materials
|
|
8202
8032
|
};
|
|
8203
8033
|
}
|
|
8204
|
-
|
|
8205
8034
|
//#endregion
|
|
8206
8035
|
//#region src/core/loaders/useGLTF/component.vue?vue&type=script&setup=true&lang.ts
|
|
8207
8036
|
const _hoisted_1$46 = ["object"];
|
|
8208
|
-
|
|
8037
|
+
//#endregion
|
|
8038
|
+
//#region src/core/loaders/useGLTF/component.vue
|
|
8039
|
+
var component_default$7 = /* @__PURE__ */ defineComponent({
|
|
8209
8040
|
__name: "component",
|
|
8210
8041
|
props: {
|
|
8211
8042
|
path: {
|
|
@@ -8256,20 +8087,14 @@ var component_vue_vue_type_script_setup_true_lang_default$9 = /* @__PURE__ */ de
|
|
|
8256
8087
|
};
|
|
8257
8088
|
}
|
|
8258
8089
|
});
|
|
8259
|
-
|
|
8260
|
-
//#endregion
|
|
8261
|
-
//#region src/core/loaders/useGLTF/component.vue
|
|
8262
|
-
var component_default$7 = component_vue_vue_type_script_setup_true_lang_default$9;
|
|
8263
|
-
|
|
8264
8090
|
//#endregion
|
|
8265
8091
|
//#region src/core/loaders/useTexture/index.ts
|
|
8266
8092
|
function useTexture(path) {
|
|
8267
8093
|
return useLoader(TextureLoader, path, { initialValue: new Texture() });
|
|
8268
8094
|
}
|
|
8269
|
-
|
|
8270
8095
|
//#endregion
|
|
8271
|
-
//#region src/core/loaders/useTexture/component.vue
|
|
8272
|
-
var
|
|
8096
|
+
//#region src/core/loaders/useTexture/component.vue
|
|
8097
|
+
var component_default$18 = /* @__PURE__ */ defineComponent({
|
|
8273
8098
|
__name: "component",
|
|
8274
8099
|
props: {
|
|
8275
8100
|
path: {
|
|
@@ -8285,27 +8110,22 @@ var component_vue_vue_type_script_setup_true_lang_default$8 = /* @__PURE__ */ de
|
|
|
8285
8110
|
setup(__props, { emit: __emit }) {
|
|
8286
8111
|
const props = __props;
|
|
8287
8112
|
const emit = __emit;
|
|
8288
|
-
const { state: texture
|
|
8113
|
+
const { state: texture, isLoading, error } = useTexture(props.path);
|
|
8289
8114
|
whenever(error, (err) => {
|
|
8290
8115
|
if (err) emit("error", err);
|
|
8291
8116
|
});
|
|
8292
|
-
whenever(texture
|
|
8117
|
+
whenever(texture, (value) => {
|
|
8293
8118
|
if (value) emit("loaded", value);
|
|
8294
8119
|
});
|
|
8295
8120
|
return (_ctx, _cache) => {
|
|
8296
8121
|
return renderSlot(_ctx.$slots, "default", {
|
|
8297
|
-
state: unref(texture
|
|
8122
|
+
state: unref(texture),
|
|
8298
8123
|
isLoading: unref(isLoading),
|
|
8299
8124
|
error: unref(error)
|
|
8300
8125
|
});
|
|
8301
8126
|
};
|
|
8302
8127
|
}
|
|
8303
8128
|
});
|
|
8304
|
-
|
|
8305
|
-
//#endregion
|
|
8306
|
-
//#region src/core/loaders/useTexture/component.vue
|
|
8307
|
-
var component_default$18 = component_vue_vue_type_script_setup_true_lang_default$8;
|
|
8308
|
-
|
|
8309
8129
|
//#endregion
|
|
8310
8130
|
//#region src/core/loaders/useProgress.ts
|
|
8311
8131
|
let saveLastTotalLoaded = 0;
|
|
@@ -8340,7 +8160,6 @@ function useProgress() {
|
|
|
8340
8160
|
});
|
|
8341
8161
|
});
|
|
8342
8162
|
}
|
|
8343
|
-
|
|
8344
8163
|
//#endregion
|
|
8345
8164
|
//#region src/core/loaders/useVideoTexture.ts
|
|
8346
8165
|
/**
|
|
@@ -8391,21 +8210,20 @@ async function useVideoTexture(src, options) {
|
|
|
8391
8210
|
autoplay: true,
|
|
8392
8211
|
...rest
|
|
8393
8212
|
});
|
|
8394
|
-
const texture
|
|
8395
|
-
video.addEventListener(unsuspend, () => resolve(texture
|
|
8213
|
+
const texture = new VideoTexture(video);
|
|
8214
|
+
video.addEventListener(unsuspend, () => resolve(texture));
|
|
8396
8215
|
video.addEventListener("error", () => reject(/* @__PURE__ */ new Error("Error loading video")));
|
|
8397
|
-
return texture
|
|
8216
|
+
return texture;
|
|
8398
8217
|
});
|
|
8399
8218
|
}
|
|
8400
8219
|
try {
|
|
8401
|
-
const texture
|
|
8402
|
-
if (start && texture
|
|
8403
|
-
return texture
|
|
8220
|
+
const texture = await loadTexture();
|
|
8221
|
+
if (start && texture.image) texture.image.play();
|
|
8222
|
+
return texture;
|
|
8404
8223
|
} catch {
|
|
8405
8224
|
logError("Error loading resource");
|
|
8406
8225
|
}
|
|
8407
8226
|
}
|
|
8408
|
-
|
|
8409
8227
|
//#endregion
|
|
8410
8228
|
//#region src/core/loaders/useTextures/index.ts
|
|
8411
8229
|
/**
|
|
@@ -8451,11 +8269,12 @@ function useTextures(paths) {
|
|
|
8451
8269
|
})
|
|
8452
8270
|
};
|
|
8453
8271
|
}
|
|
8454
|
-
|
|
8455
8272
|
//#endregion
|
|
8456
8273
|
//#region src/core/materials/customShaderMaterial/index.vue?vue&type=script&setup=true&lang.ts
|
|
8457
8274
|
const _hoisted_1$45 = ["args"];
|
|
8458
|
-
|
|
8275
|
+
//#endregion
|
|
8276
|
+
//#region src/core/materials/customShaderMaterial/index.vue
|
|
8277
|
+
var customShaderMaterial_default = /* @__PURE__ */ defineComponent({
|
|
8459
8278
|
__name: "index",
|
|
8460
8279
|
props: {
|
|
8461
8280
|
baseMaterial: {
|
|
@@ -8482,8 +8301,8 @@ var index_vue_vue_type_script_setup_true_lang_default$8 = /* @__PURE__ */ define
|
|
|
8482
8301
|
setup(__props, { expose: __expose }) {
|
|
8483
8302
|
const props = __props;
|
|
8484
8303
|
const customShaderMaterialClass = shallowRef(null);
|
|
8485
|
-
const { extend
|
|
8486
|
-
extend
|
|
8304
|
+
const { extend, invalidate } = useTres();
|
|
8305
|
+
extend({ CustomShaderMaterial });
|
|
8487
8306
|
watch(props, () => {
|
|
8488
8307
|
invalidate();
|
|
8489
8308
|
});
|
|
@@ -8497,11 +8316,6 @@ var index_vue_vue_type_script_setup_true_lang_default$8 = /* @__PURE__ */ define
|
|
|
8497
8316
|
};
|
|
8498
8317
|
}
|
|
8499
8318
|
});
|
|
8500
|
-
|
|
8501
|
-
//#endregion
|
|
8502
|
-
//#region src/core/materials/customShaderMaterial/index.vue
|
|
8503
|
-
var customShaderMaterial_default = index_vue_vue_type_script_setup_true_lang_default$8;
|
|
8504
|
-
|
|
8505
8319
|
//#endregion
|
|
8506
8320
|
//#region src/core/materials/holographicMaterial/HolographicMaterialParameters.ts
|
|
8507
8321
|
var HolographicMaterial = class extends ShaderMaterial {
|
|
@@ -8653,15 +8467,65 @@ var HolographicMaterial = class extends ShaderMaterial {
|
|
|
8653
8467
|
|
|
8654
8468
|
}`;
|
|
8655
8469
|
this.uniforms = {
|
|
8470
|
+
/**
|
|
8471
|
+
* The time uniform representing animation time.
|
|
8472
|
+
* @type {Uniform<number>}
|
|
8473
|
+
* @default 0.0
|
|
8474
|
+
*/
|
|
8656
8475
|
time: new Uniform(0),
|
|
8476
|
+
/**
|
|
8477
|
+
* The opacity for the fresnel effect.
|
|
8478
|
+
* @type {Uniform<number>}
|
|
8479
|
+
* @default 1.0
|
|
8480
|
+
*/
|
|
8657
8481
|
fresnelOpacity: new Uniform(parameters.fresnelOpacity !== void 0 ? parameters.fresnelOpacity : 1),
|
|
8482
|
+
/**
|
|
8483
|
+
* The strength of the fresnel effect.
|
|
8484
|
+
* @type {Uniform<number>}
|
|
8485
|
+
* @default 1.0
|
|
8486
|
+
*/
|
|
8658
8487
|
fresnelAmount: new Uniform(parameters.fresnelAmount !== void 0 ? parameters.fresnelAmount : .45),
|
|
8488
|
+
/**
|
|
8489
|
+
* The size of the scanline effect.
|
|
8490
|
+
* @type {Uniform<number>}
|
|
8491
|
+
* @default 1.0
|
|
8492
|
+
*/
|
|
8659
8493
|
scanlineSize: new Uniform(parameters.scanlineSize !== void 0 ? parameters.scanlineSize : 8),
|
|
8494
|
+
/**
|
|
8495
|
+
* The brightness of the hologram.
|
|
8496
|
+
* @type {Uniform<number>}
|
|
8497
|
+
* @default 1.0
|
|
8498
|
+
*/
|
|
8660
8499
|
hologramBrightness: new Uniform(parameters.hologramBrightness !== void 0 ? parameters.hologramBrightness : 1),
|
|
8500
|
+
/**
|
|
8501
|
+
* The speed of the signal effect.
|
|
8502
|
+
* @type {Uniform<number>}
|
|
8503
|
+
* @default 1.0
|
|
8504
|
+
*/
|
|
8661
8505
|
signalSpeed: new Uniform(parameters.signalSpeed !== void 0 ? parameters.signalSpeed : 1),
|
|
8506
|
+
/**
|
|
8507
|
+
* The color of the hologram.
|
|
8508
|
+
* @type {Uniform<Color>}
|
|
8509
|
+
* @default new Color(0xFFFFFF)
|
|
8510
|
+
*/
|
|
8662
8511
|
hologramColor: new Uniform(parameters.hologramColor !== void 0 ? new Color(parameters.hologramColor) : new Color("#00d5ff")),
|
|
8512
|
+
/**
|
|
8513
|
+
* Enable/disable blinking effect.
|
|
8514
|
+
* @type {Uniform<boolean>}
|
|
8515
|
+
* @default true
|
|
8516
|
+
*/
|
|
8663
8517
|
enableBlinking: new Uniform(parameters.enableBlinking !== void 0 ? parameters.enableBlinking : true),
|
|
8518
|
+
/**
|
|
8519
|
+
* Enable blinking only on the fresnel effect.
|
|
8520
|
+
* @type {Uniform<boolean>}
|
|
8521
|
+
* @default false
|
|
8522
|
+
*/
|
|
8664
8523
|
blinkFresnelOnly: new Uniform(parameters.blinkFresnelOnly !== void 0 ? parameters.blinkFresnelOnly : true),
|
|
8524
|
+
/**
|
|
8525
|
+
* The opacity of the hologram.
|
|
8526
|
+
* @type {Uniform<number>}
|
|
8527
|
+
* @default 1.0
|
|
8528
|
+
*/
|
|
8665
8529
|
hologramOpacity: new Uniform(parameters.hologramOpacity !== void 0 ? parameters.hologramOpacity : 1)
|
|
8666
8530
|
};
|
|
8667
8531
|
this.clock = createTimer();
|
|
@@ -8677,8 +8541,6 @@ var HolographicMaterial = class extends ShaderMaterial {
|
|
|
8677
8541
|
this.uniforms.time.value = this.clock.getElapsed();
|
|
8678
8542
|
}
|
|
8679
8543
|
};
|
|
8680
|
-
var HolographicMaterialParameters_default = HolographicMaterial;
|
|
8681
|
-
|
|
8682
8544
|
//#endregion
|
|
8683
8545
|
//#region src/core/materials/holographicMaterial/index.vue?vue&type=script&setup=true&lang.ts
|
|
8684
8546
|
const _hoisted_1$44 = [
|
|
@@ -8694,7 +8556,9 @@ const _hoisted_1$44 = [
|
|
|
8694
8556
|
"enableAdditive",
|
|
8695
8557
|
"side"
|
|
8696
8558
|
];
|
|
8697
|
-
|
|
8559
|
+
//#endregion
|
|
8560
|
+
//#region src/core/materials/holographicMaterial/index.vue
|
|
8561
|
+
var holographicMaterial_default = /* @__PURE__ */ defineComponent({
|
|
8698
8562
|
__name: "index",
|
|
8699
8563
|
props: {
|
|
8700
8564
|
fresnelAmount: {
|
|
@@ -8756,11 +8620,11 @@ var index_vue_vue_type_script_setup_true_lang_default$7 = /* @__PURE__ */ define
|
|
|
8756
8620
|
setup(__props, { expose: __expose }) {
|
|
8757
8621
|
const props = __props;
|
|
8758
8622
|
const MeshHolographicMaterialClass = shallowRef();
|
|
8759
|
-
const { extend
|
|
8760
|
-
extend
|
|
8623
|
+
const { extend } = useTresContext();
|
|
8624
|
+
extend({ HolographicMaterial });
|
|
8761
8625
|
__expose({
|
|
8762
8626
|
root: MeshHolographicMaterialClass,
|
|
8763
|
-
constructor:
|
|
8627
|
+
constructor: HolographicMaterial
|
|
8764
8628
|
});
|
|
8765
8629
|
const colorValue = computed(() => new Color(props.hologramColor));
|
|
8766
8630
|
const { onBeforeRender } = useLoop();
|
|
@@ -8786,19 +8650,14 @@ var index_vue_vue_type_script_setup_true_lang_default$7 = /* @__PURE__ */ define
|
|
|
8786
8650
|
};
|
|
8787
8651
|
}
|
|
8788
8652
|
});
|
|
8789
|
-
|
|
8790
|
-
//#endregion
|
|
8791
|
-
//#region src/core/materials/holographicMaterial/index.vue
|
|
8792
|
-
var holographicMaterial_default = index_vue_vue_type_script_setup_true_lang_default$7;
|
|
8793
|
-
|
|
8794
8653
|
//#endregion
|
|
8795
|
-
//#region src/core/materials/meshDiscardMaterial/index.vue
|
|
8796
|
-
var
|
|
8654
|
+
//#region src/core/materials/meshDiscardMaterial/index.vue
|
|
8655
|
+
var meshDiscardMaterial_default = /* @__PURE__ */ defineComponent({
|
|
8797
8656
|
__name: "index",
|
|
8798
8657
|
setup(__props, { expose: __expose }) {
|
|
8799
8658
|
const meshDiscardMaterialRef = shallowRef();
|
|
8800
|
-
const { extend
|
|
8801
|
-
extend
|
|
8659
|
+
const { extend } = useTresContext();
|
|
8660
|
+
extend({ MeshDiscardMaterial });
|
|
8802
8661
|
__expose({ instance: meshDiscardMaterialRef });
|
|
8803
8662
|
return (_ctx, _cache) => {
|
|
8804
8663
|
return openBlock(), createElementBlock("TresMeshDiscardMaterial", {
|
|
@@ -8808,11 +8667,6 @@ var index_vue_vue_type_script_setup_true_lang_default$6 = /* @__PURE__ */ define
|
|
|
8808
8667
|
};
|
|
8809
8668
|
}
|
|
8810
8669
|
});
|
|
8811
|
-
|
|
8812
|
-
//#endregion
|
|
8813
|
-
//#region src/core/materials/meshDiscardMaterial/index.vue
|
|
8814
|
-
var meshDiscardMaterial_default = index_vue_vue_type_script_setup_true_lang_default$6;
|
|
8815
|
-
|
|
8816
8670
|
//#endregion
|
|
8817
8671
|
//#region src/core/materials/meshGlassMaterial/material.ts
|
|
8818
8672
|
var MeshGlassMaterial = class extends MeshStandardMaterial {
|
|
@@ -8909,16 +8763,14 @@ var MeshGlassMaterial = class extends MeshStandardMaterial {
|
|
|
8909
8763
|
return this;
|
|
8910
8764
|
}
|
|
8911
8765
|
};
|
|
8912
|
-
var material_default = MeshGlassMaterial;
|
|
8913
|
-
|
|
8914
8766
|
//#endregion
|
|
8915
|
-
//#region src/core/materials/meshGlassMaterial/index.vue
|
|
8916
|
-
var
|
|
8767
|
+
//#region src/core/materials/meshGlassMaterial/index.vue
|
|
8768
|
+
var meshGlassMaterial_default = /* @__PURE__ */ defineComponent({
|
|
8917
8769
|
__name: "index",
|
|
8918
8770
|
setup(__props, { expose: __expose }) {
|
|
8919
8771
|
const MeshGlassMaterialClass = shallowRef();
|
|
8920
|
-
const { extend
|
|
8921
|
-
extend
|
|
8772
|
+
const { extend } = useTresContext();
|
|
8773
|
+
extend({ MeshGlassMaterial });
|
|
8922
8774
|
__expose({ instance: MeshGlassMaterialClass });
|
|
8923
8775
|
return (_ctx, _cache) => {
|
|
8924
8776
|
return openBlock(), createElementBlock("TresMeshGlassMaterial", {
|
|
@@ -8928,11 +8780,6 @@ var index_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ define
|
|
|
8928
8780
|
};
|
|
8929
8781
|
}
|
|
8930
8782
|
});
|
|
8931
|
-
|
|
8932
|
-
//#endregion
|
|
8933
|
-
//#region src/core/materials/meshGlassMaterial/index.vue
|
|
8934
|
-
var meshGlassMaterial_default = index_vue_vue_type_script_setup_true_lang_default$5;
|
|
8935
|
-
|
|
8936
8783
|
//#endregion
|
|
8937
8784
|
//#region src/core/materials/meshPortalMaterial/PortalMaterialImpl.ts
|
|
8938
8785
|
/**
|
|
@@ -8975,10 +8822,9 @@ var PortalMaterialImpl = class extends ShaderMaterial {
|
|
|
8975
8822
|
this.uniforms.map.value = v;
|
|
8976
8823
|
}
|
|
8977
8824
|
};
|
|
8978
|
-
|
|
8979
8825
|
//#endregion
|
|
8980
|
-
//#region src/core/materials/meshPortalMaterial/index.vue
|
|
8981
|
-
var
|
|
8826
|
+
//#region src/core/materials/meshPortalMaterial/index.vue
|
|
8827
|
+
var meshPortalMaterial_default = /* @__PURE__ */ defineComponent({
|
|
8982
8828
|
__name: "index",
|
|
8983
8829
|
props: {
|
|
8984
8830
|
blend: {
|
|
@@ -9004,13 +8850,14 @@ var index_vue_vue_type_script_setup_true_lang_default$4 = /* @__PURE__ */ define
|
|
|
9004
8850
|
},
|
|
9005
8851
|
setup(__props, { expose: __expose }) {
|
|
9006
8852
|
const props = __props;
|
|
9007
|
-
const { extend
|
|
9008
|
-
extend
|
|
8853
|
+
const { extend, invalidate } = useTres();
|
|
8854
|
+
extend({ PortalMaterialImpl });
|
|
9009
8855
|
const materialRef = shallowRef();
|
|
9010
8856
|
const portalScene = new Scene();
|
|
9011
8857
|
portalScene.matrixAutoUpdate = false;
|
|
8858
|
+
const ctx = useTresContext();
|
|
9012
8859
|
provide(INJECTION_KEY, {
|
|
9013
|
-
...
|
|
8860
|
+
...ctx,
|
|
9014
8861
|
scene: shallowRef(portalScene)
|
|
9015
8862
|
});
|
|
9016
8863
|
const rtOptions = {
|
|
@@ -9127,16 +8974,10 @@ var index_vue_vue_type_script_setup_true_lang_default$4 = /* @__PURE__ */ define
|
|
|
9127
8974
|
};
|
|
9128
8975
|
}
|
|
9129
8976
|
});
|
|
9130
|
-
|
|
9131
|
-
//#endregion
|
|
9132
|
-
//#region src/core/materials/meshPortalMaterial/index.vue
|
|
9133
|
-
var meshPortalMaterial_default = index_vue_vue_type_script_setup_true_lang_default$4;
|
|
9134
|
-
|
|
9135
8977
|
//#endregion
|
|
9136
8978
|
//#region src/utils/constants.ts
|
|
9137
8979
|
const getVersion = () => Number.parseInt(REVISION.replace(/\D+/g, ""));
|
|
9138
8980
|
const version = /* @__PURE__ */ getVersion();
|
|
9139
|
-
|
|
9140
8981
|
//#endregion
|
|
9141
8982
|
//#region src/core/materials/meshReflectionMaterial/ConvolutionMaterial.ts
|
|
9142
8983
|
var ConvolutionMaterial = class extends ShaderMaterial {
|
|
@@ -9241,7 +9082,6 @@ var ConvolutionMaterial = class extends ShaderMaterial {
|
|
|
9241
9082
|
this.uniforms.resolution.value.copy(resolution);
|
|
9242
9083
|
}
|
|
9243
9084
|
};
|
|
9244
|
-
|
|
9245
9085
|
//#endregion
|
|
9246
9086
|
//#region src/core/materials/meshReflectionMaterial/BlurPass.ts
|
|
9247
9087
|
var BlurPass = class {
|
|
@@ -9330,7 +9170,6 @@ var BlurPass = class {
|
|
|
9330
9170
|
this.convolutionMaterial.dispose();
|
|
9331
9171
|
}
|
|
9332
9172
|
};
|
|
9333
|
-
|
|
9334
9173
|
//#endregion
|
|
9335
9174
|
//#region src/core/materials/meshReflectionMaterial/material.ts
|
|
9336
9175
|
var MeshReflectionMaterial = class extends MeshStandardMaterial {
|
|
@@ -9546,7 +9385,6 @@ var MeshReflectionMaterial = class extends MeshStandardMaterial {
|
|
|
9546
9385
|
this._distortion.value = v;
|
|
9547
9386
|
}
|
|
9548
9387
|
};
|
|
9549
|
-
|
|
9550
9388
|
//#endregion
|
|
9551
9389
|
//#region src/core/materials/meshReflectionMaterial/index.vue?vue&type=script&setup=true&lang.ts
|
|
9552
9390
|
const _hoisted_1$43 = [
|
|
@@ -9558,7 +9396,9 @@ const _hoisted_1$43 = [
|
|
|
9558
9396
|
"defines-USE_DEPTH",
|
|
9559
9397
|
"defines-USE_DISTORTION"
|
|
9560
9398
|
];
|
|
9561
|
-
|
|
9399
|
+
//#endregion
|
|
9400
|
+
//#region src/core/materials/meshReflectionMaterial/index.vue
|
|
9401
|
+
var meshReflectionMaterial_default = /* @__PURE__ */ defineComponent({
|
|
9562
9402
|
__name: "index",
|
|
9563
9403
|
props: {
|
|
9564
9404
|
resolution: {
|
|
@@ -9793,8 +9633,8 @@ var index_vue_vue_type_script_setup_true_lang_default$3 = /* @__PURE__ */ define
|
|
|
9793
9633
|
},
|
|
9794
9634
|
setup(__props, { expose: __expose }) {
|
|
9795
9635
|
const props = __props;
|
|
9796
|
-
const { extend
|
|
9797
|
-
extend
|
|
9636
|
+
const { extend, invalidate } = useTres();
|
|
9637
|
+
extend({ MeshReflectionMaterial });
|
|
9798
9638
|
const blurWidth = computed(() => 500 - (Array.isArray(props.blurSize) ? props.blurSize[0] : props.blurSize));
|
|
9799
9639
|
const blurHeight = computed(() => 500 - (Array.isArray(props.blurSize) ? props.blurSize[1] : props.blurSize));
|
|
9800
9640
|
const hasBlur = computed(() => blurWidth.value > 0 || blurHeight.value > 0);
|
|
@@ -9963,11 +9803,6 @@ var index_vue_vue_type_script_setup_true_lang_default$3 = /* @__PURE__ */ define
|
|
|
9963
9803
|
};
|
|
9964
9804
|
}
|
|
9965
9805
|
});
|
|
9966
|
-
|
|
9967
|
-
//#endregion
|
|
9968
|
-
//#region src/core/materials/meshReflectionMaterial/index.vue
|
|
9969
|
-
var meshReflectionMaterial_default = index_vue_vue_type_script_setup_true_lang_default$3;
|
|
9970
|
-
|
|
9971
9806
|
//#endregion
|
|
9972
9807
|
//#region src/core/materials/meshTransmissionMaterial/material.ts
|
|
9973
9808
|
var MeshTransmissionMaterial = class extends MeshPhysicalMaterial {
|
|
@@ -10212,11 +10047,12 @@ var MeshTransmissionMaterial = class extends MeshPhysicalMaterial {
|
|
|
10212
10047
|
});
|
|
10213
10048
|
}
|
|
10214
10049
|
};
|
|
10215
|
-
|
|
10216
10050
|
//#endregion
|
|
10217
10051
|
//#region src/core/materials/meshTransmissionMaterial/index.vue?vue&type=script&setup=true&lang.ts
|
|
10218
10052
|
const _hoisted_1$42 = ["args"];
|
|
10219
|
-
|
|
10053
|
+
//#endregion
|
|
10054
|
+
//#region src/core/materials/meshTransmissionMaterial/index.vue
|
|
10055
|
+
var meshTransmissionMaterial_default = /* @__PURE__ */ defineComponent({
|
|
10220
10056
|
__name: "index",
|
|
10221
10057
|
props: {
|
|
10222
10058
|
samples: {
|
|
@@ -10324,8 +10160,8 @@ var index_vue_vue_type_script_setup_true_lang_default$2 = /* @__PURE__ */ define
|
|
|
10324
10160
|
},
|
|
10325
10161
|
setup(__props, { expose: __expose }) {
|
|
10326
10162
|
const props = __props;
|
|
10327
|
-
const { extend
|
|
10328
|
-
extend
|
|
10163
|
+
const { extend, invalidate } = useTres();
|
|
10164
|
+
extend({ MeshTransmissionMaterial });
|
|
10329
10165
|
const materialRef = shallowRef();
|
|
10330
10166
|
watch(() => [props.samples, props.transmissionSampler], () => {
|
|
10331
10167
|
logWarning("MeshTransmissionMaterial: samples and transmissionSampler are baked into the shader at compile time. Changes require remounting the component.");
|
|
@@ -10422,11 +10258,6 @@ var index_vue_vue_type_script_setup_true_lang_default$2 = /* @__PURE__ */ define
|
|
|
10422
10258
|
};
|
|
10423
10259
|
}
|
|
10424
10260
|
});
|
|
10425
|
-
|
|
10426
|
-
//#endregion
|
|
10427
|
-
//#region src/core/materials/meshTransmissionMaterial/index.vue
|
|
10428
|
-
var meshTransmissionMaterial_default = index_vue_vue_type_script_setup_true_lang_default$2;
|
|
10429
|
-
|
|
10430
10261
|
//#endregion
|
|
10431
10262
|
//#region src/core/materials/meshWobbleMaterial/material.ts
|
|
10432
10263
|
var WobbleMaterialImpl = class extends MeshStandardMaterial {
|
|
@@ -10467,11 +10298,12 @@ var WobbleMaterialImpl = class extends MeshStandardMaterial {
|
|
|
10467
10298
|
this._factor.value = v;
|
|
10468
10299
|
}
|
|
10469
10300
|
};
|
|
10470
|
-
|
|
10471
10301
|
//#endregion
|
|
10472
10302
|
//#region src/core/materials/meshWobbleMaterial/index.vue?vue&type=script&setup=true&lang.ts
|
|
10473
10303
|
const _hoisted_1$41 = ["factor"];
|
|
10474
|
-
|
|
10304
|
+
//#endregion
|
|
10305
|
+
//#region src/core/materials/meshWobbleMaterial/index.vue
|
|
10306
|
+
var meshWobbleMaterial_default = /* @__PURE__ */ defineComponent({
|
|
10475
10307
|
__name: "index",
|
|
10476
10308
|
props: {
|
|
10477
10309
|
speed: {
|
|
@@ -10488,8 +10320,8 @@ var index_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ define
|
|
|
10488
10320
|
setup(__props, { expose: __expose }) {
|
|
10489
10321
|
const props = __props;
|
|
10490
10322
|
const materialRef = shallowRef();
|
|
10491
|
-
const { extend
|
|
10492
|
-
extend
|
|
10323
|
+
const { extend, invalidate } = useTres();
|
|
10324
|
+
extend({ MeshWobbleMaterial: WobbleMaterialImpl });
|
|
10493
10325
|
watch(props, () => {
|
|
10494
10326
|
invalidate();
|
|
10495
10327
|
});
|
|
@@ -10510,11 +10342,6 @@ var index_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ define
|
|
|
10510
10342
|
};
|
|
10511
10343
|
}
|
|
10512
10344
|
});
|
|
10513
|
-
|
|
10514
|
-
//#endregion
|
|
10515
|
-
//#region src/core/materials/meshWobbleMaterial/index.vue
|
|
10516
|
-
var meshWobbleMaterial_default = index_vue_vue_type_script_setup_true_lang_default$1;
|
|
10517
|
-
|
|
10518
10345
|
//#endregion
|
|
10519
10346
|
//#region src/core/materials/pointMaterial/material.ts
|
|
10520
10347
|
const opaque_fragment = "opaque_fragment";
|
|
@@ -10536,11 +10363,12 @@ var PointMaterial = class extends PointsMaterial {
|
|
|
10536
10363
|
};
|
|
10537
10364
|
}
|
|
10538
10365
|
};
|
|
10539
|
-
|
|
10540
10366
|
//#endregion
|
|
10541
10367
|
//#region src/core/materials/pointMaterial/component.vue?vue&type=script&setup=true&lang.ts
|
|
10542
10368
|
const _hoisted_1$40 = ["object"];
|
|
10543
|
-
|
|
10369
|
+
//#endregion
|
|
10370
|
+
//#region src/core/materials/pointMaterial/component.vue
|
|
10371
|
+
var component_default$13 = /* @__PURE__ */ defineComponent({
|
|
10544
10372
|
__name: "component",
|
|
10545
10373
|
props: { sizeAttenuation: {
|
|
10546
10374
|
type: Boolean,
|
|
@@ -10563,18 +10391,8 @@ var component_vue_vue_type_script_setup_true_lang_default$7 = /* @__PURE__ */ de
|
|
|
10563
10391
|
};
|
|
10564
10392
|
}
|
|
10565
10393
|
});
|
|
10566
|
-
|
|
10567
|
-
//#endregion
|
|
10568
|
-
//#region src/core/materials/pointMaterial/component.vue
|
|
10569
|
-
var component_default$13 = component_vue_vue_type_script_setup_true_lang_default$7;
|
|
10570
|
-
|
|
10571
10394
|
//#endregion
|
|
10572
10395
|
//#region src/core/miscellaneous/Bounds/Bounds.ts
|
|
10573
|
-
var AnimationState = /* @__PURE__ */ function(AnimationState$1) {
|
|
10574
|
-
AnimationState$1[AnimationState$1["NONE"] = 0] = "NONE";
|
|
10575
|
-
AnimationState$1[AnimationState$1["ACTIVE"] = 2] = "ACTIVE";
|
|
10576
|
-
return AnimationState$1;
|
|
10577
|
-
}(AnimationState || {});
|
|
10578
10396
|
const isOrthographicCamera = (def) => def && def.isOrthographicCamera;
|
|
10579
10397
|
const isPerspectiveCamera = (def) => def && def.isPerspectiveCamera;
|
|
10580
10398
|
const isBox3 = (def) => def && def.isBox3;
|
|
@@ -10600,7 +10418,7 @@ var Bounds = class extends Object3D {
|
|
|
10600
10418
|
box: void 0,
|
|
10601
10419
|
object: void 0
|
|
10602
10420
|
};
|
|
10603
|
-
_animationState =
|
|
10421
|
+
_animationState = 0;
|
|
10604
10422
|
_t = 0;
|
|
10605
10423
|
_controls = null;
|
|
10606
10424
|
_controlsRemoveEventListener = () => {};
|
|
@@ -10625,16 +10443,16 @@ var Bounds = class extends Object3D {
|
|
|
10625
10443
|
if (controls) {
|
|
10626
10444
|
this._controls = controls;
|
|
10627
10445
|
const callback = () => {
|
|
10628
|
-
if (controls && this._goal.lookAt && this._animationState !==
|
|
10629
|
-
const front
|
|
10446
|
+
if (controls && this._goal.lookAt && this._animationState !== 0) {
|
|
10447
|
+
const front = new Vector3().setFromMatrixColumn(this.camera.matrix, 2);
|
|
10630
10448
|
const d0 = this._start.position.distanceTo(controls.target);
|
|
10631
10449
|
const d1 = (this._goal.position || this._start.position).distanceTo(this._goal.lookAt);
|
|
10632
10450
|
const d = (1 - this._t) * d0 + this._t * d1;
|
|
10633
|
-
controls.target.copy(this.camera.position).addScaledVector(front
|
|
10451
|
+
controls.target.copy(this.camera.position).addScaledVector(front, -d);
|
|
10634
10452
|
controls.update();
|
|
10635
10453
|
this._stop();
|
|
10636
10454
|
}
|
|
10637
|
-
this._animationState =
|
|
10455
|
+
this._animationState = 0;
|
|
10638
10456
|
};
|
|
10639
10457
|
controls.addEventListener("start", callback);
|
|
10640
10458
|
this._controlsRemoveEventListener = () => controls.removeEventListener("start", callback);
|
|
@@ -10647,30 +10465,33 @@ var Bounds = class extends Object3D {
|
|
|
10647
10465
|
lookAt(arg0, arg1, arg2) {
|
|
10648
10466
|
const size = arguments.length;
|
|
10649
10467
|
let args = this._cachedFitArgs;
|
|
10650
|
-
const v1
|
|
10651
|
-
const v2
|
|
10468
|
+
const v1 = arg1 ? new Vector3().fromArray(normalizeVectorFlexibleParam(arg1)) : new Vector3();
|
|
10469
|
+
const v2 = arg2 ? new Vector3().fromArray(normalizeVectorFlexibleParam(arg2)) : new Vector3();
|
|
10652
10470
|
if (size === 0) args = this._cachedFitArgs;
|
|
10653
10471
|
else if (!arg0 && arg0 !== 0) {
|
|
10654
10472
|
if (size === 1) args = [null];
|
|
10655
|
-
else if (size === 2) args = [null, v1
|
|
10473
|
+
else if (size === 2) args = [null, v1];
|
|
10656
10474
|
else if (size === 3) args = [
|
|
10657
10475
|
null,
|
|
10658
|
-
v1
|
|
10659
|
-
v2
|
|
10476
|
+
v1,
|
|
10477
|
+
v2
|
|
10660
10478
|
];
|
|
10661
10479
|
} else if (typeof arg0 === "number" || arg0.isVector3 || Array.isArray(arg0)) {
|
|
10662
10480
|
const v0 = new Vector3().fromArray(normalizeVectorFlexibleParam(arg0));
|
|
10663
10481
|
if (size === 1) args = [v0];
|
|
10664
|
-
else if (size === 2) args = [v0, v1
|
|
10482
|
+
else if (size === 2) args = [v0, v1];
|
|
10665
10483
|
else if (size === 3) args = [
|
|
10666
10484
|
v0,
|
|
10667
|
-
v1
|
|
10668
|
-
v2
|
|
10485
|
+
v1,
|
|
10486
|
+
v2
|
|
10669
10487
|
];
|
|
10670
|
-
} else if (arg0.isBox3)
|
|
10671
|
-
|
|
10672
|
-
|
|
10673
|
-
else
|
|
10488
|
+
} else if (arg0.isBox3) {
|
|
10489
|
+
if (size === 1) args = [arg0];
|
|
10490
|
+
else args = [arg0, arg1];
|
|
10491
|
+
} else if (arg0.isObject3D) {
|
|
10492
|
+
if (size === 1) args = [arg0];
|
|
10493
|
+
else args = [arg0, arg1];
|
|
10494
|
+
}
|
|
10674
10495
|
this._cachedFitArgs = args;
|
|
10675
10496
|
this._stop();
|
|
10676
10497
|
_resetGoal(this._goal);
|
|
@@ -10742,12 +10563,12 @@ var Bounds = class extends Object3D {
|
|
|
10742
10563
|
}
|
|
10743
10564
|
}
|
|
10744
10565
|
this._t = 0;
|
|
10745
|
-
this._animationState =
|
|
10566
|
+
this._animationState = 2;
|
|
10746
10567
|
this.onStart && this.onStart(this._goal);
|
|
10747
10568
|
}
|
|
10748
10569
|
animate(delta) {
|
|
10749
|
-
if (this._animationState ===
|
|
10750
|
-
if (this._animationState ===
|
|
10570
|
+
if (this._animationState === 0) return false;
|
|
10571
|
+
if (this._animationState === 2) {
|
|
10751
10572
|
this._t += delta / this.duration;
|
|
10752
10573
|
this._t = MathUtils.clamp(this._t, 0, 1);
|
|
10753
10574
|
if (this._t >= 1) {
|
|
@@ -10761,7 +10582,7 @@ var Bounds = class extends Object3D {
|
|
|
10761
10582
|
this._controls.target.copy(this._goal.lookAt);
|
|
10762
10583
|
this._controls.update();
|
|
10763
10584
|
}
|
|
10764
|
-
this._animationState =
|
|
10585
|
+
this._animationState = 0;
|
|
10765
10586
|
this.onEnd && this.onEnd(this._goal);
|
|
10766
10587
|
_resetGoal(this._goal);
|
|
10767
10588
|
} else {
|
|
@@ -10809,7 +10630,6 @@ function _resetGoal(goal) {
|
|
|
10809
10630
|
goal.box = void 0;
|
|
10810
10631
|
goal.object = void 0;
|
|
10811
10632
|
}
|
|
10812
|
-
|
|
10813
10633
|
//#endregion
|
|
10814
10634
|
//#region src/core/miscellaneous/Bounds/component.vue?vue&type=script&setup=true&lang.ts
|
|
10815
10635
|
const _hoisted_1$39 = [
|
|
@@ -10817,7 +10637,9 @@ const _hoisted_1$39 = [
|
|
|
10817
10637
|
"duration",
|
|
10818
10638
|
"offset"
|
|
10819
10639
|
];
|
|
10820
|
-
|
|
10640
|
+
//#endregion
|
|
10641
|
+
//#region src/core/miscellaneous/Bounds/component.vue
|
|
10642
|
+
var component_default$2 = /* @__PURE__ */ defineComponent({
|
|
10821
10643
|
__name: "component",
|
|
10822
10644
|
props: {
|
|
10823
10645
|
duration: {
|
|
@@ -10878,7 +10700,8 @@ var component_vue_vue_type_script_setup_true_lang_default$6 = /* @__PURE__ */ de
|
|
|
10878
10700
|
watchEffect(() => {
|
|
10879
10701
|
if (controls.value) bounds.controls = controls.value;
|
|
10880
10702
|
});
|
|
10881
|
-
|
|
10703
|
+
const shallowCam = computed(() => camera.value?.uuid);
|
|
10704
|
+
watch(shallowCam, () => {
|
|
10882
10705
|
if (camera.value) bounds.camera = camera.value;
|
|
10883
10706
|
}, {
|
|
10884
10707
|
immediate: true,
|
|
@@ -10905,11 +10728,6 @@ var component_vue_vue_type_script_setup_true_lang_default$6 = /* @__PURE__ */ de
|
|
|
10905
10728
|
};
|
|
10906
10729
|
}
|
|
10907
10730
|
});
|
|
10908
|
-
|
|
10909
|
-
//#endregion
|
|
10910
|
-
//#region src/core/miscellaneous/Bounds/component.vue
|
|
10911
|
-
var component_default$2 = component_vue_vue_type_script_setup_true_lang_default$6;
|
|
10912
|
-
|
|
10913
10731
|
//#endregion
|
|
10914
10732
|
//#region src/core/miscellaneous/GlobalAudio.ts
|
|
10915
10733
|
const GlobalAudio = defineComponent({
|
|
@@ -10939,7 +10757,8 @@ const GlobalAudio = defineComponent({
|
|
|
10939
10757
|
const buffer = await audioLoader.loadAsync(props.src);
|
|
10940
10758
|
sound.setBuffer(buffer);
|
|
10941
10759
|
}, { immediate: true });
|
|
10942
|
-
|
|
10760
|
+
const btnPlay = document.getElementById(props.playTrigger ?? "") || renderer.instance.domElement;
|
|
10761
|
+
useEventListener(btnPlay, "click", () => {
|
|
10943
10762
|
if (sound.isPlaying) sound.pause();
|
|
10944
10763
|
else sound.play();
|
|
10945
10764
|
emit("isPlaying", sound.isPlaying);
|
|
@@ -10952,10 +10771,9 @@ const GlobalAudio = defineComponent({
|
|
|
10952
10771
|
return null;
|
|
10953
10772
|
}
|
|
10954
10773
|
});
|
|
10955
|
-
|
|
10956
10774
|
//#endregion
|
|
10957
|
-
//#region src/core/miscellaneous/MouseParallax.vue
|
|
10958
|
-
var
|
|
10775
|
+
//#region src/core/miscellaneous/MouseParallax.vue
|
|
10776
|
+
var MouseParallax_default = /* @__PURE__ */ defineComponent({
|
|
10959
10777
|
__name: "MouseParallax",
|
|
10960
10778
|
props: {
|
|
10961
10779
|
disabled: {
|
|
@@ -11014,15 +10832,12 @@ var MouseParallax_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
11014
10832
|
};
|
|
11015
10833
|
}
|
|
11016
10834
|
});
|
|
11017
|
-
|
|
11018
|
-
//#endregion
|
|
11019
|
-
//#region src/core/miscellaneous/MouseParallax.vue
|
|
11020
|
-
var MouseParallax_default = MouseParallax_vue_vue_type_script_setup_true_lang_default;
|
|
11021
|
-
|
|
11022
10835
|
//#endregion
|
|
11023
10836
|
//#region src/core/miscellaneous/PositionalAudio.vue?vue&type=script&setup=true&lang.ts
|
|
11024
10837
|
const _hoisted_1$38 = ["args"];
|
|
11025
|
-
|
|
10838
|
+
//#endregion
|
|
10839
|
+
//#region src/core/miscellaneous/PositionalAudio.vue
|
|
10840
|
+
var PositionalAudio_default = /* @__PURE__ */ defineComponent({
|
|
11026
10841
|
__name: "PositionalAudio",
|
|
11027
10842
|
props: {
|
|
11028
10843
|
ready: {
|
|
@@ -11180,11 +10995,6 @@ var PositionalAudio_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
11180
10995
|
};
|
|
11181
10996
|
}
|
|
11182
10997
|
});
|
|
11183
|
-
|
|
11184
|
-
//#endregion
|
|
11185
|
-
//#region src/core/miscellaneous/PositionalAudio.vue
|
|
11186
|
-
var PositionalAudio_default = PositionalAudio_vue_vue_type_script_setup_true_lang_default;
|
|
11187
|
-
|
|
11188
10998
|
//#endregion
|
|
11189
10999
|
//#region src/core/miscellaneous/useAnimations.ts
|
|
11190
11000
|
/**
|
|
@@ -11243,7 +11053,6 @@ function useAnimations(animations, modelRef, options) {
|
|
|
11243
11053
|
mixer
|
|
11244
11054
|
};
|
|
11245
11055
|
}
|
|
11246
|
-
|
|
11247
11056
|
//#endregion
|
|
11248
11057
|
//#region src/core/miscellaneous/useGLTFExporter.ts
|
|
11249
11058
|
async function useGLTFExporter(object3D, options) {
|
|
@@ -11271,7 +11080,6 @@ function save(blob, filename) {
|
|
|
11271
11080
|
link.click();
|
|
11272
11081
|
link.remove();
|
|
11273
11082
|
}
|
|
11274
|
-
|
|
11275
11083
|
//#endregion
|
|
11276
11084
|
//#region src/core/miscellaneous/useIntersect.ts
|
|
11277
11085
|
function normalizeCientosInstance(obj) {
|
|
@@ -11279,7 +11087,7 @@ function normalizeCientosInstance(obj) {
|
|
|
11279
11087
|
return obj.instance;
|
|
11280
11088
|
}
|
|
11281
11089
|
function useIntersect(onChange = () => {}) {
|
|
11282
|
-
const ref
|
|
11090
|
+
const ref = shallowRef();
|
|
11283
11091
|
const intersect = shallowRef(false);
|
|
11284
11092
|
let _isIntersected = false;
|
|
11285
11093
|
let _oldIsIntersected = false;
|
|
@@ -11306,17 +11114,16 @@ function useIntersect(onChange = () => {}) {
|
|
|
11306
11114
|
};
|
|
11307
11115
|
}
|
|
11308
11116
|
let teardown = () => {};
|
|
11309
|
-
watch(ref
|
|
11117
|
+
watch(ref, () => {
|
|
11310
11118
|
teardown();
|
|
11311
|
-
if (ref
|
|
11119
|
+
if (ref.value) teardown = setup(ref.value);
|
|
11312
11120
|
});
|
|
11313
11121
|
return {
|
|
11314
|
-
ref
|
|
11122
|
+
ref,
|
|
11315
11123
|
intersect,
|
|
11316
11124
|
off: () => teardown()
|
|
11317
11125
|
};
|
|
11318
11126
|
}
|
|
11319
|
-
|
|
11320
11127
|
//#endregion
|
|
11321
11128
|
//#region src/core/objects/AnimatedSprite/AtlasAnimationDefinitionParser.ts
|
|
11322
11129
|
/**
|
|
@@ -11353,48 +11160,57 @@ function expand(definitionStr) {
|
|
|
11353
11160
|
function parse(definitionStr) {
|
|
11354
11161
|
let transition = "START_FRAME_IN";
|
|
11355
11162
|
const result = [];
|
|
11356
|
-
for (const { name, value, startI } of tokenize(definitionStr)) if (transition === "START_FRAME_IN")
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
|
|
11362
|
-
|
|
11363
|
-
|
|
11364
|
-
|
|
11365
|
-
else if (
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11369
|
-
|
|
11370
|
-
|
|
11371
|
-
|
|
11372
|
-
|
|
11373
|
-
|
|
11374
|
-
|
|
11375
|
-
else if (transition === "
|
|
11376
|
-
|
|
11377
|
-
transition = "
|
|
11378
|
-
|
|
11379
|
-
else if (transition === "
|
|
11380
|
-
|
|
11381
|
-
|
|
11382
|
-
|
|
11163
|
+
for (const { name, value, startI } of tokenize(definitionStr)) if (transition === "START_FRAME_IN") {
|
|
11164
|
+
if (name === "NUMBER") {
|
|
11165
|
+
result.push({
|
|
11166
|
+
startFrame: value,
|
|
11167
|
+
endFrame: value,
|
|
11168
|
+
duration: 1
|
|
11169
|
+
});
|
|
11170
|
+
transition = "START_FRAME_OUT";
|
|
11171
|
+
} else logDefinitionSyntaxError("number", name, definitionStr, startI);
|
|
11172
|
+
} else if (transition === "START_FRAME_OUT") {
|
|
11173
|
+
if (name === "COMMA") transition = "START_FRAME_IN";
|
|
11174
|
+
else if (name === "HYPHEN") transition = "END_FRAME_IN";
|
|
11175
|
+
else if (name === "OPEN_PAREN") transition = "DURATION_IN";
|
|
11176
|
+
else logDefinitionSyntaxError("\",\", \"-\", \"(\"", name, definitionStr, startI);
|
|
11177
|
+
} else if (transition === "END_FRAME_IN") {
|
|
11178
|
+
if (name === "NUMBER") {
|
|
11179
|
+
result[result.length - 1].endFrame = value;
|
|
11180
|
+
transition = "END_FRAME_OUT";
|
|
11181
|
+
} else logDefinitionSyntaxError("number", name, definitionStr, startI);
|
|
11182
|
+
} else if (transition === "END_FRAME_OUT") {
|
|
11183
|
+
if (name === "COMMA") transition = "START_FRAME_IN";
|
|
11184
|
+
else if (name === "OPEN_PAREN") transition = "DURATION_IN";
|
|
11185
|
+
else logDefinitionSyntaxError("',' or '('", name, definitionStr, startI);
|
|
11186
|
+
} else if (transition === "DURATION_IN") {
|
|
11187
|
+
if (name === "NUMBER") {
|
|
11188
|
+
result[result.length - 1].duration = value;
|
|
11189
|
+
transition = "DURATION_OUT";
|
|
11190
|
+
} else logDefinitionSyntaxError("number", name, definitionStr, startI);
|
|
11191
|
+
} else if (transition === "DURATION_OUT") {
|
|
11192
|
+
if (name === "CLOSE_PAREN") transition = "NEXT_OR_DONE";
|
|
11193
|
+
else logDefinitionSyntaxError("\"(\"", name, definitionStr, startI);
|
|
11194
|
+
} else if (transition === "NEXT_OR_DONE") {
|
|
11195
|
+
if (name === "COMMA") transition = "START_FRAME_IN";
|
|
11196
|
+
else logDefinitionSyntaxError("\",\"", name, definitionStr, startI);
|
|
11197
|
+
}
|
|
11383
11198
|
return result;
|
|
11384
11199
|
}
|
|
11385
11200
|
function tokenize(definition) {
|
|
11386
11201
|
const result = [];
|
|
11387
11202
|
for (let ii = 0; ii < definition.length; ii++) {
|
|
11388
11203
|
const c = definition[ii];
|
|
11389
|
-
if ("0123456789".includes(c))
|
|
11390
|
-
result[result.length - 1].
|
|
11391
|
-
|
|
11392
|
-
|
|
11393
|
-
|
|
11394
|
-
|
|
11395
|
-
|
|
11396
|
-
|
|
11397
|
-
|
|
11204
|
+
if ("0123456789".includes(c)) {
|
|
11205
|
+
if (result.length && result[result.length - 1].name === "NUMBER") {
|
|
11206
|
+
result[result.length - 1].value *= 10;
|
|
11207
|
+
result[result.length - 1].value += Number.parseInt(c);
|
|
11208
|
+
} else result.push({
|
|
11209
|
+
name: "NUMBER",
|
|
11210
|
+
value: Number.parseInt(c),
|
|
11211
|
+
startI: ii
|
|
11212
|
+
});
|
|
11213
|
+
} else if (c === " ") continue;
|
|
11398
11214
|
else if (c === ",") result.push({
|
|
11399
11215
|
name: "COMMA",
|
|
11400
11216
|
value: -1,
|
|
@@ -11429,7 +11245,6 @@ function logDefinitionSyntaxError(expected, found, definition, index) {
|
|
|
11429
11245
|
${definition}
|
|
11430
11246
|
${Array.from({ length: index + 1 }).join(" ")}^`);
|
|
11431
11247
|
}
|
|
11432
|
-
|
|
11433
11248
|
//#endregion
|
|
11434
11249
|
//#region src/core/objects/AnimatedSprite/StringOps.ts
|
|
11435
11250
|
const numbersAtEnd = /\d*$/;
|
|
@@ -11442,7 +11257,6 @@ function getNumbersFromEnd(str) {
|
|
|
11442
11257
|
if (matches) return Number.parseInt(matches[matches.length - 1]);
|
|
11443
11258
|
return null;
|
|
11444
11259
|
}
|
|
11445
|
-
|
|
11446
11260
|
//#endregion
|
|
11447
11261
|
//#region src/core/objects/AnimatedSprite/Atlas.ts
|
|
11448
11262
|
async function getTextureAndAtlasAsync(imagePathOrImageData, atlasPathOrAtlasish) {
|
|
@@ -11451,9 +11265,9 @@ async function getTextureAndAtlasAsync(imagePathOrImageData, atlasPathOrAtlasish
|
|
|
11451
11265
|
loader.load(imagePathOrImageData, resolve, void 0, reject);
|
|
11452
11266
|
});
|
|
11453
11267
|
const atlasishPromise = typeof atlasPathOrAtlasish !== "string" ? new Promise((resolve) => resolve(atlasPathOrAtlasish)) : fetch(atlasPathOrAtlasish).then((response) => response.json()).catch((e) => logError(`Cientos Atlas - ${e}`));
|
|
11454
|
-
return Promise.all([texturePromise, atlasishPromise]).then(([texture
|
|
11455
|
-
const image = texture
|
|
11456
|
-
return [texture
|
|
11268
|
+
return Promise.all([texturePromise, atlasishPromise]).then(([texture, atlasish]) => {
|
|
11269
|
+
const image = texture.image;
|
|
11270
|
+
return [texture, getAtlas(atlasish, image.width, image.height)];
|
|
11457
11271
|
});
|
|
11458
11272
|
}
|
|
11459
11273
|
function getAtlas(atlasish, textureWidth, textureHeight) {
|
|
@@ -11545,10 +11359,11 @@ function setAtlasDefinitions(atlas, definitions = {}) {
|
|
|
11545
11359
|
}
|
|
11546
11360
|
function getAtlasFramesByAnimationName(atlas, name) {
|
|
11547
11361
|
if (!(name in atlas.animations)) {
|
|
11362
|
+
const animationsMsg = Object.keys(atlas.animations).map((n) => `* ${n}\n`).join("");
|
|
11548
11363
|
logError(`Cientos Atlas: getAtlasFramesByAnimationName
|
|
11549
11364
|
The animation name "${name}" does not exist in this atlas.
|
|
11550
11365
|
Available names:
|
|
11551
|
-
${
|
|
11366
|
+
${animationsMsg}`);
|
|
11552
11367
|
return [getNullAtlasFrame()];
|
|
11553
11368
|
}
|
|
11554
11369
|
return atlas.animations[name];
|
|
@@ -11588,7 +11403,6 @@ function groupAtlasFramesByKey(frames) {
|
|
|
11588
11403
|
for (const entry of Object.values(result)) entry.sort((a, b) => a.name.localeCompare(b.name));
|
|
11589
11404
|
return result;
|
|
11590
11405
|
}
|
|
11591
|
-
|
|
11592
11406
|
//#endregion
|
|
11593
11407
|
//#region src/core/objects/AnimatedSprite/component.vue?vue&type=script&setup=true&lang.ts
|
|
11594
11408
|
const _hoisted_1$37 = ["scale", "position"];
|
|
@@ -11602,7 +11416,9 @@ const _hoisted_4$3 = [
|
|
|
11602
11416
|
"depthTest"
|
|
11603
11417
|
];
|
|
11604
11418
|
const TEXTURE_PX_TO_WORLD_UNITS = .01;
|
|
11605
|
-
|
|
11419
|
+
//#endregion
|
|
11420
|
+
//#region src/core/objects/AnimatedSprite/component.vue
|
|
11421
|
+
var component_default$1 = /* @__PURE__ */ defineComponent({
|
|
11606
11422
|
__name: "component",
|
|
11607
11423
|
props: {
|
|
11608
11424
|
image: {
|
|
@@ -11707,8 +11523,8 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11707
11523
|
const groupRef = shallowRef();
|
|
11708
11524
|
__expose({ instance: groupRef });
|
|
11709
11525
|
const [textureResult, atlas] = ([__temp, __restore] = withAsyncContext(() => getTextureAndAtlasAsync(props.image, props.atlas)), __temp = await __temp, __restore(), __temp);
|
|
11710
|
-
const texture
|
|
11711
|
-
texture
|
|
11526
|
+
const texture = Array.isArray(textureResult) ? textureResult[0] : textureResult;
|
|
11527
|
+
texture.matrixAutoUpdate = false;
|
|
11712
11528
|
let animation = getAtlasFrames(atlas, props.animation, props.reversed);
|
|
11713
11529
|
let centerX = .5;
|
|
11714
11530
|
let centerY = .5;
|
|
@@ -11735,15 +11551,15 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11735
11551
|
if (animation[frameNum] !== frame) {
|
|
11736
11552
|
frame = animation[frameNum];
|
|
11737
11553
|
frameNameToEmit = frame.name;
|
|
11738
|
-
render
|
|
11554
|
+
render();
|
|
11739
11555
|
}
|
|
11740
11556
|
if (dirtyFlag) {
|
|
11741
11557
|
dirtyFlag = false;
|
|
11742
|
-
texture
|
|
11743
|
-
texture
|
|
11744
|
-
texture
|
|
11745
|
-
texture
|
|
11746
|
-
texture
|
|
11558
|
+
texture.offset.x = frame.offsetX + (props.flipX ? frame.repeatX : 0);
|
|
11559
|
+
texture.offset.y = frame.offsetY;
|
|
11560
|
+
texture.repeat.x = frame.repeatX * (props.flipX ? -1 : 1);
|
|
11561
|
+
texture.repeat.y = frame.repeatY;
|
|
11562
|
+
texture.updateMatrix();
|
|
11747
11563
|
scaleX.value = frame.width * TEXTURE_PX_TO_WORLD_UNITS;
|
|
11748
11564
|
scaleY.value = frame.height * TEXTURE_PX_TO_WORLD_UNITS;
|
|
11749
11565
|
positionX.value = (.5 - centerX) * frame.width * TEXTURE_PX_TO_WORLD_UNITS;
|
|
@@ -11754,7 +11570,7 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11754
11570
|
frameNameToEmit = null;
|
|
11755
11571
|
}
|
|
11756
11572
|
});
|
|
11757
|
-
function render
|
|
11573
|
+
function render() {
|
|
11758
11574
|
dirtyFlag = true;
|
|
11759
11575
|
}
|
|
11760
11576
|
watch(() => props.animation, (newValue, oldValue) => {
|
|
@@ -11763,13 +11579,13 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11763
11579
|
frameNum = 0;
|
|
11764
11580
|
cooldown = 1;
|
|
11765
11581
|
frameHeldOnLoopEnd = false;
|
|
11766
|
-
render
|
|
11582
|
+
render();
|
|
11767
11583
|
}, { immediate: true });
|
|
11768
11584
|
watch(() => props.reversed, () => {
|
|
11769
11585
|
frameNum = (animation.length - frameNum - 1) % animation.length;
|
|
11770
11586
|
animation = getAtlasFrames(atlas, props.animation, props.reversed);
|
|
11771
11587
|
if (frameHeldOnLoopEnd) frameNum = props.resetOnEnd ? 0 : animation.length - 1;
|
|
11772
|
-
render
|
|
11588
|
+
render();
|
|
11773
11589
|
});
|
|
11774
11590
|
watch(() => props.paused, () => {
|
|
11775
11591
|
frameHeldOnLoopEnd = false;
|
|
@@ -11780,23 +11596,23 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11780
11596
|
watch(() => props.resetOnEnd, () => {
|
|
11781
11597
|
if (frameHeldOnLoopEnd) {
|
|
11782
11598
|
frameNum = props.resetOnEnd ? 0 : animation.length - 1;
|
|
11783
|
-
render
|
|
11599
|
+
render();
|
|
11784
11600
|
}
|
|
11785
11601
|
});
|
|
11786
|
-
watch(() => props.flipX, render
|
|
11602
|
+
watch(() => props.flipX, render);
|
|
11787
11603
|
watch(() => [props.center], () => {
|
|
11788
11604
|
[centerX, centerY] = normalizeVectorFlexibleParam(props.center);
|
|
11789
|
-
render
|
|
11605
|
+
render();
|
|
11790
11606
|
}, { immediate: true });
|
|
11791
11607
|
watch(() => [props.definitions], () => {
|
|
11792
11608
|
setAtlasDefinitions(atlas, props.definitions);
|
|
11793
11609
|
animation = getAtlasFrames(atlas, props.animation, props.reversed);
|
|
11794
11610
|
cooldown = 1;
|
|
11795
11611
|
frameNum = 0;
|
|
11796
|
-
render
|
|
11612
|
+
render();
|
|
11797
11613
|
}, { immediate: true });
|
|
11798
11614
|
onUnmounted(() => {
|
|
11799
|
-
texture
|
|
11615
|
+
texture.dispose();
|
|
11800
11616
|
});
|
|
11801
11617
|
return (_ctx, _cache) => {
|
|
11802
11618
|
return openBlock(), createElementBlock("TresGroup", {
|
|
@@ -11816,7 +11632,7 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11816
11632
|
]
|
|
11817
11633
|
}, [createElementVNode("TresSpriteMaterial", {
|
|
11818
11634
|
toneMapped: false,
|
|
11819
|
-
map: unref(texture
|
|
11635
|
+
map: unref(texture),
|
|
11820
11636
|
transparent: true,
|
|
11821
11637
|
alphaTest: props.alphaTest
|
|
11822
11638
|
}, null, 8, _hoisted_2$25)], 8, _hoisted_1$37)) : (openBlock(), createElementBlock("TresMesh", {
|
|
@@ -11834,7 +11650,7 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11834
11650
|
}, [_cache[0] || (_cache[0] = createElementVNode("TresPlaneGeometry", { args: [1, 1] }, null, -1)), createElementVNode("TresMeshBasicMaterial", {
|
|
11835
11651
|
toneMapped: false,
|
|
11836
11652
|
side: unref(DoubleSide),
|
|
11837
|
-
map: unref(texture
|
|
11653
|
+
map: unref(texture),
|
|
11838
11654
|
transparent: true,
|
|
11839
11655
|
alphaTest: props.alphaTest,
|
|
11840
11656
|
depthWrite: props.depthWrite,
|
|
@@ -11843,11 +11659,6 @@ var component_vue_vue_type_script_setup_true_lang_default$5 = /* @__PURE__ */ de
|
|
|
11843
11659
|
};
|
|
11844
11660
|
}
|
|
11845
11661
|
});
|
|
11846
|
-
|
|
11847
|
-
//#endregion
|
|
11848
|
-
//#region src/core/objects/AnimatedSprite/component.vue
|
|
11849
|
-
var component_default$1 = component_vue_vue_type_script_setup_true_lang_default$5;
|
|
11850
|
-
|
|
11851
11662
|
//#endregion
|
|
11852
11663
|
//#region src/core/objects/CubeCamera/useCubeCamera.ts
|
|
11853
11664
|
function useCubeCamera(props) {
|
|
@@ -11887,11 +11698,12 @@ function useCubeCamera(props) {
|
|
|
11887
11698
|
update
|
|
11888
11699
|
};
|
|
11889
11700
|
}
|
|
11890
|
-
|
|
11891
11701
|
//#endregion
|
|
11892
11702
|
//#region src/core/objects/CubeCamera/component.vue?vue&type=script&setup=true&lang.ts
|
|
11893
11703
|
const _hoisted_1$36 = ["object"];
|
|
11894
|
-
|
|
11704
|
+
//#endregion
|
|
11705
|
+
//#region src/core/objects/CubeCamera/component.vue
|
|
11706
|
+
var component_default$3 = /* @__PURE__ */ defineComponent({
|
|
11895
11707
|
__name: "component",
|
|
11896
11708
|
props: {
|
|
11897
11709
|
frames: {
|
|
@@ -11958,11 +11770,6 @@ var component_vue_vue_type_script_setup_true_lang_default$4 = /* @__PURE__ */ de
|
|
|
11958
11770
|
};
|
|
11959
11771
|
}
|
|
11960
11772
|
});
|
|
11961
|
-
|
|
11962
|
-
//#endregion
|
|
11963
|
-
//#region src/core/objects/CubeCamera/component.vue
|
|
11964
|
-
var component_default$3 = component_vue_vue_type_script_setup_true_lang_default$4;
|
|
11965
|
-
|
|
11966
11773
|
//#endregion
|
|
11967
11774
|
//#region src/core/objects/useFBO/index.ts
|
|
11968
11775
|
function useFBO(options) {
|
|
@@ -11999,10 +11806,9 @@ function useFBO(options) {
|
|
|
11999
11806
|
});
|
|
12000
11807
|
return target;
|
|
12001
11808
|
}
|
|
12002
|
-
|
|
12003
11809
|
//#endregion
|
|
12004
|
-
//#region src/core/objects/useFBO/component.vue
|
|
12005
|
-
var
|
|
11810
|
+
//#region src/core/objects/useFBO/component.vue
|
|
11811
|
+
var component_default$6 = /* @__PURE__ */ defineComponent({
|
|
12006
11812
|
__name: "component",
|
|
12007
11813
|
props: {
|
|
12008
11814
|
width: {
|
|
@@ -12034,11 +11840,6 @@ var component_vue_vue_type_script_setup_true_lang_default$3 = /* @__PURE__ */ de
|
|
|
12034
11840
|
return () => {};
|
|
12035
11841
|
}
|
|
12036
11842
|
});
|
|
12037
|
-
|
|
12038
|
-
//#endregion
|
|
12039
|
-
//#region src/core/objects/useFBO/component.vue
|
|
12040
|
-
var component_default$6 = component_vue_vue_type_script_setup_true_lang_default$3;
|
|
12041
|
-
|
|
12042
11843
|
//#endregion
|
|
12043
11844
|
//#region src/core/objects/GradientTexture.vue?vue&type=script&setup=true&lang.ts
|
|
12044
11845
|
const _hoisted_1$35 = [
|
|
@@ -12046,7 +11847,9 @@ const _hoisted_1$35 = [
|
|
|
12046
11847
|
"args",
|
|
12047
11848
|
"attach"
|
|
12048
11849
|
];
|
|
12049
|
-
|
|
11850
|
+
//#endregion
|
|
11851
|
+
//#region src/core/objects/GradientTexture.vue
|
|
11852
|
+
var GradientTexture_default = /* @__PURE__ */ defineComponent({
|
|
12050
11853
|
__name: "GradientTexture",
|
|
12051
11854
|
props: {
|
|
12052
11855
|
stops: {
|
|
@@ -12092,15 +11895,15 @@ var GradientTexture_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
12092
11895
|
const props = __props;
|
|
12093
11896
|
const textureRef = shallowRef();
|
|
12094
11897
|
const canvas = document.createElement("canvas");
|
|
12095
|
-
function update(canvas
|
|
12096
|
-
const context = canvas
|
|
12097
|
-
canvas
|
|
12098
|
-
canvas
|
|
11898
|
+
function update(canvas) {
|
|
11899
|
+
const context = canvas.getContext("2d");
|
|
11900
|
+
canvas.width = props.width;
|
|
11901
|
+
canvas.height = props.height;
|
|
12099
11902
|
let gradient;
|
|
12100
11903
|
if (props.type === "linear") gradient = context.createLinearGradient(0, 0, 0, props.height);
|
|
12101
11904
|
else {
|
|
12102
|
-
const canvasCenterX = canvas
|
|
12103
|
-
const canvasCenterY = canvas
|
|
11905
|
+
const canvasCenterX = canvas.width / 2;
|
|
11906
|
+
const canvasCenterY = canvas.height / 2;
|
|
12104
11907
|
const radius = props.outerCircleRadius !== "auto" ? Math.abs(Number(props.outerCircleRadius)) : Math.sqrt(canvasCenterX ** 2 + canvasCenterY ** 2);
|
|
12105
11908
|
gradient = context.createRadialGradient(canvasCenterX, canvasCenterY, Math.abs(props.innerCircleRadius), canvasCenterX, canvasCenterY, radius);
|
|
12106
11909
|
}
|
|
@@ -12139,45 +11942,15 @@ var GradientTexture_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
12139
11942
|
};
|
|
12140
11943
|
}
|
|
12141
11944
|
});
|
|
12142
|
-
|
|
12143
|
-
//#endregion
|
|
12144
|
-
//#region src/core/objects/GradientTexture.vue
|
|
12145
|
-
var GradientTexture_default = GradientTexture_vue_vue_type_script_setup_true_lang_default;
|
|
12146
|
-
|
|
12147
11945
|
//#endregion
|
|
12148
11946
|
//#region src/core/objects/html/shaders/fragment.glsl
|
|
12149
|
-
var fragment_default =
|
|
12150
|
-
gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
|
|
12151
|
-
}`;
|
|
12152
|
-
|
|
11947
|
+
var fragment_default = "void main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n}";
|
|
12153
11948
|
//#endregion
|
|
12154
11949
|
//#region src/core/objects/html/shaders/vertex.glsl
|
|
12155
|
-
var vertex_default =
|
|
12156
|
-
|
|
12157
|
-
uniform float uWidth;
|
|
12158
|
-
uniform float uHeight;
|
|
12159
|
-
|
|
12160
|
-
void main() {
|
|
12161
|
-
|
|
12162
|
-
vec4 mvPosition = modelViewMatrix * vec4(0.0, 0.0, 0.0, 1.0);
|
|
12163
|
-
|
|
12164
|
-
vec2 quad = position.xy;
|
|
12165
|
-
|
|
12166
|
-
vec2 alignedPosition = quad * vec2(uWidth, uHeight);
|
|
12167
|
-
|
|
12168
|
-
mvPosition.xy += alignedPosition;
|
|
12169
|
-
|
|
12170
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
12171
|
-
}`;
|
|
12172
|
-
|
|
11950
|
+
var vertex_default = "#include <common>\n\nuniform float uWidth;\nuniform float uHeight;\n\nvoid main() {\n\n vec4 mvPosition = modelViewMatrix * vec4(0.0, 0.0, 0.0, 1.0);\n\n vec2 quad = position.xy;\n\n vec2 alignedPosition = quad * vec2(uWidth, uHeight);\n\n mvPosition.xy += alignedPosition;\n\n gl_Position = projectionMatrix * mvPosition;\n}";
|
|
12173
11951
|
//#endregion
|
|
12174
11952
|
//#region src/core/objects/html/shaders/passthrough-vertex.glsl
|
|
12175
|
-
var passthrough_vertex_default =
|
|
12176
|
-
|
|
12177
|
-
void main() {
|
|
12178
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
12179
|
-
}`;
|
|
12180
|
-
|
|
11953
|
+
var passthrough_vertex_default = "#include <common>\n\nvoid main() {\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}";
|
|
12181
11954
|
//#endregion
|
|
12182
11955
|
//#region src/core/objects/html/utils.ts
|
|
12183
11956
|
const v1 = new Vector3(0, 0, 0);
|
|
@@ -12288,7 +12061,6 @@ const getObjectCSSMatrix = (matrix, factor) => {
|
|
|
12288
12061
|
1
|
|
12289
12062
|
], "translate(-50%,-50%)");
|
|
12290
12063
|
};
|
|
12291
|
-
|
|
12292
12064
|
//#endregion
|
|
12293
12065
|
//#region src/core/objects/html/HTML.vue?vue&type=script&setup=true&lang.ts
|
|
12294
12066
|
const _hoisted_1$34 = [
|
|
@@ -12297,7 +12069,9 @@ const _hoisted_1$34 = [
|
|
|
12297
12069
|
"receive-shadow",
|
|
12298
12070
|
"geometry"
|
|
12299
12071
|
];
|
|
12300
|
-
|
|
12072
|
+
//#endregion
|
|
12073
|
+
//#region src/core/objects/html/HTML.vue
|
|
12074
|
+
var HTML_default = /* @__PURE__ */ defineComponent({
|
|
12301
12075
|
__name: "HTML",
|
|
12302
12076
|
props: {
|
|
12303
12077
|
geometry: {
|
|
@@ -12399,7 +12173,7 @@ var HTML_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
12399
12173
|
const props = __props;
|
|
12400
12174
|
const emits = __emit;
|
|
12401
12175
|
const slots = useSlots();
|
|
12402
|
-
const { geometry, material, as, transform, portal, wrapperClass, eps, distanceFactor, fullscreen, center, pointerEvents, sprite, prepend, occlude, zIndexRange, castShadow, receiveShadow, transparentMaterial, calculatePosition
|
|
12176
|
+
const { geometry, material, as, transform, portal, wrapperClass, eps, distanceFactor, fullscreen, center, pointerEvents, sprite, prepend, occlude, zIndexRange, castShadow, receiveShadow, transparentMaterial, calculatePosition } = toRefs(props);
|
|
12403
12177
|
const attrs = useAttrs();
|
|
12404
12178
|
const groupRef = shallowRef(null);
|
|
12405
12179
|
const occlusionMeshRef = shallowRef(null);
|
|
@@ -12531,7 +12305,7 @@ var HTML_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
12531
12305
|
const height = sizes.height.value;
|
|
12532
12306
|
const widthHalf = width * .5;
|
|
12533
12307
|
const heightHalf = height * .5;
|
|
12534
|
-
const newPos = transform.value ? previousPosition.value : calculatePosition
|
|
12308
|
+
const newPos = transform.value ? previousPosition.value : calculatePosition.value(group, cam, {
|
|
12535
12309
|
width,
|
|
12536
12310
|
height
|
|
12537
12311
|
});
|
|
@@ -12600,10 +12374,11 @@ var HTML_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
12600
12374
|
const element = children[0]?.el;
|
|
12601
12375
|
if (element) {
|
|
12602
12376
|
const isOrtho = cam instanceof OrthographicCamera;
|
|
12603
|
-
if (isOrtho && geometry.value && attrs.scale)
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12377
|
+
if (isOrtho && geometry.value && attrs.scale) {
|
|
12378
|
+
if (!Array.isArray(attrs.scale)) mesh.scale.setScalar(1 / attrs.scale);
|
|
12379
|
+
else if (attrs.scale instanceof Vector3) mesh.scale.copy(attrs.scale);
|
|
12380
|
+
else mesh.scale.set(1 / attrs.scale[0], 1 / attrs.scale[1], 1 / attrs.scale[2]);
|
|
12381
|
+
} else if (!isOrtho && !geometry.value) {
|
|
12607
12382
|
const ratio = (distanceFactor.value || 10) / 400;
|
|
12608
12383
|
if (sprite.value) {
|
|
12609
12384
|
effectiveMaterial.value.uniforms.uWidth.value = element.clientWidth * ratio;
|
|
@@ -12663,11 +12438,6 @@ var HTML_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
12663
12438
|
};
|
|
12664
12439
|
}
|
|
12665
12440
|
});
|
|
12666
|
-
|
|
12667
|
-
//#endregion
|
|
12668
|
-
//#region src/core/objects/html/HTML.vue
|
|
12669
|
-
var HTML_default = HTML_vue_vue_type_script_setup_true_lang_default;
|
|
12670
|
-
|
|
12671
12441
|
//#endregion
|
|
12672
12442
|
//#region src/core/objects/Image/ImageMaterialImpl.ts
|
|
12673
12443
|
/**
|
|
@@ -12740,10 +12510,9 @@ const ImageMaterialImpl = /* @__PURE__ */ shaderMaterial({
|
|
|
12740
12510
|
#include <colorspace_fragment>
|
|
12741
12511
|
}
|
|
12742
12512
|
`);
|
|
12743
|
-
|
|
12744
12513
|
//#endregion
|
|
12745
|
-
//#region src/core/objects/Image/ImageMaterial.vue
|
|
12746
|
-
var
|
|
12514
|
+
//#region src/core/objects/Image/ImageMaterial.vue
|
|
12515
|
+
var ImageMaterial_default = /* @__PURE__ */ defineComponent({
|
|
12747
12516
|
__name: "ImageMaterial",
|
|
12748
12517
|
setup(__props, { expose: __expose }) {
|
|
12749
12518
|
extend({ ImageMaterial: ImageMaterialImpl });
|
|
@@ -12757,16 +12526,13 @@ var ImageMaterial_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
12757
12526
|
};
|
|
12758
12527
|
}
|
|
12759
12528
|
});
|
|
12760
|
-
|
|
12761
|
-
//#endregion
|
|
12762
|
-
//#region src/core/objects/Image/ImageMaterial.vue
|
|
12763
|
-
var ImageMaterial_default = ImageMaterial_vue_vue_type_script_setup_true_lang_default;
|
|
12764
|
-
|
|
12765
12529
|
//#endregion
|
|
12766
12530
|
//#region src/core/objects/Image/component.vue?vue&type=script&setup=true&lang.ts
|
|
12767
12531
|
const _hoisted_1$33 = ["scale"];
|
|
12768
12532
|
const _hoisted_2$24 = ["args"];
|
|
12769
|
-
|
|
12533
|
+
//#endregion
|
|
12534
|
+
//#region src/core/objects/Image/component.vue
|
|
12535
|
+
var component_default$9 = /* @__PURE__ */ defineComponent({
|
|
12770
12536
|
__name: "component",
|
|
12771
12537
|
props: {
|
|
12772
12538
|
segments: {
|
|
@@ -12831,20 +12597,20 @@ var component_vue_vue_type_script_setup_true_lang_default$2 = /* @__PURE__ */ de
|
|
|
12831
12597
|
setup(__props, { expose: __expose }) {
|
|
12832
12598
|
const props = __props;
|
|
12833
12599
|
const imageRef = shallowRef();
|
|
12834
|
-
const texture
|
|
12600
|
+
const texture = shallowRef(props.texture ?? null);
|
|
12835
12601
|
const { sizes: size, renderer } = useTres();
|
|
12836
12602
|
const planeBounds = computed(() => Array.isArray(props.scale) ? [props.scale[0], props.scale[1]] : [props.scale, props.scale]);
|
|
12837
12603
|
const imageBounds = computed(() => {
|
|
12838
|
-
const image = texture
|
|
12604
|
+
const image = texture.value?.image;
|
|
12839
12605
|
return [image?.width ?? 1, image?.height ?? 1];
|
|
12840
12606
|
});
|
|
12841
12607
|
const resolution = computed(() => Math.max(size.width.value, size.height.value));
|
|
12842
12608
|
const { state, isLoading } = useTexture(computed(() => props.url));
|
|
12843
12609
|
watchEffect(() => {
|
|
12844
|
-
if (props.texture) texture
|
|
12610
|
+
if (props.texture) texture.value = props.texture;
|
|
12845
12611
|
else if (!isLoading.value) {
|
|
12846
|
-
texture
|
|
12847
|
-
texture
|
|
12612
|
+
texture.value = state.value;
|
|
12613
|
+
texture.value.colorSpace = renderer.outputColorSpace;
|
|
12848
12614
|
}
|
|
12849
12615
|
});
|
|
12850
12616
|
const scale = computed(() => Array.isArray(props.scale) ? [...props.scale, 1] : props.scale);
|
|
@@ -12861,7 +12627,7 @@ var component_vue_vue_type_script_setup_true_lang_default$2 = /* @__PURE__ */ de
|
|
|
12861
12627
|
props.segments
|
|
12862
12628
|
] }, null, 8, _hoisted_2$24)]), createVNode(ImageMaterial_default, {
|
|
12863
12629
|
color: props.color,
|
|
12864
|
-
map: texture
|
|
12630
|
+
map: texture.value,
|
|
12865
12631
|
zoom: props.zoom,
|
|
12866
12632
|
grayscale: props.grayscale,
|
|
12867
12633
|
opacity: props.opacity,
|
|
@@ -12889,18 +12655,12 @@ var component_vue_vue_type_script_setup_true_lang_default$2 = /* @__PURE__ */ de
|
|
|
12889
12655
|
};
|
|
12890
12656
|
}
|
|
12891
12657
|
});
|
|
12892
|
-
|
|
12893
|
-
//#endregion
|
|
12894
|
-
//#region src/core/objects/Image/component.vue
|
|
12895
|
-
var component_default$9 = component_vue_vue_type_script_setup_true_lang_default$2;
|
|
12896
|
-
|
|
12897
12658
|
//#endregion
|
|
12898
12659
|
//#region src/core/objects/MarchingCubes/const.ts
|
|
12899
12660
|
const MARCHING_CUBES_PROVIDE_KEY = Symbol("marchingCubes");
|
|
12900
|
-
|
|
12901
12661
|
//#endregion
|
|
12902
|
-
//#region src/core/objects/MarchingCubes/MarchingCube.vue
|
|
12903
|
-
var
|
|
12662
|
+
//#region src/core/objects/MarchingCubes/MarchingCube.vue
|
|
12663
|
+
var MarchingCube_default = /* @__PURE__ */ defineComponent({
|
|
12904
12664
|
__name: "MarchingCube",
|
|
12905
12665
|
props: {
|
|
12906
12666
|
strength: {
|
|
@@ -12942,15 +12702,12 @@ var MarchingCube_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
12942
12702
|
};
|
|
12943
12703
|
}
|
|
12944
12704
|
});
|
|
12945
|
-
|
|
12946
|
-
//#endregion
|
|
12947
|
-
//#region src/core/objects/MarchingCubes/MarchingCube.vue
|
|
12948
|
-
var MarchingCube_default = MarchingCube_vue_vue_type_script_setup_true_lang_default;
|
|
12949
|
-
|
|
12950
12705
|
//#endregion
|
|
12951
12706
|
//#region src/core/objects/MarchingCubes/MarchingCubes.vue?vue&type=script&setup=true&lang.ts
|
|
12952
12707
|
const _hoisted_1$32 = ["object"];
|
|
12953
|
-
|
|
12708
|
+
//#endregion
|
|
12709
|
+
//#region src/core/objects/MarchingCubes/MarchingCubes.vue
|
|
12710
|
+
var MarchingCubes_default = /* @__PURE__ */ defineComponent({
|
|
12954
12711
|
__name: "MarchingCubes",
|
|
12955
12712
|
props: {
|
|
12956
12713
|
resolution: {
|
|
@@ -12993,14 +12750,9 @@ var MarchingCubes_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
12993
12750
|
};
|
|
12994
12751
|
}
|
|
12995
12752
|
});
|
|
12996
|
-
|
|
12997
12753
|
//#endregion
|
|
12998
|
-
//#region src/core/objects/MarchingCubes/
|
|
12999
|
-
var
|
|
13000
|
-
|
|
13001
|
-
//#endregion
|
|
13002
|
-
//#region src/core/objects/MarchingCubes/MarchingPlane.vue?vue&type=script&setup=true&lang.ts
|
|
13003
|
-
var MarchingPlane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
12754
|
+
//#region src/core/objects/MarchingCubes/MarchingPlane.vue
|
|
12755
|
+
var MarchingPlane_default = /* @__PURE__ */ defineComponent({
|
|
13004
12756
|
__name: "MarchingPlane",
|
|
13005
12757
|
props: {
|
|
13006
12758
|
planeType: {
|
|
@@ -13036,15 +12788,12 @@ var MarchingPlane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
13036
12788
|
};
|
|
13037
12789
|
}
|
|
13038
12790
|
});
|
|
13039
|
-
|
|
13040
|
-
//#endregion
|
|
13041
|
-
//#region src/core/objects/MarchingCubes/MarchingPlane.vue
|
|
13042
|
-
var MarchingPlane_default = MarchingPlane_vue_vue_type_script_setup_true_lang_default;
|
|
13043
|
-
|
|
13044
12791
|
//#endregion
|
|
13045
12792
|
//#region src/core/objects/Refractor.vue?vue&type=script&setup=true&lang.ts
|
|
13046
12793
|
const _hoisted_1$31 = ["args", "material-uniforms-color-value"];
|
|
13047
|
-
|
|
12794
|
+
//#endregion
|
|
12795
|
+
//#region src/core/objects/Refractor.vue
|
|
12796
|
+
var Refractor_default = /* @__PURE__ */ defineComponent({
|
|
13048
12797
|
__name: "Refractor",
|
|
13049
12798
|
props: {
|
|
13050
12799
|
color: {
|
|
@@ -13080,9 +12829,9 @@ var Refractor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
13080
12829
|
},
|
|
13081
12830
|
setup(__props, { expose: __expose }) {
|
|
13082
12831
|
const props = __props;
|
|
13083
|
-
const { extend
|
|
12832
|
+
const { extend, invalidate } = useTres();
|
|
13084
12833
|
const refractorRef = shallowRef();
|
|
13085
|
-
extend
|
|
12834
|
+
extend({ Refractor });
|
|
13086
12835
|
const { color, textureWidth, textureHeight, clipBias, multisample, shader } = toRefs(props);
|
|
13087
12836
|
const colorValue = computed(() => new Color(color.value));
|
|
13088
12837
|
watch(props, () => {
|
|
@@ -13108,15 +12857,12 @@ var Refractor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
13108
12857
|
};
|
|
13109
12858
|
}
|
|
13110
12859
|
});
|
|
13111
|
-
|
|
13112
|
-
//#endregion
|
|
13113
|
-
//#region src/core/objects/Refractor.vue
|
|
13114
|
-
var Refractor_default = Refractor_vue_vue_type_script_setup_true_lang_default;
|
|
13115
|
-
|
|
13116
12860
|
//#endregion
|
|
13117
12861
|
//#region src/core/objects/Reflector.vue?vue&type=script&setup=true&lang.ts
|
|
13118
12862
|
const _hoisted_1$30 = ["args", "material-uniforms-color-value"];
|
|
13119
|
-
|
|
12863
|
+
//#endregion
|
|
12864
|
+
//#region src/core/objects/Reflector.vue
|
|
12865
|
+
var Reflector_default = /* @__PURE__ */ defineComponent({
|
|
13120
12866
|
__name: "Reflector",
|
|
13121
12867
|
props: {
|
|
13122
12868
|
color: {
|
|
@@ -13152,9 +12898,9 @@ var Reflector_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
13152
12898
|
},
|
|
13153
12899
|
setup(__props, { expose: __expose }) {
|
|
13154
12900
|
const props = __props;
|
|
13155
|
-
const { extend
|
|
12901
|
+
const { extend, invalidate } = useTres();
|
|
13156
12902
|
const reflectorRef = shallowRef();
|
|
13157
|
-
extend
|
|
12903
|
+
extend({ Reflector });
|
|
13158
12904
|
const { color, textureWidth, textureHeight, clipBias, multisample, shader } = toRefs(props);
|
|
13159
12905
|
const colorValue = computed(() => new Color(color.value));
|
|
13160
12906
|
watch(props, () => {
|
|
@@ -13180,15 +12926,12 @@ var Reflector_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
13180
12926
|
};
|
|
13181
12927
|
}
|
|
13182
12928
|
});
|
|
13183
|
-
|
|
13184
|
-
//#endregion
|
|
13185
|
-
//#region src/core/objects/Reflector.vue
|
|
13186
|
-
var Reflector_default = Reflector_vue_vue_type_script_setup_true_lang_default;
|
|
13187
|
-
|
|
13188
12929
|
//#endregion
|
|
13189
12930
|
//#region src/core/objects/Text3D.vue?vue&type=script&setup=true&lang.ts
|
|
13190
12931
|
const _hoisted_1$29 = ["args", "center"];
|
|
13191
|
-
|
|
12932
|
+
//#endregion
|
|
12933
|
+
//#region src/core/objects/Text3D.vue
|
|
12934
|
+
var Text3D_default = /* @__PURE__ */ defineComponent({
|
|
13192
12935
|
__name: "Text3D",
|
|
13193
12936
|
props: {
|
|
13194
12937
|
font: {
|
|
@@ -13254,11 +12997,11 @@ var Text3D_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
13254
12997
|
let __temp, __restore;
|
|
13255
12998
|
const props = __props;
|
|
13256
12999
|
const { center, font, text, needUpdates, size, height, curveSegments, bevelEnabled, bevelThickness, bevelSize, bevelOffset, bevelSegments } = toRefs(props);
|
|
13257
|
-
const { extend
|
|
13000
|
+
const { extend, invalidate } = useTres();
|
|
13258
13001
|
watch(props, () => {
|
|
13259
13002
|
invalidate();
|
|
13260
13003
|
});
|
|
13261
|
-
extend
|
|
13004
|
+
extend({ TextGeometry });
|
|
13262
13005
|
const loader = new FontLoader();
|
|
13263
13006
|
const slots = useSlots();
|
|
13264
13007
|
const localText = computed(() => {
|
|
@@ -13270,8 +13013,8 @@ var Text3D_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
13270
13013
|
__expose({ instance: text3DRef });
|
|
13271
13014
|
const localFont = ([__temp, __restore] = withAsyncContext(() => new Promise((resolve, reject) => {
|
|
13272
13015
|
try {
|
|
13273
|
-
if (typeof font.value === "string") loader.load(font.value, (font
|
|
13274
|
-
resolve(font
|
|
13016
|
+
if (typeof font.value === "string") loader.load(font.value, (font) => {
|
|
13017
|
+
resolve(font);
|
|
13275
13018
|
});
|
|
13276
13019
|
else resolve(font.value);
|
|
13277
13020
|
} catch (error) {
|
|
@@ -13309,16 +13052,13 @@ var Text3D_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
13309
13052
|
};
|
|
13310
13053
|
}
|
|
13311
13054
|
});
|
|
13312
|
-
|
|
13313
|
-
//#endregion
|
|
13314
|
-
//#region src/core/objects/Text3D.vue
|
|
13315
|
-
var Text3D_default = Text3D_vue_vue_type_script_setup_true_lang_default;
|
|
13316
|
-
|
|
13317
13055
|
//#endregion
|
|
13318
13056
|
//#region src/core/shapes/Box.vue?vue&type=script&setup=true&lang.ts
|
|
13319
13057
|
const _hoisted_1$28 = ["args"];
|
|
13320
13058
|
const _hoisted_2$23 = ["color"];
|
|
13321
|
-
|
|
13059
|
+
//#endregion
|
|
13060
|
+
//#region src/core/shapes/Box.vue
|
|
13061
|
+
var Box_default = /* @__PURE__ */ defineComponent({
|
|
13322
13062
|
__name: "Box",
|
|
13323
13063
|
props: {
|
|
13324
13064
|
args: {
|
|
@@ -13353,15 +13093,12 @@ var Box_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComp
|
|
|
13353
13093
|
};
|
|
13354
13094
|
}
|
|
13355
13095
|
});
|
|
13356
|
-
|
|
13357
|
-
//#endregion
|
|
13358
|
-
//#region src/core/shapes/Box.vue
|
|
13359
|
-
var Box_default = Box_vue_vue_type_script_setup_true_lang_default;
|
|
13360
|
-
|
|
13361
13096
|
//#endregion
|
|
13362
13097
|
//#region src/core/shapes/Line2.vue?vue&type=script&setup=true&lang.ts
|
|
13363
13098
|
const _hoisted_1$27 = ["object"];
|
|
13364
|
-
|
|
13099
|
+
//#endregion
|
|
13100
|
+
//#region src/core/shapes/Line2.vue
|
|
13101
|
+
var Line2_default = /* @__PURE__ */ defineComponent({
|
|
13365
13102
|
__name: "Line2",
|
|
13366
13103
|
props: {
|
|
13367
13104
|
points: {
|
|
@@ -13440,20 +13177,20 @@ var Line2_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
13440
13177
|
}
|
|
13441
13178
|
const lineMaterial = new LineMaterial();
|
|
13442
13179
|
const lineGeometry = new LineGeometry();
|
|
13443
|
-
const line
|
|
13180
|
+
const line = new Line2(lineGeometry, lineMaterial);
|
|
13444
13181
|
const { sizes, invalidate } = useTres();
|
|
13445
13182
|
const hasVertexColors = computed(() => Array.isArray(props.vertexColors));
|
|
13446
|
-
function updateLineMaterial(material, props
|
|
13447
|
-
material.color = normalizeColor(props
|
|
13448
|
-
material.linewidth = props
|
|
13449
|
-
material.alphaToCoverage = props
|
|
13450
|
-
material.worldUnits = props
|
|
13451
|
-
material.vertexColors = Array.isArray(props
|
|
13452
|
-
material.dashed = props
|
|
13453
|
-
material.dashScale = props
|
|
13454
|
-
material.dashSize = props
|
|
13455
|
-
material.dashOffset = props
|
|
13456
|
-
material.gapSize = props
|
|
13183
|
+
function updateLineMaterial(material, props) {
|
|
13184
|
+
material.color = normalizeColor(props.color);
|
|
13185
|
+
material.linewidth = props.lineWidth;
|
|
13186
|
+
material.alphaToCoverage = props.alphaToCoverage;
|
|
13187
|
+
material.worldUnits = props.worldUnits;
|
|
13188
|
+
material.vertexColors = Array.isArray(props.vertexColors);
|
|
13189
|
+
material.dashed = props.dashed;
|
|
13190
|
+
material.dashScale = props.dashScale;
|
|
13191
|
+
material.dashSize = props.dashSize;
|
|
13192
|
+
material.dashOffset = props.dashOffset;
|
|
13193
|
+
material.gapSize = props.gapSize;
|
|
13457
13194
|
material.needsUpdate = true;
|
|
13458
13195
|
}
|
|
13459
13196
|
function updateLineGeometry(geometry, points, vertexColors) {
|
|
@@ -13478,11 +13215,11 @@ var Line2_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
13478
13215
|
geometry.setPositions(pValues.flat());
|
|
13479
13216
|
const colors = getInterpolatedVertexColors(vertexColors, points.length).map((c) => c.toArray()).flat();
|
|
13480
13217
|
geometry.setColors(colors);
|
|
13481
|
-
line
|
|
13218
|
+
line.computeLineDistances();
|
|
13482
13219
|
}
|
|
13483
13220
|
updateLineMaterial(lineMaterial, props);
|
|
13484
13221
|
updateLineGeometry(lineGeometry, props.points, props.vertexColors);
|
|
13485
|
-
line
|
|
13222
|
+
line.computeLineDistances();
|
|
13486
13223
|
watch(() => [
|
|
13487
13224
|
props.color,
|
|
13488
13225
|
props.lineWidth,
|
|
@@ -13514,19 +13251,14 @@ var Line2_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
13514
13251
|
return (_ctx, _cache) => {
|
|
13515
13252
|
return openBlock(), createElementBlock("primitive", {
|
|
13516
13253
|
ref: lineRef.value,
|
|
13517
|
-
object: unref(line
|
|
13254
|
+
object: unref(line)
|
|
13518
13255
|
}, null, 8, _hoisted_1$27);
|
|
13519
13256
|
};
|
|
13520
13257
|
}
|
|
13521
13258
|
});
|
|
13522
|
-
|
|
13523
13259
|
//#endregion
|
|
13524
|
-
//#region src/core/shapes/
|
|
13525
|
-
var
|
|
13526
|
-
|
|
13527
|
-
//#endregion
|
|
13528
|
-
//#region src/core/shapes/CatmullRomCurve3.vue?vue&type=script&setup=true&lang.ts
|
|
13529
|
-
var CatmullRomCurve3_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
13260
|
+
//#region src/core/shapes/CatmullRomCurve3.vue
|
|
13261
|
+
var CatmullRomCurve3_default = /* @__PURE__ */ defineComponent({
|
|
13530
13262
|
__name: "CatmullRomCurve3",
|
|
13531
13263
|
props: {
|
|
13532
13264
|
segments: {
|
|
@@ -13596,11 +13328,12 @@ var CatmullRomCurve3_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
13596
13328
|
},
|
|
13597
13329
|
setup(__props, { expose: __expose }) {
|
|
13598
13330
|
const props = __props;
|
|
13599
|
-
function getCatmullRomCurve(points, closed
|
|
13600
|
-
|
|
13331
|
+
function getCatmullRomCurve(points, closed, curveType, tension) {
|
|
13332
|
+
const mappedPoints = points.map((pt) => pt instanceof Vector3 ? pt : new Vector3(...pt));
|
|
13333
|
+
return new CatmullRomCurve3(mappedPoints, closed, curveType, tension);
|
|
13601
13334
|
}
|
|
13602
|
-
function getSegmentedPoints(curve
|
|
13603
|
-
return curve
|
|
13335
|
+
function getSegmentedPoints(curve, segments) {
|
|
13336
|
+
return curve.getPoints(segments);
|
|
13604
13337
|
}
|
|
13605
13338
|
const curve = computed(() => getCatmullRomCurve(props.points, props.closed, props.curveType, props.tension));
|
|
13606
13339
|
const segmentedPoints = computed(() => getSegmentedPoints(curve.value, props.segments));
|
|
@@ -13636,16 +13369,13 @@ var CatmullRomCurve3_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
13636
13369
|
};
|
|
13637
13370
|
}
|
|
13638
13371
|
});
|
|
13639
|
-
|
|
13640
|
-
//#endregion
|
|
13641
|
-
//#region src/core/shapes/CatmullRomCurve3.vue
|
|
13642
|
-
var CatmullRomCurve3_default = CatmullRomCurve3_vue_vue_type_script_setup_true_lang_default;
|
|
13643
|
-
|
|
13644
13372
|
//#endregion
|
|
13645
13373
|
//#region src/core/shapes/Circle.vue?vue&type=script&setup=true&lang.ts
|
|
13646
13374
|
const _hoisted_1$26 = ["args"];
|
|
13647
13375
|
const _hoisted_2$22 = ["color"];
|
|
13648
|
-
|
|
13376
|
+
//#endregion
|
|
13377
|
+
//#region src/core/shapes/Circle.vue
|
|
13378
|
+
var Circle_default = /* @__PURE__ */ defineComponent({
|
|
13649
13379
|
__name: "Circle",
|
|
13650
13380
|
props: {
|
|
13651
13381
|
args: {
|
|
@@ -13681,16 +13411,13 @@ var Circle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
13681
13411
|
};
|
|
13682
13412
|
}
|
|
13683
13413
|
});
|
|
13684
|
-
|
|
13685
|
-
//#endregion
|
|
13686
|
-
//#region src/core/shapes/Circle.vue
|
|
13687
|
-
var Circle_default = Circle_vue_vue_type_script_setup_true_lang_default;
|
|
13688
|
-
|
|
13689
13414
|
//#endregion
|
|
13690
13415
|
//#region src/core/shapes/Cone.vue?vue&type=script&setup=true&lang.ts
|
|
13691
13416
|
const _hoisted_1$25 = ["args"];
|
|
13692
13417
|
const _hoisted_2$21 = ["color"];
|
|
13693
|
-
|
|
13418
|
+
//#endregion
|
|
13419
|
+
//#region src/core/shapes/Cone.vue
|
|
13420
|
+
var Cone_default = /* @__PURE__ */ defineComponent({
|
|
13694
13421
|
__name: "Cone",
|
|
13695
13422
|
props: {
|
|
13696
13423
|
args: {
|
|
@@ -13729,14 +13456,9 @@ var Cone_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
13729
13456
|
};
|
|
13730
13457
|
}
|
|
13731
13458
|
});
|
|
13732
|
-
|
|
13733
13459
|
//#endregion
|
|
13734
|
-
//#region src/core/shapes/
|
|
13735
|
-
var
|
|
13736
|
-
|
|
13737
|
-
//#endregion
|
|
13738
|
-
//#region src/core/shapes/CubicBezierLine.vue?vue&type=script&setup=true&lang.ts
|
|
13739
|
-
var CubicBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
13460
|
+
//#region src/core/shapes/CubicBezierLine.vue
|
|
13461
|
+
var CubicBezierLine_default = /* @__PURE__ */ defineComponent({
|
|
13740
13462
|
__name: "CubicBezierLine",
|
|
13741
13463
|
props: {
|
|
13742
13464
|
start: {
|
|
@@ -13766,7 +13488,9 @@ var CubicBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
13766
13488
|
const points = computed(() => {
|
|
13767
13489
|
const startV = props.start instanceof Vector3 ? props.start : new Vector3(...props.start);
|
|
13768
13490
|
const endV = props.end instanceof Vector3 ? props.end : new Vector3(...props.end);
|
|
13769
|
-
|
|
13491
|
+
const midAV = props.midA instanceof Vector3 ? props.midA : new Vector3(...props.midA);
|
|
13492
|
+
const midBV = props.midB instanceof Vector3 ? props.midB : new Vector3(...props.midB);
|
|
13493
|
+
return new CubicBezierCurve3(startV, midAV, midBV, endV).getPoints(props.segments);
|
|
13770
13494
|
});
|
|
13771
13495
|
const lineRef = shallowRef();
|
|
13772
13496
|
__expose({ instance: lineRef });
|
|
@@ -13779,16 +13503,13 @@ var CubicBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
13779
13503
|
};
|
|
13780
13504
|
}
|
|
13781
13505
|
});
|
|
13782
|
-
|
|
13783
|
-
//#endregion
|
|
13784
|
-
//#region src/core/shapes/CubicBezierLine.vue
|
|
13785
|
-
var CubicBezierLine_default = CubicBezierLine_vue_vue_type_script_setup_true_lang_default;
|
|
13786
|
-
|
|
13787
13506
|
//#endregion
|
|
13788
13507
|
//#region src/core/shapes/Cylinder.vue?vue&type=script&setup=true&lang.ts
|
|
13789
13508
|
const _hoisted_1$24 = ["args"];
|
|
13790
13509
|
const _hoisted_2$20 = ["color"];
|
|
13791
|
-
|
|
13510
|
+
//#endregion
|
|
13511
|
+
//#region src/core/shapes/Cylinder.vue
|
|
13512
|
+
var Cylinder_default = /* @__PURE__ */ defineComponent({
|
|
13792
13513
|
__name: "Cylinder",
|
|
13793
13514
|
props: {
|
|
13794
13515
|
args: {
|
|
@@ -13828,16 +13549,13 @@ var Cylinder_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
13828
13549
|
};
|
|
13829
13550
|
}
|
|
13830
13551
|
});
|
|
13831
|
-
|
|
13832
|
-
//#endregion
|
|
13833
|
-
//#region src/core/shapes/Cylinder.vue
|
|
13834
|
-
var Cylinder_default = Cylinder_vue_vue_type_script_setup_true_lang_default;
|
|
13835
|
-
|
|
13836
13552
|
//#endregion
|
|
13837
13553
|
//#region src/core/shapes/Dodecahedron.vue?vue&type=script&setup=true&lang.ts
|
|
13838
13554
|
const _hoisted_1$23 = ["args"];
|
|
13839
13555
|
const _hoisted_2$19 = ["color"];
|
|
13840
|
-
|
|
13556
|
+
//#endregion
|
|
13557
|
+
//#region src/core/shapes/Dodecahedron.vue
|
|
13558
|
+
var Dodecahedron_default = /* @__PURE__ */ defineComponent({
|
|
13841
13559
|
__name: "Dodecahedron",
|
|
13842
13560
|
props: {
|
|
13843
13561
|
args: {
|
|
@@ -13868,11 +13586,6 @@ var Dodecahedron_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
13868
13586
|
};
|
|
13869
13587
|
}
|
|
13870
13588
|
});
|
|
13871
|
-
|
|
13872
|
-
//#endregion
|
|
13873
|
-
//#region src/core/shapes/Dodecahedron.vue
|
|
13874
|
-
var Dodecahedron_default = Dodecahedron_vue_vue_type_script_setup_true_lang_default;
|
|
13875
|
-
|
|
13876
13589
|
//#endregion
|
|
13877
13590
|
//#region src/core/shapes/Grid.vue?vue&type=script&setup=true&lang.ts
|
|
13878
13591
|
const _hoisted_1$22 = [
|
|
@@ -13890,7 +13603,9 @@ const _hoisted_1$22 = [
|
|
|
13890
13603
|
"follow-camera"
|
|
13891
13604
|
];
|
|
13892
13605
|
const _hoisted_2$18 = ["args"];
|
|
13893
|
-
|
|
13606
|
+
//#endregion
|
|
13607
|
+
//#region src/core/shapes/Grid.vue
|
|
13608
|
+
var Grid_default = /* @__PURE__ */ defineComponent({
|
|
13894
13609
|
__name: "Grid",
|
|
13895
13610
|
props: {
|
|
13896
13611
|
cellSize: {
|
|
@@ -13968,7 +13683,7 @@ var Grid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
13968
13683
|
},
|
|
13969
13684
|
setup(__props) {
|
|
13970
13685
|
const props = __props;
|
|
13971
|
-
|
|
13686
|
+
const GridMaterial = shaderMaterial({
|
|
13972
13687
|
cellSize: .5,
|
|
13973
13688
|
sectionSize: 1,
|
|
13974
13689
|
fadeDistance: 100,
|
|
@@ -14042,25 +13757,26 @@ var Grid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
14042
13757
|
#include <tonemapping_fragment>
|
|
14043
13758
|
#include <colorspace_fragment>
|
|
14044
13759
|
}
|
|
14045
|
-
`)
|
|
14046
|
-
|
|
13760
|
+
`);
|
|
13761
|
+
extend({ GridMaterial });
|
|
13762
|
+
const ref = shallowRef(new Mesh());
|
|
14047
13763
|
const plane = new Plane();
|
|
14048
13764
|
const upVector = new Vector3(0, 1, 0);
|
|
14049
13765
|
const zeroVector = new Vector3(0, 0, 0);
|
|
14050
13766
|
const { onBeforeRender } = useLoop();
|
|
14051
13767
|
onBeforeRender((state) => {
|
|
14052
13768
|
if (!state.camera) return;
|
|
14053
|
-
plane.setFromNormalAndCoplanarPoint(upVector, zeroVector).applyMatrix4(ref
|
|
14054
|
-
const gridMaterial = ref
|
|
13769
|
+
plane.setFromNormalAndCoplanarPoint(upVector, zeroVector).applyMatrix4(ref.value.matrixWorld);
|
|
13770
|
+
const gridMaterial = ref.value.material;
|
|
14055
13771
|
const worldCamProjPosition = gridMaterial.uniforms.worldCamProjPosition;
|
|
14056
13772
|
const worldPlanePosition = gridMaterial.uniforms.worldPlanePosition;
|
|
14057
13773
|
plane.projectPoint(state.camera.value.position, worldCamProjPosition.value);
|
|
14058
|
-
worldPlanePosition.value.set(0, 0, 0).applyMatrix4(ref
|
|
13774
|
+
worldPlanePosition.value.set(0, 0, 0).applyMatrix4(ref.value.matrixWorld);
|
|
14059
13775
|
});
|
|
14060
13776
|
return (_ctx, _cache) => {
|
|
14061
13777
|
return openBlock(), createElementBlock("TresMesh", {
|
|
14062
13778
|
ref_key: "ref",
|
|
14063
|
-
ref
|
|
13779
|
+
ref,
|
|
14064
13780
|
"frustum-culled": false
|
|
14065
13781
|
}, [createElementVNode("TresGridMaterial", {
|
|
14066
13782
|
transparent: true,
|
|
@@ -14081,16 +13797,13 @@ var Grid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
14081
13797
|
};
|
|
14082
13798
|
}
|
|
14083
13799
|
});
|
|
14084
|
-
|
|
14085
|
-
//#endregion
|
|
14086
|
-
//#region src/core/shapes/Grid.vue
|
|
14087
|
-
var Grid_default = Grid_vue_vue_type_script_setup_true_lang_default;
|
|
14088
|
-
|
|
14089
13800
|
//#endregion
|
|
14090
13801
|
//#region src/core/shapes/Icosahedron.vue?vue&type=script&setup=true&lang.ts
|
|
14091
13802
|
const _hoisted_1$21 = ["args"];
|
|
14092
13803
|
const _hoisted_2$17 = ["color"];
|
|
14093
|
-
|
|
13804
|
+
//#endregion
|
|
13805
|
+
//#region src/core/shapes/Icosahedron.vue
|
|
13806
|
+
var Icosahedron_default = /* @__PURE__ */ defineComponent({
|
|
14094
13807
|
__name: "Icosahedron",
|
|
14095
13808
|
props: {
|
|
14096
13809
|
args: {
|
|
@@ -14121,16 +13834,13 @@ var Icosahedron_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
14121
13834
|
};
|
|
14122
13835
|
}
|
|
14123
13836
|
});
|
|
14124
|
-
|
|
14125
|
-
//#endregion
|
|
14126
|
-
//#region src/core/shapes/Icosahedron.vue
|
|
14127
|
-
var Icosahedron_default = Icosahedron_vue_vue_type_script_setup_true_lang_default;
|
|
14128
|
-
|
|
14129
13837
|
//#endregion
|
|
14130
13838
|
//#region src/core/shapes/Octahedron.vue?vue&type=script&setup=true&lang.ts
|
|
14131
13839
|
const _hoisted_1$20 = ["args"];
|
|
14132
13840
|
const _hoisted_2$16 = ["color"];
|
|
14133
|
-
|
|
13841
|
+
//#endregion
|
|
13842
|
+
//#region src/core/shapes/Octahedron.vue
|
|
13843
|
+
var Octahedron_default = /* @__PURE__ */ defineComponent({
|
|
14134
13844
|
__name: "Octahedron",
|
|
14135
13845
|
props: {
|
|
14136
13846
|
args: {
|
|
@@ -14161,17 +13871,14 @@ var Octahedron_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
14161
13871
|
};
|
|
14162
13872
|
}
|
|
14163
13873
|
});
|
|
14164
|
-
|
|
14165
|
-
//#endregion
|
|
14166
|
-
//#region src/core/shapes/Octahedron.vue
|
|
14167
|
-
var Octahedron_default = Octahedron_vue_vue_type_script_setup_true_lang_default;
|
|
14168
|
-
|
|
14169
13874
|
//#endregion
|
|
14170
13875
|
//#region src/core/shapes/Plane.vue?vue&type=script&setup=true&lang.ts
|
|
14171
13876
|
const _hoisted_1$19 = ["rotation"];
|
|
14172
13877
|
const _hoisted_2$15 = ["args"];
|
|
14173
13878
|
const _hoisted_3$4 = ["color"];
|
|
14174
|
-
|
|
13879
|
+
//#endregion
|
|
13880
|
+
//#region src/core/shapes/Plane.vue
|
|
13881
|
+
var Plane_default = /* @__PURE__ */ defineComponent({
|
|
14175
13882
|
__name: "Plane",
|
|
14176
13883
|
props: {
|
|
14177
13884
|
args: {
|
|
@@ -14207,14 +13914,9 @@ var Plane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
14207
13914
|
};
|
|
14208
13915
|
}
|
|
14209
13916
|
});
|
|
14210
|
-
|
|
14211
13917
|
//#endregion
|
|
14212
|
-
//#region src/core/shapes/
|
|
14213
|
-
var
|
|
14214
|
-
|
|
14215
|
-
//#endregion
|
|
14216
|
-
//#region src/core/shapes/QuadraticBezierLine.vue?vue&type=script&setup=true&lang.ts
|
|
14217
|
-
var QuadraticBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
13918
|
+
//#region src/core/shapes/QuadraticBezierLine.vue
|
|
13919
|
+
var QuadraticBezierLine_default = /* @__PURE__ */ defineComponent({
|
|
14218
13920
|
__name: "QuadraticBezierLine",
|
|
14219
13921
|
props: {
|
|
14220
13922
|
start: {
|
|
@@ -14240,7 +13942,8 @@ var QuadraticBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
14240
13942
|
const points = computed(() => {
|
|
14241
13943
|
const startV = props.start instanceof Vector3 ? props.start : new Vector3(...props.start);
|
|
14242
13944
|
const endV = props.end instanceof Vector3 ? props.end : new Vector3(...props.end);
|
|
14243
|
-
|
|
13945
|
+
const mid = props.mid instanceof Vector3 ? props.mid : Array.isArray(props.mid) ? new Vector3(...props.mid) : new Vector3(endV.x, startV.y, endV.z);
|
|
13946
|
+
return new QuadraticBezierCurve3(startV, mid, endV).getPoints(props.segments);
|
|
14244
13947
|
});
|
|
14245
13948
|
const lineRef = shallowRef();
|
|
14246
13949
|
__expose({ instance: lineRef });
|
|
@@ -14253,16 +13956,13 @@ var QuadraticBezierLine_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
14253
13956
|
};
|
|
14254
13957
|
}
|
|
14255
13958
|
});
|
|
14256
|
-
|
|
14257
|
-
//#endregion
|
|
14258
|
-
//#region src/core/shapes/QuadraticBezierLine.vue
|
|
14259
|
-
var QuadraticBezierLine_default = QuadraticBezierLine_vue_vue_type_script_setup_true_lang_default;
|
|
14260
|
-
|
|
14261
13959
|
//#endregion
|
|
14262
13960
|
//#region src/core/shapes/Ring.vue?vue&type=script&setup=true&lang.ts
|
|
14263
13961
|
const _hoisted_1$18 = ["args"];
|
|
14264
13962
|
const _hoisted_2$14 = ["color"];
|
|
14265
|
-
|
|
13963
|
+
//#endregion
|
|
13964
|
+
//#region src/core/shapes/Ring.vue
|
|
13965
|
+
var Ring_default = /* @__PURE__ */ defineComponent({
|
|
14266
13966
|
__name: "Ring",
|
|
14267
13967
|
props: {
|
|
14268
13968
|
args: {
|
|
@@ -14296,16 +13996,13 @@ var Ring_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
14296
13996
|
};
|
|
14297
13997
|
}
|
|
14298
13998
|
});
|
|
14299
|
-
|
|
14300
|
-
//#endregion
|
|
14301
|
-
//#region src/core/shapes/Ring.vue
|
|
14302
|
-
var Ring_default = Ring_vue_vue_type_script_setup_true_lang_default;
|
|
14303
|
-
|
|
14304
13999
|
//#endregion
|
|
14305
14000
|
//#region src/core/shapes/RoundedBox.vue?vue&type=script&setup=true&lang.ts
|
|
14306
14001
|
const _hoisted_1$17 = ["args"];
|
|
14307
14002
|
const _hoisted_2$13 = ["color"];
|
|
14308
|
-
|
|
14003
|
+
//#endregion
|
|
14004
|
+
//#region src/core/shapes/RoundedBox.vue
|
|
14005
|
+
var RoundedBox_default = /* @__PURE__ */ defineComponent({
|
|
14309
14006
|
__name: "RoundedBox",
|
|
14310
14007
|
props: {
|
|
14311
14008
|
args: {
|
|
@@ -14327,8 +14024,8 @@ var RoundedBox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
14327
14024
|
},
|
|
14328
14025
|
setup(__props, { expose: __expose }) {
|
|
14329
14026
|
const { args, color } = toRefs(__props);
|
|
14330
|
-
const { invalidate, extend
|
|
14331
|
-
extend
|
|
14027
|
+
const { invalidate, extend } = useTres();
|
|
14028
|
+
extend({ RoundedBoxGeometry });
|
|
14332
14029
|
watch(args, () => {
|
|
14333
14030
|
invalidate();
|
|
14334
14031
|
});
|
|
@@ -14342,11 +14039,6 @@ var RoundedBox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
14342
14039
|
};
|
|
14343
14040
|
}
|
|
14344
14041
|
});
|
|
14345
|
-
|
|
14346
|
-
//#endregion
|
|
14347
|
-
//#region src/core/shapes/RoundedBox.vue
|
|
14348
|
-
var RoundedBox_default = RoundedBox_vue_vue_type_script_setup_true_lang_default;
|
|
14349
|
-
|
|
14350
14042
|
//#endregion
|
|
14351
14043
|
//#region src/core/shapes/RoundedPlaneGeometry.ts
|
|
14352
14044
|
/**
|
|
@@ -14453,12 +14145,13 @@ var RoundedPlaneGeometry = class extends BufferGeometry {
|
|
|
14453
14145
|
this.setAttribute("uv", new BufferAttribute(new Float32Array(uvs), 2));
|
|
14454
14146
|
}
|
|
14455
14147
|
};
|
|
14456
|
-
|
|
14457
14148
|
//#endregion
|
|
14458
14149
|
//#region src/core/shapes/RoundedPlane.vue?vue&type=script&setup=true&lang.ts
|
|
14459
14150
|
const _hoisted_1$16 = ["args"];
|
|
14460
14151
|
const _hoisted_2$12 = ["color"];
|
|
14461
|
-
|
|
14152
|
+
//#endregion
|
|
14153
|
+
//#region src/core/shapes/RoundedPlane.vue
|
|
14154
|
+
var RoundedPlane_default = /* @__PURE__ */ defineComponent({
|
|
14462
14155
|
__name: "RoundedPlane",
|
|
14463
14156
|
props: {
|
|
14464
14157
|
args: {
|
|
@@ -14479,8 +14172,8 @@ var RoundedPlane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14479
14172
|
},
|
|
14480
14173
|
setup(__props, { expose: __expose }) {
|
|
14481
14174
|
const { args, color } = toRefs(__props);
|
|
14482
|
-
const { invalidate, extend
|
|
14483
|
-
extend
|
|
14175
|
+
const { invalidate, extend } = useTres();
|
|
14176
|
+
extend({ RoundedPlaneGeometry });
|
|
14484
14177
|
watch(args, () => {
|
|
14485
14178
|
invalidate();
|
|
14486
14179
|
});
|
|
@@ -14494,15 +14187,12 @@ var RoundedPlane_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14494
14187
|
};
|
|
14495
14188
|
}
|
|
14496
14189
|
});
|
|
14497
|
-
|
|
14498
|
-
//#endregion
|
|
14499
|
-
//#region src/core/shapes/RoundedPlane.vue
|
|
14500
|
-
var RoundedPlane_default = RoundedPlane_vue_vue_type_script_setup_true_lang_default;
|
|
14501
|
-
|
|
14502
14190
|
//#endregion
|
|
14503
14191
|
//#region src/core/shapes/ScreenQuad.vue?vue&type=script&setup=true&lang.ts
|
|
14504
14192
|
const _hoisted_1$15 = ["geometry"];
|
|
14505
|
-
|
|
14193
|
+
//#endregion
|
|
14194
|
+
//#region src/core/shapes/ScreenQuad.vue
|
|
14195
|
+
var ScreenQuad_default = /* @__PURE__ */ defineComponent({
|
|
14506
14196
|
__name: "ScreenQuad",
|
|
14507
14197
|
setup(__props, { expose: __expose }) {
|
|
14508
14198
|
const geometry = new THREE.BufferGeometry();
|
|
@@ -14529,16 +14219,13 @@ var ScreenQuad_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
|
|
|
14529
14219
|
};
|
|
14530
14220
|
}
|
|
14531
14221
|
});
|
|
14532
|
-
|
|
14533
|
-
//#endregion
|
|
14534
|
-
//#region src/core/shapes/ScreenQuad.vue
|
|
14535
|
-
var ScreenQuad_default = ScreenQuad_vue_vue_type_script_setup_true_lang_default;
|
|
14536
|
-
|
|
14537
14222
|
//#endregion
|
|
14538
14223
|
//#region src/core/shapes/Sphere.vue?vue&type=script&setup=true&lang.ts
|
|
14539
14224
|
const _hoisted_1$14 = ["args"];
|
|
14540
14225
|
const _hoisted_2$11 = ["color"];
|
|
14541
|
-
|
|
14226
|
+
//#endregion
|
|
14227
|
+
//#region src/core/shapes/Sphere.vue
|
|
14228
|
+
var Sphere_default = /* @__PURE__ */ defineComponent({
|
|
14542
14229
|
__name: "Sphere",
|
|
14543
14230
|
props: {
|
|
14544
14231
|
args: {
|
|
@@ -14573,16 +14260,13 @@ var Sphere_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
|
|
|
14573
14260
|
};
|
|
14574
14261
|
}
|
|
14575
14262
|
});
|
|
14576
|
-
|
|
14577
|
-
//#endregion
|
|
14578
|
-
//#region src/core/shapes/Sphere.vue
|
|
14579
|
-
var Sphere_default = Sphere_vue_vue_type_script_setup_true_lang_default;
|
|
14580
|
-
|
|
14581
14263
|
//#endregion
|
|
14582
14264
|
//#region src/core/shapes/Superformula.vue?vue&type=script&setup=true&lang.ts
|
|
14583
14265
|
const _hoisted_1$13 = ["geometry"];
|
|
14584
14266
|
const _hoisted_2$10 = ["color"];
|
|
14585
|
-
|
|
14267
|
+
//#endregion
|
|
14268
|
+
//#region src/core/shapes/Superformula.vue
|
|
14269
|
+
var Superformula_default = /* @__PURE__ */ defineComponent({
|
|
14586
14270
|
__name: "Superformula",
|
|
14587
14271
|
props: {
|
|
14588
14272
|
widthSegments: {
|
|
@@ -14636,19 +14320,19 @@ var Superformula_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14636
14320
|
const geometry = shallowRef();
|
|
14637
14321
|
const color = shallowRef(props.color);
|
|
14638
14322
|
function makeGeometry(widthSegments, heightSegments) {
|
|
14639
|
-
const geometry
|
|
14323
|
+
const geometry = new BufferGeometry();
|
|
14640
14324
|
const numPoints = widthSegments * heightSegments;
|
|
14641
14325
|
const vertices = new Float32Array(Array.from({ length: 3 * numPoints }).fill(0));
|
|
14642
14326
|
const normals = new Float32Array(Array.from({ length: 3 * numPoints }).fill(0));
|
|
14643
14327
|
const indices = [];
|
|
14644
14328
|
for (let h = 0; h < heightSegments - 1; h++) {
|
|
14645
14329
|
for (let w = 0; w < widthSegments - 1; w++) {
|
|
14646
|
-
const tl
|
|
14647
|
-
const tr
|
|
14648
|
-
const bl
|
|
14649
|
-
const br
|
|
14650
|
-
indices.push(tl
|
|
14651
|
-
indices.push(bl
|
|
14330
|
+
const tl = h * widthSegments + w;
|
|
14331
|
+
const tr = tl + 1;
|
|
14332
|
+
const bl = tl + widthSegments;
|
|
14333
|
+
const br = tr + widthSegments;
|
|
14334
|
+
indices.push(tl, bl, tr);
|
|
14335
|
+
indices.push(bl, br, tr);
|
|
14652
14336
|
}
|
|
14653
14337
|
const tl = h * widthSegments + widthSegments - 1;
|
|
14654
14338
|
const tr = h * widthSegments;
|
|
@@ -14657,20 +14341,20 @@ var Superformula_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14657
14341
|
indices.push(tl, bl, tr);
|
|
14658
14342
|
indices.push(bl, br, tr);
|
|
14659
14343
|
}
|
|
14660
|
-
geometry
|
|
14661
|
-
geometry
|
|
14662
|
-
geometry
|
|
14663
|
-
return geometry
|
|
14344
|
+
geometry.setIndex(indices);
|
|
14345
|
+
geometry.setAttribute("position", new BufferAttribute(vertices, 3));
|
|
14346
|
+
geometry.setAttribute("normal", new BufferAttribute(normals, 3));
|
|
14347
|
+
return geometry;
|
|
14664
14348
|
}
|
|
14665
14349
|
function r(theta, numArms, exp1, exp2, exp3) {
|
|
14666
14350
|
return (abs(cos(numArms * theta * .25)) ** exp2 + abs(sin(numArms * theta * .25)) ** exp3) ** (-1 / exp1);
|
|
14667
14351
|
}
|
|
14668
|
-
function updateGeometry(geometry
|
|
14352
|
+
function updateGeometry(geometry, numArmsA, expA1, expA2, expA3, numArmsB, expB1, expB2, expB3, widthSegments, heightSegments) {
|
|
14669
14353
|
const thetaStep = 2 * Math.PI / widthSegments;
|
|
14670
14354
|
const thetaStart = -Math.PI;
|
|
14671
14355
|
const phiStep = Math.PI / (heightSegments - 1);
|
|
14672
14356
|
const phiStart = -.5 * Math.PI;
|
|
14673
|
-
const positionAttribute = geometry
|
|
14357
|
+
const positionAttribute = geometry.getAttribute("position");
|
|
14674
14358
|
let i = 0;
|
|
14675
14359
|
let theta = 0;
|
|
14676
14360
|
let phi = phiStart;
|
|
@@ -14686,7 +14370,7 @@ var Superformula_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14686
14370
|
phi += phiStep;
|
|
14687
14371
|
}
|
|
14688
14372
|
positionAttribute.needsUpdate = true;
|
|
14689
|
-
geometry
|
|
14373
|
+
geometry.computeVertexNormals();
|
|
14690
14374
|
}
|
|
14691
14375
|
watch(() => props.color, () => color.value = props.color);
|
|
14692
14376
|
watch(() => [props.widthSegments, props.heightSegments], () => {
|
|
@@ -14721,17 +14405,14 @@ var Superformula_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
|
|
|
14721
14405
|
};
|
|
14722
14406
|
}
|
|
14723
14407
|
});
|
|
14724
|
-
|
|
14725
|
-
//#endregion
|
|
14726
|
-
//#region src/core/shapes/Superformula.vue
|
|
14727
|
-
var Superformula_default = Superformula_vue_vue_type_script_setup_true_lang_default;
|
|
14728
|
-
|
|
14729
14408
|
//#endregion
|
|
14730
14409
|
//#region src/core/shapes/Tetrahedron.vue?vue&type=script&setup=true&lang.ts
|
|
14731
14410
|
const _hoisted_1$12 = ["rotation"];
|
|
14732
14411
|
const _hoisted_2$9 = ["args"];
|
|
14733
14412
|
const _hoisted_3$3 = ["color"];
|
|
14734
|
-
|
|
14413
|
+
//#endregion
|
|
14414
|
+
//#region src/core/shapes/Tetrahedron.vue
|
|
14415
|
+
var Tetrahedron_default = /* @__PURE__ */ defineComponent({
|
|
14735
14416
|
__name: "Tetrahedron",
|
|
14736
14417
|
props: {
|
|
14737
14418
|
args: {
|
|
@@ -14767,16 +14448,13 @@ var Tetrahedron_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
|
|
|
14767
14448
|
};
|
|
14768
14449
|
}
|
|
14769
14450
|
});
|
|
14770
|
-
|
|
14771
|
-
//#endregion
|
|
14772
|
-
//#region src/core/shapes/Tetrahedron.vue
|
|
14773
|
-
var Tetrahedron_default = Tetrahedron_vue_vue_type_script_setup_true_lang_default;
|
|
14774
|
-
|
|
14775
14451
|
//#endregion
|
|
14776
14452
|
//#region src/core/shapes/Torus.vue?vue&type=script&setup=true&lang.ts
|
|
14777
14453
|
const _hoisted_1$11 = ["args"];
|
|
14778
14454
|
const _hoisted_2$8 = ["color"];
|
|
14779
|
-
|
|
14455
|
+
//#endregion
|
|
14456
|
+
//#region src/core/shapes/Torus.vue
|
|
14457
|
+
var Torus_default = /* @__PURE__ */ defineComponent({
|
|
14780
14458
|
__name: "Torus",
|
|
14781
14459
|
props: {
|
|
14782
14460
|
args: {
|
|
@@ -14811,16 +14489,13 @@ var Torus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
14811
14489
|
};
|
|
14812
14490
|
}
|
|
14813
14491
|
});
|
|
14814
|
-
|
|
14815
|
-
//#endregion
|
|
14816
|
-
//#region src/core/shapes/Torus.vue
|
|
14817
|
-
var Torus_default = Torus_vue_vue_type_script_setup_true_lang_default;
|
|
14818
|
-
|
|
14819
14492
|
//#endregion
|
|
14820
14493
|
//#region src/core/shapes/TorusKnot.vue?vue&type=script&setup=true&lang.ts
|
|
14821
14494
|
const _hoisted_1$10 = ["args"];
|
|
14822
14495
|
const _hoisted_2$7 = ["color"];
|
|
14823
|
-
|
|
14496
|
+
//#endregion
|
|
14497
|
+
//#region src/core/shapes/TorusKnot.vue
|
|
14498
|
+
var TorusKnot_default = /* @__PURE__ */ defineComponent({
|
|
14824
14499
|
__name: "TorusKnot",
|
|
14825
14500
|
props: {
|
|
14826
14501
|
args: {
|
|
@@ -14855,16 +14530,13 @@ var TorusKnot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
14855
14530
|
};
|
|
14856
14531
|
}
|
|
14857
14532
|
});
|
|
14858
|
-
|
|
14859
|
-
//#endregion
|
|
14860
|
-
//#region src/core/shapes/TorusKnot.vue
|
|
14861
|
-
var TorusKnot_default = TorusKnot_vue_vue_type_script_setup_true_lang_default;
|
|
14862
|
-
|
|
14863
14533
|
//#endregion
|
|
14864
14534
|
//#region src/core/shapes/Tube.vue?vue&type=script&setup=true&lang.ts
|
|
14865
14535
|
const _hoisted_1$9 = ["args"];
|
|
14866
14536
|
const _hoisted_2$6 = ["color"];
|
|
14867
|
-
|
|
14537
|
+
//#endregion
|
|
14538
|
+
//#region src/core/shapes/Tube.vue
|
|
14539
|
+
var Tube_default = /* @__PURE__ */ defineComponent({
|
|
14868
14540
|
__name: "Tube",
|
|
14869
14541
|
props: {
|
|
14870
14542
|
args: {
|
|
@@ -14901,16 +14573,13 @@ var Tube_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCom
|
|
|
14901
14573
|
};
|
|
14902
14574
|
}
|
|
14903
14575
|
});
|
|
14904
|
-
|
|
14905
|
-
//#endregion
|
|
14906
|
-
//#region src/core/shapes/Tube.vue
|
|
14907
|
-
var Tube_default = Tube_vue_vue_type_script_setup_true_lang_default;
|
|
14908
|
-
|
|
14909
14576
|
//#endregion
|
|
14910
14577
|
//#region src/core/staging/Backdrop.vue?vue&type=script&setup=true&lang.ts
|
|
14911
14578
|
const _hoisted_1$8 = ["receive-shadow", "rotation"];
|
|
14912
14579
|
const _hoisted_2$5 = ["args"];
|
|
14913
|
-
|
|
14580
|
+
//#endregion
|
|
14581
|
+
//#region src/core/staging/Backdrop.vue
|
|
14582
|
+
var Backdrop_default = /* @__PURE__ */ defineComponent({
|
|
14914
14583
|
__name: "Backdrop",
|
|
14915
14584
|
props: {
|
|
14916
14585
|
floor: {
|
|
@@ -14938,14 +14607,14 @@ var Backdrop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
14938
14607
|
segments,
|
|
14939
14608
|
floor,
|
|
14940
14609
|
planeRef
|
|
14941
|
-
], ([segments
|
|
14942
|
-
if (!planeRef
|
|
14610
|
+
], ([segments, floor, planeRef]) => {
|
|
14611
|
+
if (!planeRef || segments === null) return;
|
|
14943
14612
|
let i = 0;
|
|
14944
|
-
const offset = segments
|
|
14945
|
-
const position = planeRef
|
|
14946
|
-
for (let x = 0; x < segments
|
|
14613
|
+
const offset = segments / segments / 2;
|
|
14614
|
+
const position = planeRef.attributes.position;
|
|
14615
|
+
for (let x = 0; x < segments + 1; x++) for (let y = 0; y < segments + 1; y++) position.setXYZ(i++, x / segments - offset + (x === 0 ? -floor : 0), y / segments - offset, easeInExpo(x / segments));
|
|
14947
14616
|
position.needsUpdate = true;
|
|
14948
|
-
planeRef
|
|
14617
|
+
planeRef.computeVertexNormals();
|
|
14949
14618
|
});
|
|
14950
14619
|
const backdropRef = shallowRef();
|
|
14951
14620
|
__expose({ instance: backdropRef });
|
|
@@ -14976,11 +14645,6 @@ var Backdrop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
|
|
|
14976
14645
|
};
|
|
14977
14646
|
}
|
|
14978
14647
|
});
|
|
14979
|
-
|
|
14980
|
-
//#endregion
|
|
14981
|
-
//#region src/core/staging/Backdrop.vue
|
|
14982
|
-
var Backdrop_default = Backdrop_vue_vue_type_script_setup_true_lang_default;
|
|
14983
|
-
|
|
14984
14648
|
//#endregion
|
|
14985
14649
|
//#region src/core/staging/useEnvironment/const.ts
|
|
14986
14650
|
/**
|
|
@@ -15001,7 +14665,6 @@ const environmentPresets = {
|
|
|
15001
14665
|
modern: "city/modern_buildings_2",
|
|
15002
14666
|
shangai: "city/shanghai_bund"
|
|
15003
14667
|
};
|
|
15004
|
-
|
|
15005
14668
|
//#endregion
|
|
15006
14669
|
//#region src/core/staging/useEnvironment/index.ts
|
|
15007
14670
|
const PRESET_ROOT = "https://raw.githubusercontent.com/Tresjs/assets/main/textures/hdr/";
|
|
@@ -15060,42 +14723,43 @@ async function useEnvironment(options, fbo) {
|
|
|
15060
14723
|
watch(options, () => {
|
|
15061
14724
|
invalidate();
|
|
15062
14725
|
});
|
|
15063
|
-
const texture
|
|
14726
|
+
const texture = ref(null);
|
|
15064
14727
|
const isCubeMap = computed(() => Array.isArray(files.value));
|
|
15065
14728
|
const cubeTextureLoader = new CubeTextureLoader();
|
|
15066
14729
|
const rgbeLoader = new RGBELoader();
|
|
15067
|
-
const loadTexture = async (files
|
|
14730
|
+
const loadTexture = async (files, path) => {
|
|
15068
14731
|
return new Promise((resolve, reject) => {
|
|
15069
14732
|
if (isCubeMap.value) {
|
|
15070
|
-
if (path
|
|
15071
|
-
cubeTextureLoader.load(files
|
|
15072
|
-
texture
|
|
15073
|
-
resolve(texture
|
|
14733
|
+
if (path) cubeTextureLoader.setPath(path);
|
|
14734
|
+
cubeTextureLoader.load(files, (texture) => {
|
|
14735
|
+
texture.mapping = CubeReflectionMapping;
|
|
14736
|
+
resolve(texture);
|
|
15074
14737
|
}, void 0, (error) => reject(error));
|
|
15075
14738
|
} else {
|
|
15076
|
-
if (path
|
|
15077
|
-
rgbeLoader.load(files
|
|
15078
|
-
texture
|
|
15079
|
-
resolve(texture
|
|
14739
|
+
if (path) rgbeLoader.setPath(path);
|
|
14740
|
+
rgbeLoader.load(files[0], (texture) => {
|
|
14741
|
+
texture.mapping = EquirectangularReflectionMapping;
|
|
14742
|
+
resolve(texture);
|
|
15080
14743
|
}, void 0, (error) => reject(error));
|
|
15081
14744
|
}
|
|
15082
14745
|
});
|
|
15083
14746
|
};
|
|
15084
|
-
watch([files, path], async ([files
|
|
15085
|
-
if (!files
|
|
14747
|
+
watch([files, path], async ([files, path]) => {
|
|
14748
|
+
if (!files || files.length === 0 || preset?.value) return;
|
|
15086
14749
|
try {
|
|
15087
|
-
|
|
14750
|
+
const loadedTexture = await loadTexture(isCubeMap.value ? [...unref(files)] : [unref(files)], unref(path));
|
|
14751
|
+
texture.value = loadedTexture;
|
|
15088
14752
|
} catch (error) {
|
|
15089
14753
|
throw new Error(`Failed to load environment map: ${error}`);
|
|
15090
14754
|
}
|
|
15091
14755
|
}, { immediate: true });
|
|
15092
|
-
watch(texture
|
|
14756
|
+
watch(texture, (value) => {
|
|
15093
14757
|
if (scene.value && value) scene.value.environment = value;
|
|
15094
14758
|
}, { immediate: true });
|
|
15095
|
-
watch([background, texture
|
|
14759
|
+
watch([background, texture], ([background, texture]) => {
|
|
15096
14760
|
if (scene.value) {
|
|
15097
|
-
const bTexture = fbo?.value ? fbo.value.texture : texture
|
|
15098
|
-
if (bTexture) scene.value.background = background
|
|
14761
|
+
const bTexture = fbo?.value ? fbo.value.texture : texture;
|
|
14762
|
+
if (bTexture) scene.value.background = background ? bTexture : null;
|
|
15099
14763
|
}
|
|
15100
14764
|
}, { immediate: true });
|
|
15101
14765
|
watch(() => blur?.value, (value) => {
|
|
@@ -15129,17 +14793,18 @@ async function useEnvironment(options, fbo) {
|
|
|
15129
14793
|
const _files = `${environmentPresets[value]}_${_quality}.hdr`;
|
|
15130
14794
|
try {
|
|
15131
14795
|
rgbeLoader.setPath(_path);
|
|
15132
|
-
|
|
15133
|
-
rgbeLoader.load(_files, (texture
|
|
15134
|
-
texture
|
|
15135
|
-
resolve(texture
|
|
14796
|
+
const loadedTexture = await new Promise((resolve, reject) => {
|
|
14797
|
+
rgbeLoader.load(_files, (texture) => {
|
|
14798
|
+
texture.mapping = EquirectangularReflectionMapping;
|
|
14799
|
+
resolve(texture);
|
|
15136
14800
|
}, void 0, (error) => reject(error));
|
|
15137
14801
|
});
|
|
14802
|
+
texture.value = loadedTexture;
|
|
15138
14803
|
invalidate();
|
|
15139
14804
|
} catch (error) {
|
|
15140
14805
|
throw new Error(`Failed to load environment map: ${error}`);
|
|
15141
14806
|
}
|
|
15142
|
-
if (texture
|
|
14807
|
+
if (texture.value) texture.value.mapping = EquirectangularReflectionMapping;
|
|
15143
14808
|
invalidate();
|
|
15144
14809
|
} else if (value && !(value in environmentPresets)) throw new Error(`Preset must be one of: ${Object.keys(environmentPresets).join(", ")}`);
|
|
15145
14810
|
}, { immediate: true });
|
|
@@ -15152,9 +14817,8 @@ async function useEnvironment(options, fbo) {
|
|
|
15152
14817
|
}
|
|
15153
14818
|
}
|
|
15154
14819
|
}, { immediate: true });
|
|
15155
|
-
return texture
|
|
14820
|
+
return texture;
|
|
15156
14821
|
}
|
|
15157
|
-
|
|
15158
14822
|
//#endregion
|
|
15159
14823
|
//#region src/core/staging/useEnvironment/EnvironmentScene.ts
|
|
15160
14824
|
var EnvironmentScene = class extends Object3D {
|
|
@@ -15179,11 +14843,9 @@ var EnvironmentScene = class extends Object3D {
|
|
|
15179
14843
|
this.virtualScene = null;
|
|
15180
14844
|
}
|
|
15181
14845
|
};
|
|
15182
|
-
var EnvironmentScene_default = EnvironmentScene;
|
|
15183
|
-
|
|
15184
14846
|
//#endregion
|
|
15185
|
-
//#region src/core/staging/useEnvironment/component.vue
|
|
15186
|
-
var
|
|
14847
|
+
//#region src/core/staging/useEnvironment/component.vue
|
|
14848
|
+
var component_default$4 = /* @__PURE__ */ defineComponent({
|
|
15187
14849
|
__name: "component",
|
|
15188
14850
|
props: {
|
|
15189
14851
|
background: {
|
|
@@ -15270,10 +14932,10 @@ var component_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ de
|
|
|
15270
14932
|
async setup(__props, { expose: __expose }) {
|
|
15271
14933
|
let __temp, __restore;
|
|
15272
14934
|
const props = __props;
|
|
15273
|
-
const texture
|
|
15274
|
-
__expose({ texture
|
|
15275
|
-
const { extend
|
|
15276
|
-
extend
|
|
14935
|
+
const texture = ref(null);
|
|
14936
|
+
__expose({ texture });
|
|
14937
|
+
const { extend, renderer, scene } = useTresContext();
|
|
14938
|
+
extend({ EnvironmentScene });
|
|
15277
14939
|
let slots = null;
|
|
15278
14940
|
const fbo = ref(null);
|
|
15279
14941
|
let cubeCamera = null;
|
|
@@ -15293,23 +14955,23 @@ var component_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ de
|
|
|
15293
14955
|
}
|
|
15294
14956
|
}
|
|
15295
14957
|
}, -1);
|
|
15296
|
-
watch([useEnvironmentTexture, environmentScene], ([texture
|
|
15297
|
-
if (texture
|
|
15298
|
-
const rawScene = toRaw(scene
|
|
14958
|
+
watch([useEnvironmentTexture, environmentScene], ([texture, scene]) => {
|
|
14959
|
+
if (texture && scene?.virtualScene) {
|
|
14960
|
+
const rawScene = toRaw(scene).virtualScene;
|
|
15299
14961
|
let envMesh = rawScene.children.find((child) => child instanceof Mesh && child.userData.isEnvironment);
|
|
15300
14962
|
if (!envMesh) {
|
|
15301
14963
|
envMesh = new Mesh(new BoxGeometry(1, 1, 1), new MeshBasicMaterial({ side: BackSide }));
|
|
15302
14964
|
envMesh.userData.isEnvironment = true;
|
|
15303
14965
|
rawScene.add(envMesh);
|
|
15304
14966
|
}
|
|
15305
|
-
rawScene.background = texture
|
|
14967
|
+
rawScene.background = texture;
|
|
15306
14968
|
rawScene.backgroundBlurriness = props.blur;
|
|
15307
14969
|
}
|
|
15308
14970
|
}, { immediate: true });
|
|
15309
|
-
const setTextureEnvAndBG = (fbo
|
|
15310
|
-
if (fbo
|
|
15311
|
-
scene.value.environment = fbo
|
|
15312
|
-
if (props.background) scene.value.background = fbo
|
|
14971
|
+
const setTextureEnvAndBG = (fbo) => {
|
|
14972
|
+
if (fbo && slots?.length) {
|
|
14973
|
+
scene.value.environment = fbo.texture;
|
|
14974
|
+
if (props.background) scene.value.background = fbo.texture;
|
|
15313
14975
|
} else if (useEnvironmentTexture.value) {
|
|
15314
14976
|
scene.value.environment = useEnvironmentTexture.value;
|
|
15315
14977
|
if (props.background) scene.value.background = useEnvironmentTexture.value;
|
|
@@ -15325,7 +14987,7 @@ var component_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ de
|
|
|
15325
14987
|
if (value) {
|
|
15326
14988
|
slots = value();
|
|
15327
14989
|
if (Array.isArray(slots) && slots.length > 0) {
|
|
15328
|
-
extend
|
|
14990
|
+
extend({ EnvironmentScene });
|
|
15329
14991
|
fbo.value = new WebGLCubeRenderTarget(props.resolution);
|
|
15330
14992
|
fbo.value.texture.type = HalfFloatType;
|
|
15331
14993
|
cubeCamera = new CubeCamera(props.near, props.far, fbo.value);
|
|
@@ -15340,7 +15002,7 @@ var component_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ de
|
|
|
15340
15002
|
immediate: true,
|
|
15341
15003
|
deep: true
|
|
15342
15004
|
});
|
|
15343
|
-
texture
|
|
15005
|
+
texture.value = useEnvironmentTexture.value;
|
|
15344
15006
|
onUnmounted(() => {
|
|
15345
15007
|
environmentScene.value?.dispose();
|
|
15346
15008
|
fbo.value?.dispose();
|
|
@@ -15354,11 +15016,6 @@ var component_vue_vue_type_script_setup_true_lang_default$1 = /* @__PURE__ */ de
|
|
|
15354
15016
|
};
|
|
15355
15017
|
}
|
|
15356
15018
|
});
|
|
15357
|
-
|
|
15358
|
-
//#endregion
|
|
15359
|
-
//#region src/core/staging/useEnvironment/component.vue
|
|
15360
|
-
var component_default$4 = component_vue_vue_type_script_setup_true_lang_default$1;
|
|
15361
|
-
|
|
15362
15019
|
//#endregion
|
|
15363
15020
|
//#region src/core/staging/useEnvironment/lightformer/index.vue?vue&type=script&setup=true&lang.ts
|
|
15364
15021
|
const _hoisted_1$7 = {
|
|
@@ -15384,7 +15041,9 @@ const _hoisted_4$2 = [
|
|
|
15384
15041
|
"side",
|
|
15385
15042
|
"color"
|
|
15386
15043
|
];
|
|
15387
|
-
|
|
15044
|
+
//#endregion
|
|
15045
|
+
//#region src/core/staging/useEnvironment/lightformer/index.vue
|
|
15046
|
+
var lightformer_default = /* @__PURE__ */ defineComponent({
|
|
15388
15047
|
__name: "index",
|
|
15389
15048
|
props: {
|
|
15390
15049
|
args: {
|
|
@@ -15448,15 +15107,12 @@ var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15448
15107
|
};
|
|
15449
15108
|
}
|
|
15450
15109
|
});
|
|
15451
|
-
|
|
15452
|
-
//#endregion
|
|
15453
|
-
//#region src/core/staging/useEnvironment/lightformer/index.vue
|
|
15454
|
-
var lightformer_default = index_vue_vue_type_script_setup_true_lang_default;
|
|
15455
|
-
|
|
15456
15110
|
//#endregion
|
|
15457
15111
|
//#region src/core/staging/Ocean.vue?vue&type=script&setup=true&lang.ts
|
|
15458
15112
|
const _hoisted_1$6 = ["rotation-x", "args"];
|
|
15459
|
-
|
|
15113
|
+
//#endregion
|
|
15114
|
+
//#region src/core/staging/Ocean.vue
|
|
15115
|
+
var Ocean_default = /* @__PURE__ */ defineComponent({
|
|
15460
15116
|
__name: "Ocean",
|
|
15461
15117
|
props: {
|
|
15462
15118
|
textureWidth: {
|
|
@@ -15523,8 +15179,8 @@ var Ocean_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15523
15179
|
setup(__props, { expose: __expose }) {
|
|
15524
15180
|
const props = __props;
|
|
15525
15181
|
const { waterNormals, sunColor, waterColor, distortionScale, size, alpha, speed } = toRefs(props);
|
|
15526
|
-
const { extend
|
|
15527
|
-
extend
|
|
15182
|
+
const { extend, scene } = useTresContext();
|
|
15183
|
+
extend({ Water });
|
|
15528
15184
|
const waterRef = shallowRef();
|
|
15529
15185
|
const sunRef = shallowRef();
|
|
15530
15186
|
const _fog = scene.value.fog !== void 0;
|
|
@@ -15589,11 +15245,6 @@ var Ocean_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15589
15245
|
};
|
|
15590
15246
|
}
|
|
15591
15247
|
});
|
|
15592
|
-
|
|
15593
|
-
//#endregion
|
|
15594
|
-
//#region src/core/staging/Ocean.vue
|
|
15595
|
-
var Ocean_default = Ocean_vue_vue_type_script_setup_true_lang_default;
|
|
15596
|
-
|
|
15597
15248
|
//#endregion
|
|
15598
15249
|
//#region src/core/staging/Precipitation.vue?vue&type=script&setup=true&lang.ts
|
|
15599
15250
|
const _hoisted_1$5 = [
|
|
@@ -15608,7 +15259,9 @@ const _hoisted_1$5 = [
|
|
|
15608
15259
|
"size-attenuation"
|
|
15609
15260
|
];
|
|
15610
15261
|
const _hoisted_2$3 = ["position"];
|
|
15611
|
-
|
|
15262
|
+
//#endregion
|
|
15263
|
+
//#region src/core/staging/Precipitation.vue
|
|
15264
|
+
var Precipitation_default = /* @__PURE__ */ defineComponent({
|
|
15612
15265
|
__name: "Precipitation",
|
|
15613
15266
|
props: {
|
|
15614
15267
|
size: {
|
|
@@ -15690,8 +15343,8 @@ var Precipitation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
15690
15343
|
setup(__props, { expose: __expose }) {
|
|
15691
15344
|
const { size, area, color, alphaMap: alphaMapUrl, map: mapUrl, opacity, alphaTest, depthWrite, transparent, sizeAttenuation, count, speed, randomness } = toRefs(__props);
|
|
15692
15345
|
const geometryRef = shallowRef();
|
|
15693
|
-
const positionArray = shallowRef(new Float32Array());
|
|
15694
|
-
let velocityArray = new Float32Array();
|
|
15346
|
+
const positionArray = shallowRef(/* @__PURE__ */ new Float32Array());
|
|
15347
|
+
let velocityArray = /* @__PURE__ */ new Float32Array();
|
|
15695
15348
|
const setPosition = () => {
|
|
15696
15349
|
positionArray.value = new Float32Array(count.value * 3);
|
|
15697
15350
|
for (let i = 0; i < count.value; i++) {
|
|
@@ -15735,14 +15388,14 @@ var Precipitation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
15735
15388
|
const { onBeforeRender } = useLoop();
|
|
15736
15389
|
onBeforeRender(() => {
|
|
15737
15390
|
if (geometryRef.value?.attributes.position.array && geometryRef.value?.attributes.position.count) {
|
|
15738
|
-
const positionArray
|
|
15391
|
+
const positionArray = geometryRef.value.attributes.position.array;
|
|
15739
15392
|
for (let i = 0; i < geometryRef.value.attributes.position.count; i++) {
|
|
15740
15393
|
const velocityX = velocityArray[i * 2];
|
|
15741
15394
|
const velocityY = velocityArray[i * 2 + 1];
|
|
15742
|
-
positionArray
|
|
15743
|
-
positionArray
|
|
15744
|
-
if (positionArray
|
|
15745
|
-
if (positionArray
|
|
15395
|
+
positionArray[i * 3] += velocityX;
|
|
15396
|
+
positionArray[i * 3 + 1] -= velocityY;
|
|
15397
|
+
if (positionArray[i * 3] <= -area.value[0] / 2 || positionArray[i * 3] >= area.value[0] / 2) positionArray[i * 3] = positionArray[i * 3] * -1;
|
|
15398
|
+
if (positionArray[i * 3 + 1] <= -area.value[1] / 2 || positionArray[i * 3 + 1] >= area.value[1] / 2) positionArray[i * 3 + 1] = positionArray[i * 3 + 1] * -1;
|
|
15746
15399
|
}
|
|
15747
15400
|
geometryRef.value.attributes.position.needsUpdate = true;
|
|
15748
15401
|
}
|
|
@@ -15771,11 +15424,6 @@ var Precipitation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
15771
15424
|
};
|
|
15772
15425
|
}
|
|
15773
15426
|
});
|
|
15774
|
-
|
|
15775
|
-
//#endregion
|
|
15776
|
-
//#region src/core/staging/Precipitation.vue
|
|
15777
|
-
var Precipitation_default = Precipitation_vue_vue_type_script_setup_true_lang_default;
|
|
15778
|
-
|
|
15779
15427
|
//#endregion
|
|
15780
15428
|
//#region src/core/staging/Sky.vue?vue&type=script&setup=true&lang.ts
|
|
15781
15429
|
const _hoisted_1$4 = [
|
|
@@ -15787,7 +15435,9 @@ const _hoisted_1$4 = [
|
|
|
15787
15435
|
"material-uniforms-sunPosition-value",
|
|
15788
15436
|
"scale"
|
|
15789
15437
|
];
|
|
15790
|
-
|
|
15438
|
+
//#endregion
|
|
15439
|
+
//#region src/core/staging/Sky.vue
|
|
15440
|
+
var Sky_default = /* @__PURE__ */ defineComponent({
|
|
15791
15441
|
__name: "Sky",
|
|
15792
15442
|
props: {
|
|
15793
15443
|
turbidity: {
|
|
@@ -15856,11 +15506,6 @@ var Sky_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComp
|
|
|
15856
15506
|
};
|
|
15857
15507
|
}
|
|
15858
15508
|
});
|
|
15859
|
-
|
|
15860
|
-
//#endregion
|
|
15861
|
-
//#region src/core/staging/Sky.vue
|
|
15862
|
-
var Sky_default = Sky_vue_vue_type_script_setup_true_lang_default;
|
|
15863
|
-
|
|
15864
15509
|
//#endregion
|
|
15865
15510
|
//#region src/core/staging/Smoke.vue?vue&type=script&setup=true&lang.ts
|
|
15866
15511
|
const _hoisted_1$3 = ["scale"];
|
|
@@ -15873,7 +15518,9 @@ const _hoisted_4$1 = [
|
|
|
15873
15518
|
"color",
|
|
15874
15519
|
"opacity"
|
|
15875
15520
|
];
|
|
15876
|
-
|
|
15521
|
+
//#endregion
|
|
15522
|
+
//#region src/core/staging/Smoke.vue
|
|
15523
|
+
var Smoke_default = /* @__PURE__ */ defineComponent({
|
|
15877
15524
|
__name: "Smoke",
|
|
15878
15525
|
props: {
|
|
15879
15526
|
color: {
|
|
@@ -15928,7 +15575,7 @@ var Smoke_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15928
15575
|
}
|
|
15929
15576
|
},
|
|
15930
15577
|
setup(__props, { expose: __expose }) {
|
|
15931
|
-
const { depth, segments, texture
|
|
15578
|
+
const { depth, segments, texture, color, depthTest, opacity, speed, spreadY, spreadX, scale } = toRefs(__props);
|
|
15932
15579
|
const smokeRef = shallowRef();
|
|
15933
15580
|
const groupRef = shallowRef();
|
|
15934
15581
|
__expose({ instance: smokeRef });
|
|
@@ -15937,7 +15584,7 @@ var Smoke_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15937
15584
|
y: (Math.random() - .5) * spreadY.value,
|
|
15938
15585
|
scale: Math.sin((index + 1) / segments.value) * scale.value
|
|
15939
15586
|
})));
|
|
15940
|
-
const { state: map } = useTexture(texture
|
|
15587
|
+
const { state: map } = useTexture(texture.value);
|
|
15941
15588
|
const { renderer, camera } = useTresContext();
|
|
15942
15589
|
const colorSpace = computed(() => renderer.instance?.outputColorSpace);
|
|
15943
15590
|
const { onBeforeRender } = useLoop();
|
|
@@ -15984,11 +15631,6 @@ var Smoke_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
15984
15631
|
};
|
|
15985
15632
|
}
|
|
15986
15633
|
});
|
|
15987
|
-
|
|
15988
|
-
//#endregion
|
|
15989
|
-
//#region src/core/staging/Smoke.vue
|
|
15990
|
-
var Smoke_default = Smoke_vue_vue_type_script_setup_true_lang_default;
|
|
15991
|
-
|
|
15992
15634
|
//#endregion
|
|
15993
15635
|
//#region src/utils/Gradient.ts
|
|
15994
15636
|
function normalizeColorGradient(gradient) {
|
|
@@ -16041,7 +15683,6 @@ function normalizeGradient(gradient, config) {
|
|
|
16041
15683
|
} else if (isMultipleValuesWithStops(gradient)) return gradient.map(([u, v], _) => [u, normalizeValue(v)]);
|
|
16042
15684
|
return [[0, getDefaultValue()]];
|
|
16043
15685
|
}
|
|
16044
|
-
|
|
16045
15686
|
//#endregion
|
|
16046
15687
|
//#region src/core/staging/Sparkles/ShaderData.ts
|
|
16047
15688
|
var ShaderData = class {
|
|
@@ -16102,19 +15743,19 @@ var ShaderDataTexture = class {
|
|
|
16102
15743
|
this.context = canvas.getContext("2d");
|
|
16103
15744
|
}
|
|
16104
15745
|
use() {
|
|
16105
|
-
const texture
|
|
16106
|
-
const textureRef = shallowRef(texture
|
|
15746
|
+
const texture = this.build();
|
|
15747
|
+
const textureRef = shallowRef(texture);
|
|
16107
15748
|
for (const entry of this.entries) if (entry.ref) watch(entry.ref, () => {
|
|
16108
15749
|
entry.data = entry.ref?.value;
|
|
16109
15750
|
triggerRef(this.dirty);
|
|
16110
15751
|
});
|
|
16111
15752
|
watchThrottled(this.dirty, () => {
|
|
16112
|
-
this.build(texture
|
|
16113
|
-
textureRef.value = texture
|
|
15753
|
+
this.build(texture);
|
|
15754
|
+
textureRef.value = texture;
|
|
16114
15755
|
}, { throttle: 1e3 / 60 });
|
|
16115
15756
|
return {
|
|
16116
15757
|
texture: textureRef,
|
|
16117
|
-
dispose: () => texture
|
|
15758
|
+
dispose: () => texture.dispose(),
|
|
16118
15759
|
yFor: this.entries.reduce((obj, entry, i) => {
|
|
16119
15760
|
obj[entry.name] = (i + .5) / this.size;
|
|
16120
15761
|
return obj;
|
|
@@ -16129,9 +15770,9 @@ var ShaderDataTexture = class {
|
|
|
16129
15770
|
this.context.fillRect(0, i, this.size, 1);
|
|
16130
15771
|
});
|
|
16131
15772
|
if (recycledTexture) recycledTexture.source.data = this.context.getImageData(0, 0, this.size, this.size);
|
|
16132
|
-
const texture
|
|
16133
|
-
texture
|
|
16134
|
-
return texture
|
|
15773
|
+
const texture = recycledTexture ?? new DataTexture(this.context.getImageData(0, 0, this.size, this.size).data, this.size, this.size, RGBAFormat, UnsignedByteType, UVMapping, ClampToEdgeWrapping, ClampToEdgeWrapping);
|
|
15774
|
+
texture.needsUpdate = true;
|
|
15775
|
+
return texture;
|
|
16135
15776
|
}
|
|
16136
15777
|
};
|
|
16137
15778
|
function clampedMapLinear(v, minIn, maxIn, minOut, maxOut) {
|
|
@@ -16148,7 +15789,6 @@ function GradientScalarRenderToCanvasGradient(g, entry) {
|
|
|
16148
15789
|
function GradientXyzRenderToCanvasGradient(g, entry) {
|
|
16149
15790
|
return normalizeFlexibleVector3Gradient(entry.data).forEach(([offset, xyz]) => g.addColorStop(offset, `rgb(${xyz.map((v) => clampedMapLinear(v, entry.valueMin, entry.valueMax, 0, 255))})`));
|
|
16150
15791
|
}
|
|
16151
|
-
|
|
16152
15792
|
//#endregion
|
|
16153
15793
|
//#region src/core/staging/Sparkles/ShaderDataBuilder.ts
|
|
16154
15794
|
var ShaderDataBuilder = class {
|
|
@@ -16229,7 +15869,6 @@ var ShaderDataBuilderAdd = class {
|
|
|
16229
15869
|
return this.onAdd(new ShaderDataEntryXyzGradient(data, "position", min, max));
|
|
16230
15870
|
}
|
|
16231
15871
|
};
|
|
16232
|
-
|
|
16233
15872
|
//#endregion
|
|
16234
15873
|
//#region src/core/staging/Sparkles/useEmptyDataTexture.ts
|
|
16235
15874
|
let texture = null;
|
|
@@ -16242,11 +15881,12 @@ function useEmptyDataTexture() {
|
|
|
16242
15881
|
]), 1, 1);
|
|
16243
15882
|
return texture;
|
|
16244
15883
|
}
|
|
16245
|
-
|
|
16246
15884
|
//#endregion
|
|
16247
15885
|
//#region src/core/staging/Sparkles/component.vue?vue&type=script&setup=true&lang.ts
|
|
16248
15886
|
const _hoisted_1$2 = ["object"];
|
|
16249
|
-
|
|
15887
|
+
//#endregion
|
|
15888
|
+
//#region src/core/staging/Sparkles/component.vue
|
|
15889
|
+
var component_default$16 = /* @__PURE__ */ defineComponent({
|
|
16250
15890
|
__name: "component",
|
|
16251
15891
|
props: {
|
|
16252
15892
|
map: {
|
|
@@ -16422,11 +16062,11 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16422
16062
|
},
|
|
16423
16063
|
setup(__props, { expose: __expose }) {
|
|
16424
16064
|
const props = __props;
|
|
16425
|
-
const version
|
|
16065
|
+
const version = Number.parseInt(REVISION.replace(/\D+/g, ""));
|
|
16426
16066
|
const refs = toRefs(props);
|
|
16427
16067
|
const map = typeof props.map === "string" ? useEmptyDataTexture() : props.map;
|
|
16428
16068
|
const { texture: infoTexture, yFor } = new ShaderDataBuilder(256).add.GradientTresColor(refs.sequenceColor).id("sequenceColor").add.Gradient01(refs.sequenceAlpha).id("sequenceAlpha").add.Gradient01(refs.sequenceSurfaceDistance).id("sequenceSurfaceDistance").add.Gradient01(refs.sequenceSize).id("sequenceSize").add.GradientXyz(refs.sequenceOffset, -1, 1).id("sequenceOffset").add.GradientXyz(refs.sequenceNoise, 0, 1).id("sequenceNoise").build().useTexture();
|
|
16429
|
-
const
|
|
16069
|
+
const shaderMaterialParameters = {
|
|
16430
16070
|
blending: props.blending,
|
|
16431
16071
|
transparent: props.transparent,
|
|
16432
16072
|
depthWrite: props.depthWrite,
|
|
@@ -16524,9 +16164,10 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16524
16164
|
void main() {
|
|
16525
16165
|
gl_FragColor = vColor * texture2D(uMap, gl_PointCoord);
|
|
16526
16166
|
#include <tonemapping_fragment>
|
|
16527
|
-
#include <${version
|
|
16167
|
+
#include <${version >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
|
16528
16168
|
}`
|
|
16529
|
-
}
|
|
16169
|
+
};
|
|
16170
|
+
const mat = new ShaderMaterial(shaderMaterialParameters);
|
|
16530
16171
|
const sparkles = new Points(void 0, mat);
|
|
16531
16172
|
__expose({ instance: sparkles });
|
|
16532
16173
|
const u = mat.uniforms;
|
|
@@ -16545,8 +16186,8 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16545
16186
|
[u.uMixSurfaceDistance, refs.mixSurfaceDistance],
|
|
16546
16187
|
[u.uMixNoise, refs.mixNoise],
|
|
16547
16188
|
[u.uInfoTexture, infoTexture]
|
|
16548
|
-
].forEach(([uniform, ref
|
|
16549
|
-
uniform.value = ref
|
|
16189
|
+
].forEach(([uniform, ref]) => watch(ref, () => {
|
|
16190
|
+
uniform.value = ref.value;
|
|
16550
16191
|
}, NOW));
|
|
16551
16192
|
watch([refs.noiseScale, refs.lifetimeSec], () => {
|
|
16552
16193
|
u.uNoiseScale.value = refs.noiseScale.value * refs.lifetimeSec.value;
|
|
@@ -16556,8 +16197,8 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16556
16197
|
}, NOW);
|
|
16557
16198
|
watch(refs.map, () => {
|
|
16558
16199
|
if (typeof refs.map.value === "string") {
|
|
16559
|
-
const { state: texture
|
|
16560
|
-
mat.uniforms.uMap.value = texture
|
|
16200
|
+
const { state: texture } = useTexture(refs.map.value);
|
|
16201
|
+
mat.uniforms.uMap.value = texture;
|
|
16561
16202
|
} else mat.uniforms.uMap.value = refs.map.value;
|
|
16562
16203
|
});
|
|
16563
16204
|
const rotation = new Quaternion();
|
|
@@ -16569,7 +16210,7 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16569
16210
|
mat.uniforms.uNormal.value = normal;
|
|
16570
16211
|
mat.uniforms.uTime.value = elapsed / (props.cooldownSec + props.lifetimeSec);
|
|
16571
16212
|
});
|
|
16572
|
-
function isObject3D
|
|
16213
|
+
function isObject3D(o) {
|
|
16573
16214
|
return o && "isObject3D" in o;
|
|
16574
16215
|
}
|
|
16575
16216
|
function isBufferGeometry(o) {
|
|
@@ -16578,12 +16219,12 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16578
16219
|
onMounted(() => {
|
|
16579
16220
|
if (props.geometry) {
|
|
16580
16221
|
if (isBufferGeometry(props.geometry)) sparkles.geometry.copy(props.geometry);
|
|
16581
|
-
else if (isObject3D
|
|
16582
|
-
} else if (isObject3D
|
|
16222
|
+
else if (isObject3D(props.geometry) && "geometry" in props.geometry && isBufferGeometry(props.geometry.geometry)) sparkles.geometry.copy(props.geometry.geometry);
|
|
16223
|
+
} else if (isObject3D(sparkles.parent) && "geometry" in sparkles.parent && isBufferGeometry(sparkles.parent.geometry)) sparkles.geometry.copy(sparkles.parent.geometry);
|
|
16583
16224
|
else sparkles.geometry = new IcosahedronGeometry(1, 16);
|
|
16584
16225
|
if (typeof props.map === "string") {
|
|
16585
|
-
const { state: texture
|
|
16586
|
-
mat.uniforms.uMap.value = texture
|
|
16226
|
+
const { state: texture } = useTexture(props.map);
|
|
16227
|
+
mat.uniforms.uMap.value = texture;
|
|
16587
16228
|
}
|
|
16588
16229
|
});
|
|
16589
16230
|
onUnmounted(() => {
|
|
@@ -16596,11 +16237,6 @@ var component_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
16596
16237
|
};
|
|
16597
16238
|
}
|
|
16598
16239
|
});
|
|
16599
|
-
|
|
16600
|
-
//#endregion
|
|
16601
|
-
//#region src/core/staging/Sparkles/component.vue
|
|
16602
|
-
var component_default$16 = component_vue_vue_type_script_setup_true_lang_default;
|
|
16603
|
-
|
|
16604
16240
|
//#endregion
|
|
16605
16241
|
//#region src/utils/index.ts
|
|
16606
16242
|
/**
|
|
@@ -16635,7 +16271,6 @@ function extractBindingPosition(binding) {
|
|
|
16635
16271
|
if (Array.isArray(binding.value)) observer = new Vector3(...observer);
|
|
16636
16272
|
return observer;
|
|
16637
16273
|
}
|
|
16638
|
-
|
|
16639
16274
|
//#endregion
|
|
16640
16275
|
//#region src/core/staging/Stage.vue?vue&type=script&setup=true&lang.ts
|
|
16641
16276
|
const _hoisted_1$1 = { key: 0 };
|
|
@@ -16651,7 +16286,9 @@ const _hoisted_3 = [
|
|
|
16651
16286
|
];
|
|
16652
16287
|
const _hoisted_4 = ["position", "intensity"];
|
|
16653
16288
|
const _hoisted_5 = ["position"];
|
|
16654
|
-
|
|
16289
|
+
//#endregion
|
|
16290
|
+
//#region src/core/staging/Stage.vue
|
|
16291
|
+
var Stage_default = /* @__PURE__ */ defineComponent({
|
|
16655
16292
|
__name: "Stage",
|
|
16656
16293
|
props: {
|
|
16657
16294
|
lighting: {
|
|
@@ -16890,11 +16527,6 @@ var Stage_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16890
16527
|
};
|
|
16891
16528
|
}
|
|
16892
16529
|
});
|
|
16893
|
-
|
|
16894
|
-
//#endregion
|
|
16895
|
-
//#region src/core/staging/Stage.vue
|
|
16896
|
-
var Stage_default = Stage_vue_vue_type_script_setup_true_lang_default;
|
|
16897
|
-
|
|
16898
16530
|
//#endregion
|
|
16899
16531
|
//#region src/core/staging/Stars.vue?vue&type=script&setup=true&lang.ts
|
|
16900
16532
|
const _hoisted_1 = ["position", "a-scale"];
|
|
@@ -16905,7 +16537,9 @@ const _hoisted_2 = [
|
|
|
16905
16537
|
"alpha-test",
|
|
16906
16538
|
"alpha-map"
|
|
16907
16539
|
];
|
|
16908
|
-
|
|
16540
|
+
//#endregion
|
|
16541
|
+
//#region src/core/staging/Stars.vue
|
|
16542
|
+
var Stars_default = /* @__PURE__ */ defineComponent({
|
|
16909
16543
|
__name: "Stars",
|
|
16910
16544
|
props: {
|
|
16911
16545
|
size: {
|
|
@@ -16959,16 +16593,16 @@ var Stars_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16959
16593
|
invalidate();
|
|
16960
16594
|
});
|
|
16961
16595
|
const setStars = () => {
|
|
16962
|
-
let circle
|
|
16596
|
+
let circle = radius.value + depth.value;
|
|
16963
16597
|
const increment = computed(() => depth.value / count.value);
|
|
16964
16598
|
const positionArray = [];
|
|
16965
16599
|
const scaleArray = Array.from({ length: count.value }, () => (.5 + .5 * Math.random()) * 4);
|
|
16966
|
-
const generateStars = (circle
|
|
16967
|
-
return new Vector3().setFromSpherical(new Spherical(circle
|
|
16600
|
+
const generateStars = (circle) => {
|
|
16601
|
+
return new Vector3().setFromSpherical(new Spherical(circle, Math.acos(1 - Math.random() * 2), Math.random() * 2 * Math.PI)).toArray();
|
|
16968
16602
|
};
|
|
16969
16603
|
for (let i = 0; i < count.value; i++) {
|
|
16970
|
-
circle
|
|
16971
|
-
positionArray.push(...generateStars(circle
|
|
16604
|
+
circle -= increment.value * Math.random();
|
|
16605
|
+
positionArray.push(...generateStars(circle));
|
|
16972
16606
|
}
|
|
16973
16607
|
position.value = new Float32Array(positionArray);
|
|
16974
16608
|
scale.value = new Float32Array(scaleArray);
|
|
@@ -16995,10 +16629,5 @@ var Stars_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
|
|
|
16995
16629
|
};
|
|
16996
16630
|
}
|
|
16997
16631
|
});
|
|
16998
|
-
|
|
16999
|
-
//#endregion
|
|
17000
|
-
//#region src/core/staging/Stars.vue
|
|
17001
|
-
var Stars_default = Stars_vue_vue_type_script_setup_true_lang_default;
|
|
17002
|
-
|
|
17003
16632
|
//#endregion
|
|
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 };
|
|
16633
|
+
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 };
|