From 34b7c3e893fd4cf4620a26097214ed48e6fed637 Mon Sep 17 00:00:00 2001 From: Yeicor <4929005+Yeicor@users.noreply.github.com> Date: Sat, 24 Feb 2024 20:49:07 +0100 Subject: [PATCH] better model management --- src/App.vue | 14 +++++++++++++- src/misc/gltf.ts | 14 +++++++++----- src/misc/network.ts | 2 +- src/models/Model.vue | 7 ++++--- yacv_server/tessellate.py | 9 +++++---- 5 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/App.vue b/src/App.vue index 2017399..4bdd730 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,12 +5,14 @@ import Sidebar from "./misc/Sidebar.vue"; import Loading from "./misc/Loading.vue"; import Tools from "./tools/Tools.vue"; import Models from "./models/Models.vue"; -import {VLayout, VMain, VToolbarTitle} from "vuetify/lib/components"; +import {VBtn, VLayout, VMain, VToolbarTitle} from "vuetify/lib/components"; import {settings} from "./misc/settings"; import {NetworkManager, NetworkUpdateEvent} from "./misc/network"; import {SceneMgr} from "./misc/scene"; import {Document} from "@gltf-transform/core"; import type ModelViewerWrapperT from "./viewer/ModelViewerWrapper.vue"; +import {mdiPlus} from '@mdi/js' +import SvgIcon from '@jamescoyle/vue-icon'; // NOTE: The ModelViewer library is big (THREE.js), so we split it and import it asynchronously const ModelViewerWrapper = defineAsyncComponent({ @@ -42,6 +44,11 @@ networkMgr.addEventListener('update', onModelLoadRequest); for (let model of settings.preloadModels) { networkMgr.load(model); } + +async function loadModelManual() { + const modelUrl = prompt("For an improved experience in viewing CAD/GLTF models with automatic updates, it's recommended to use the official yacv_server Python package. This ensures seamless serving of models and automatic updates.\n\nOtherwise, enter the URL of the model to load:"); + if (modelUrl) await networkMgr.load(modelUrl); +}