Replace hanging STL dialog with local file picker

This commit is contained in:
2026-08-25 22:33:27 +02:00
parent 85ba44281e
commit 411eb6397c
6 changed files with 39 additions and 30 deletions
+8 -5
View File
@@ -65,15 +65,18 @@
addEventListener('resize',requestDraw);
window.rovModel = {
loadBuffer(buffer, name) {
vertices=parseStl(buffer);stage.classList.add('model-loaded');
document.querySelector('#model-style').disabled=false;
document.querySelector('#model-file-name').textContent=name;
yaw=-.55;pitch=-.42;zoom=1;requestDraw();
return {name,triangles:vertices.length/9};
},
load(payload) {
if (!payload?.data) throw new Error('The selected STL returned no mesh data');
const binary=atob(payload.data),bytes=new Uint8Array(binary.length);
for(let i=0;i<binary.length;i++)bytes[i]=binary.charCodeAt(i);
vertices=parseStl(bytes.buffer);stage.classList.add('model-loaded');
document.querySelector('#model-style').disabled=false;
document.querySelector('#model-file-name').textContent=payload.name;
yaw=-.55;pitch=-.42;zoom=1;requestDraw();
return {name:payload.name,triangles:vertices.length/9};
return this.loadBuffer(bytes.buffer,payload.name);
},
toggleStyle() { edgesOnly=!edgesOnly;requestDraw();return edgesOnly; }
};