diff --git a/src/art/artJS.js b/src/art/artJS.js index c5ffbcbe01a1532bf67b4cc16d8d75da3348edac..9ac36f8df0e7ae8959ba94fd979ffb03d91a48cb 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -273,24 +273,28 @@ App.Art.webglArtElement = function(slave, artSize) { let container = document.createElement("div"); container.setAttribute("class", "artContainer"); container.style.fontSize = "large"; - container.innerText = "Loading..."; + // container.innerText = "Loading..."; container.addEventListener("engineLoaded", function() { - // when engine is ready, attach default scene - let scene = JSON.parse(JSON.stringify(App.Art.defaultScene)); + let img = document.createElement("img"); // hack to simulate onload event + img.onerror = function() { + // when engine is ready, attach default scene + let scene = JSON.parse(JSON.stringify(App.Art.defaultScene)); - // apply the model transforms - let p = App.Art.getArtParams(slave); - App.Art.applyFigures(slave, scene, p); - App.Art.applySurfaces(slave, scene, p); - App.Art.applyMaterials(slave, scene, p); - App.Art.applyMorphs(slave, scene, p); + // apply the model transforms + let p = App.Art.getArtParams(slave); + App.Art.applyFigures(slave, scene, p); + App.Art.applySurfaces(slave, scene, p); + App.Art.applyMaterials(slave, scene, p); + App.Art.applyMorphs(slave, scene, p); - // console.log(scene); + // console.log(scene); - // create UI and render based on active view - container.innerText = ""; - App.Art.createWebglUI(container, slave, artSize, scene, p); + // create UI and render based on active view + container.innerText = ""; + App.Art.createWebglUI(container, slave, artSize, scene, p); + }; + img.src = ''; }); container.addEventListener("engineFailed", function() {