(function(a,n){typeof exports=="object"&&typeof module<"u"?module.exports=n():typeof define=="function"&&define.amd?define(n):(a=typeof globalThis<"u"?globalThis:a||self,a.Image3d=n())})(this,function(){"use strict";var p=Object.defineProperty;var b=(a,n,h)=>n in a?p(a,n,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[n]=h;var i=(a,n,h)=>b(a,typeof n!="symbol"?n+"":n,h);function a(o){const e=["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"];return o.nodeType===1&&!e.includes(o.tagName)}function n(o){const e=[];let t=o.length;return new Promise((s,r)=>{if(t===0){s(e);return}const l=function(){--t,t===0&&s(e)},d=function(m){r(m)};for(let m=0;m{e.start(t=>{const s=t.do.gamma,r=t.do.beta;this.mouseTargetY=v(r,-this.maxTilt,this.maxTilt)/this.maxTilt,this.mouseTargetX=-v(s,-this.maxTilt,this.maxTilt)/this.maxTilt})}).catch(t=>{console.log(t)})}catch(e){console.log("GyroNorm not supported",e)}}mouseMove(){document.addEventListener("mousemove",e=>{const t=this.windowWidth/2,s=this.windowHeight/2;this.mouseTargetX=(t-e.clientX)/t,this.mouseTargetY=(s-e.clientY)/s})}render(){const t=(new Date().getTime()-this.startTime)/1e3;this.uTime.set(t),this.mouseX+=(this.mouseTargetX-this.mouseX)*.05,this.mouseY+=(this.mouseTargetY-this.mouseY)*.05,this.uMouse.set(this.mouseX,this.mouseY),this.billboard.render(),requestAnimationFrame(this.render.bind(this))}}return E});