From 08d76c8b2f8535ac599c88dc42e5d946795536db Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 18 Jan 2022 13:41:11 -0500 Subject: [PATCH] safari workaround for workers. disable decals in dark mode. add client listener before starting client --- src/kiri/init.js | 7 +++++-- src/main/mesh.js | 6 +++--- src/mesh/api.js | 2 +- src/moto/client.js | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/kiri/init.js b/src/kiri/init.js index bc309987..3b194db2 100644 --- a/src/kiri/init.js +++ b/src/kiri/init.js @@ -191,7 +191,8 @@ }); UC.setHoverPop(false); updateFPS(); - if (control.decals) { + if (control.decals && !control.dark) { + // disable decals in dark mode loadDeviceTexture(currentDevice, deviceTexture); } else { clearDeviceTexture(); @@ -909,7 +910,9 @@ function loadDeviceTexture(dev, texture) { clearDeviceTexture(); deviceTexture = texture; - if (!(texture && API.conf.get().controller.decals)) { + let { decals, dark } = API.conf.get().controller; + // disable decals in dark mode + if (!(texture && decals && !dark)) { return; } let { width, height } = texture.image; diff --git a/src/main/mesh.js b/src/main/mesh.js index 8df31fbe..9c3c02de 100644 --- a/src/main/mesh.js +++ b/src/main/mesh.js @@ -59,6 +59,9 @@ function init() { }, 100); space.view.setZoom(zoomrev, zoomspd); + // reload stored space when worker is ready + moto.client.on('ready', restore_space); + // start worker moto.client.start(`/code/mesh_work?${gapp.version}`); @@ -67,9 +70,6 @@ function init() { // trigger ui building call.ui_build(); - - // reload stored space - moto.client.on('ready', restore_space); } // restore space layout and view from previous session diff --git a/src/mesh/api.js b/src/mesh/api.js index 1985559c..d6d3550e 100644 --- a/src/mesh/api.js +++ b/src/mesh/api.js @@ -319,7 +319,7 @@ let tool = { } }, - analyze(models, opt = { compound: false }) { + analyze(models, opt = { compound: true }) { models = fallback(models); api.log.emit('analyzing mesh(es)...').pin(); let promises = []; diff --git a/src/moto/client.js b/src/moto/client.js index 448b2584..923f2758 100644 --- a/src/moto/client.js +++ b/src/moto/client.js @@ -6,7 +6,7 @@ let moto = self.moto = self.moto || {}, ccvalue = self.navigator ? navigator.hardwareConcurrency || 1 : 1, - ccmax = ccvalue > 3 ? ccvalue - 1 : 0, + ccmax = ccvalue > 3 ? ccvalue - 1 : 1, workcc = false, // concurrent or not workurl = null, // url to load worker worknum = 1, // number of workers to start