From fd2986aeb2e9fe410e867fc54886a01390873043 Mon Sep 17 00:00:00 2001 From: Darkdusk Date: Tue, 28 Apr 2026 11:05:51 +0200 Subject: [PATCH 1/3] Added component to use for better editing of assets --- app/src/components/NumberSliderToggle.vue | 75 +++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 app/src/components/NumberSliderToggle.vue diff --git a/app/src/components/NumberSliderToggle.vue b/app/src/components/NumberSliderToggle.vue new file mode 100644 index 00000000..afab8c09 --- /dev/null +++ b/app/src/components/NumberSliderToggle.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file From 354809c6de72275a13b3bd96843e6483cf841445 Mon Sep 17 00:00:00 2001 From: Darkdusk Date: Tue, 28 Apr 2026 11:11:32 +0200 Subject: [PATCH 2/3] Implemented NumberSliderToggle component into asset editing --- app/src/components/lobby/VrSpacePreview.vue | 52 +++++++++++++++++---- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/app/src/components/lobby/VrSpacePreview.vue b/app/src/components/lobby/VrSpacePreview.vue index d7e45af9..7a10b9c8 100644 --- a/app/src/components/lobby/VrSpacePreview.vue +++ b/app/src/components/lobby/VrSpacePreview.vue @@ -15,11 +15,26 @@
x - + + + y - + + + z - + + +
@@ -100,6 +135,7 @@ import { defaultHeightOverGround } from 'schemas'; import { useCurrentCursorIntersection, useSelectedPlacedObject, useCurrentlyMovedObject } from '@/composables/vrSpaceComposables'; import OffsetSlider from '@/components/OffsetSlider.vue'; import { arrToCoordString, attachOrbitControls } from '@/modules/3DUtils'; +import NumberSliderToggle from '@/components/NumberSliderToggle.vue'; const vrSpaceStore = useVrSpaceStore(); From 3f754a077e5e132f6c113fc85deac9d302e38b8d Mon Sep 17 00:00:00 2001 From: Darkdusk Date: Tue, 28 Apr 2026 11:17:57 +0200 Subject: [PATCH 3/3] Changed how the min and max values where given and calculated to allow for more dynamic values --- app/src/components/lobby/VrSpacePreview.vue | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/app/src/components/lobby/VrSpacePreview.vue b/app/src/components/lobby/VrSpacePreview.vue index 7a10b9c8..4626d0ef 100644 --- a/app/src/components/lobby/VrSpacePreview.vue +++ b/app/src/components/lobby/VrSpacePreview.vue @@ -17,21 +17,21 @@ x - + y z @@ -163,6 +163,18 @@ const uniformScale = computed({ } }) +const worldPositionBounds = computed(() => { + if (!modelTag.value) return { min: -1000, max: 1000 } + + const obj3D = modelTag.value.getObject3D('mesh') as THREE.Object3D + const bbox = new THREE.Box3().setFromObject(obj3D) + + return { + min: bbox.min.x - bbox.getSize(new THREE.Vector3()).x * 0.5, + max: bbox.max.x + bbox.getSize(new THREE.Vector3()).x * 0.5 + } +}) + const worldModelScaleString = computed(() => { return `${vrSpaceStore.writableVrSpaceDbData?.worldModelScale} ${vrSpaceStore.writableVrSpaceDbData?.worldModelScale} ${vrSpaceStore.writableVrSpaceDbData?.worldModelScale}` })