big rewrite focusing on faster performance and selection improvements

This commit is contained in:
Yeicor
2024-03-10 15:34:39 +01:00
parent a9ce189c45
commit 719395863d
24 changed files with 663 additions and 1266 deletions

View File

@@ -32,8 +32,18 @@ const disableTap = ref(false);
const setDisableTap = (val: boolean) => disableTap.value = val;
provide('disableTap', {disableTap, setDisableTap});
async function onModelLoadRequest(model: NetworkUpdateEvent) {
sceneDocument.value = await SceneMgr.loadModel(sceneUrl, sceneDocument.value, model.name, model.url);
async function onModelLoadRequest(event: NetworkUpdateEvent) {
// Load a new batch of models to optimize rendering time
let doc = sceneDocument.value;
for (let model of event.models) {
let isLast = event.models[event.models.length - 1].url == model.url;
if (!model.isRemove) {
doc = await SceneMgr.loadModel(sceneUrl, doc, model.name, model.url, isLast, isLast);
} else {
doc = await SceneMgr.removeModel(sceneUrl, doc, model.name, isLast);
}
}
sceneDocument.value = doc
triggerRef(sceneDocument); // Why not triggered automatically?
}