From 23a3ac18848aa927b211db4dfac276afc3619045 Mon Sep 17 00:00:00 2001 From: cristi8 Date: Wed, 24 Nov 2021 13:12:06 +0200 Subject: [PATCH 1/3] viewer package.json fix, null checking in conversion --- packages/viewer/package.json | 2 +- packages/viewer/src/modules/converter/Converter.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/viewer/package.json b/packages/viewer/package.json index 4781e0cba..3be775e1d 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -38,7 +38,6 @@ "@babel/preset-env": "7.15.8", "@babel/preset-react": "7.14.5", "@babel/preset-typescript": "7.15.0", - "@speckle/objectloader": "^2.2.0", "babel-jest": "27.2.5", "babel-loader": "^8.0.0-beta.4", "babel-plugin-add-module-exports": "1.0.4", @@ -55,6 +54,7 @@ "yargs": "^17.2.1" }, "dependencies": { + "@speckle/objectloader": "^2.2.0", "camera-controls": "^1.33.1", "hold-event": "^0.1.0", "lodash.debounce": "^4.0.8", diff --git a/packages/viewer/src/modules/converter/Converter.js b/packages/viewer/src/modules/converter/Converter.js index f7e50aa5d..1c658346c 100644 --- a/packages/viewer/src/modules/converter/Converter.js +++ b/packages/viewer/src/modules/converter/Converter.js @@ -46,7 +46,7 @@ export default class Coverter { await this.asyncPause() // Exit on primitives (string, ints, bools, bigints, etc.) - if ( typeof obj !== 'object' ) return + if ( obj === null || typeof obj !== 'object' ) return if ( obj.referencedId ) obj = await this.resolveReference( obj ) let childrenConversionPromisses = [] From 036f3b956c01601d5fc3c2ac893ab0e3bcd8f16d Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Wed, 24 Nov 2021 12:03:16 +0000 Subject: [PATCH 2/3] fix(frontend): fixes race condition in renderer --- packages/frontend/src/components/Renderer.vue | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/components/Renderer.vue b/packages/frontend/src/components/Renderer.vue index 856618d0f..5aa071cd9 100644 --- a/packages/frontend/src/components/Renderer.vue +++ b/packages/frontend/src/components/Renderer.vue @@ -328,6 +328,7 @@ export default { // - juggle the container div out of this component's dom when the component is managed out by vue // - juggle the container div back in of this component's dom when it's back. let renderDomElement = document.getElementById('renderer') + this.hasLoadedModel = false if (!renderDomElement) { renderDomElement = document.createElement('div') @@ -342,26 +343,24 @@ export default { window.__viewer = new Viewer({ container: renderDomElement, showStats: false }) } - window.__viewer.onWindowResize() window.__viewer.onWindowResize() window.__viewer.cameraHandler.onWindowResize() if (window.__viewerLastLoadedUrl !== this.objectUrl) { - window.__viewerLastLoadedUrl = null await this.getPreviewImage() - await window.__viewer.unloadAll() + console.log(window.__viewerLastLoadedUrl, this.hasLoadedModel) + if (window.__viewerLastLoadedUrl && !this.hasLoadedModel) { + console.log('unloading') + await window.__viewer.unloadAll() + } + window.__viewerLastLoadedUrl = null } else { this.hasLoadedModel = true this.loadProgress = 100 this.setupEvents() } - let persp = localStorage.getItem('cameramode') - if (!persp) { - this.perspectiveMode = true - } else { - this.perspectiveMode = persp === 'perspective' - } + if (window.__viewer.cameraHandler.activeCam === 'ortho') this.perspectiveMode = false }, beforeDestroy() { // NOTE: here's where we juggle the container div out, and do cleanup on the @@ -392,7 +391,6 @@ export default { toggleCamera() { window.__viewer.toggleCameraProjection() this.perspectiveMode = !this.perspectiveMode - localStorage.setItem('cameramode', this.perspectiveMode === true ? 'perspective' : 'ortho') }, zoomEx() { window.__viewer.interactions.zoomExtents() From 4fc0021a83cb8951372acb7b14e5b13a1ff70365 Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Wed, 24 Nov 2021 12:59:30 +0000 Subject: [PATCH 3/3] style(frontend): removes console log statements --- packages/frontend/src/components/Renderer.vue | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/frontend/src/components/Renderer.vue b/packages/frontend/src/components/Renderer.vue index 5aa071cd9..0b51b0532 100644 --- a/packages/frontend/src/components/Renderer.vue +++ b/packages/frontend/src/components/Renderer.vue @@ -348,9 +348,8 @@ export default { if (window.__viewerLastLoadedUrl !== this.objectUrl) { await this.getPreviewImage() - console.log(window.__viewerLastLoadedUrl, this.hasLoadedModel) if (window.__viewerLastLoadedUrl && !this.hasLoadedModel) { - console.log('unloading') + // console.log('unloading') await window.__viewer.unloadAll() } window.__viewerLastLoadedUrl = null