From a2bc54808eb7291233db2dfafdfb1b776c8dec3e Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 15 Nov 2022 23:45:45 -0500 Subject: [PATCH] expose indexVertices in csg --- src/geo/csg.js | 3 ++- src/main/mesh.js | 27 ++++++++++++--------------- src/mesh/model.js | 1 - 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/geo/csg.js b/src/geo/csg.js index 89dad830..48c44ba2 100644 --- a/src/geo/csg.js +++ b/src/geo/csg.js @@ -74,8 +74,9 @@ const CSG = { const vmin = new THREE.Vector3(min.x, min.y, min.z); const vmax = new THREE.Vector3(max.x, max.y, max.z); return new THREE.Box3(vmin, vmax); - } + }, + indexVertices }; function indexVertices(pos) { diff --git a/src/main/mesh.js b/src/main/mesh.js index 132193e8..2913a3e5 100644 --- a/src/main/mesh.js +++ b/src/main/mesh.js @@ -85,25 +85,22 @@ function init() { } // restore space layout and view from previous session -function restore_space() { - let { api } = mesh; - let count = 0; - let space = moto.space; - let mcache = {}; - mesh.db.admin.get("camera") +async function restore_space() { + const { api } = mesh; + const space = moto.space; + const db_admin = mesh.db.admin; + const db_space = mesh.db.space; + // let mcache = {}; + await db_admin.get("camera") .then(saved => { if (saved) { space.view.load(saved.place); space.view.setFocus(saved.focus); } }); - mesh.db.admin.get("matrices") - .then(data => { - if (data) { - mcache = data; - } - }); - mesh.db.space.iterate({ map: true }).then(cached => { + const mcache = await db_admin.get("matrices") || {}; + let count = 0; + await db_space.iterate({ map: true }).then(cached => { const keys = []; const claimed = []; for (let [id, data] of Object.entries(cached)) { @@ -126,7 +123,7 @@ function restore_space() { mesh.api.group.new(models, id).applyMatrix(mcache[id]); } else { mesh.api.log.emit(`removed empty group ${id}`); - mesh.db.space.remove(id); + db_space.remove(id); } } } @@ -138,7 +135,7 @@ function restore_space() { } // clear out meshes left in the space db along with their matrices for (let id of keys) { - mesh.db.space.remove(id); + db_space.remove(id); delete mcache[id]; } // restore global cache only after objects are restored diff --git a/src/mesh/model.js b/src/mesh/model.js index c09116eb..cade4c99 100644 --- a/src/mesh/model.js +++ b/src/mesh/model.js @@ -63,7 +63,6 @@ let materials = mesh.material = { opacity: 1 }), wireframe: new MeshBasicMaterial({ - flatShading: true, side: DoubleSide, wireframe: true, color: 0x0,