@shopware-ag/dive 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/chunks/{AssetCache-DnAAa719.mjs → AssetCache-DadU3pjv.mjs} +8 -9
- package/build/chunks/AssetCache-GSqD2GKD.cjs +1 -0
- package/build/chunks/{AssetLoader-DnVvCd41.cjs → AssetLoader-BOBXNUHe.cjs} +1 -1
- package/build/chunks/{AssetLoader-Bkp3fWZz.mjs → AssetLoader-Dwnjh3GI.mjs} +16 -17
- package/build/chunks/{FileTypes-D3Dxr2dj.mjs → FileTypes-CUga4xrG.mjs} +386 -294
- package/build/chunks/{FileTypes-B-MjfMGd.cjs → FileTypes-Cm1k0dUE.cjs} +2 -2
- package/build/chunks/GridNode-CK4PiwHT.cjs +1 -0
- package/build/chunks/GridNode-KgFpPNWa.mjs +30 -0
- package/build/chunks/{ModelComponent-WA0kLOEY.mjs → ModelComponent-Cpy9q21L.mjs} +1 -1
- package/build/chunks/{ModelComponent-Cmu0EX0r.cjs → ModelComponent-DuBAn1uS.cjs} +1 -1
- package/build/chunks/OrbitController-CK4OclLu.cjs +1 -0
- package/build/chunks/{OrbitController-DxCbrQVB.mjs → OrbitController-DFf6ANcN.mjs} +3 -4
- package/build/chunks/{SpriteTextComponent-BpoKLOjA.cjs → SpriteTextComponent-Bho3ynCj.cjs} +1 -1
- package/build/chunks/{SpriteTextComponent-DIZFqao0.mjs → SpriteTextComponent-DrBnD0_-.mjs} +1 -1
- package/build/chunks/{detachTransformControls-B4iRF1bw.mjs → detachTransformControls-D6VK3L3-.mjs} +1 -1
- package/build/chunks/{detachTransformControls-CZ2cd5hx.cjs → detachTransformControls-DFTq45Xl.cjs} +1 -1
- package/build/chunks/{isFileExtensionSupported-B1q2eWs7.cjs → isFileExtensionSupported-CCEhBoz9.cjs} +1 -1
- package/build/chunks/{isFileExtensionSupported-BqOqU3-h.mjs → isFileExtensionSupported-vz_2VJPi.mjs} +1 -1
- package/build/components/grid/GridComponent.d.ts +51 -1
- package/build/constants/GridColors.d.ts +46 -2
- package/build/dive.cjs +1 -1
- package/build/dive.mjs +106 -104
- package/build/engine/renderer/Renderer.d.ts +21 -1
- package/build/engine/scene/Scene.d.ts +9 -9
- package/build/plugins/ar/index.cjs +1 -1
- package/build/plugins/ar/index.mjs +1 -1
- package/build/plugins/assetcache/index.cjs +1 -1
- package/build/plugins/assetcache/index.mjs +1 -1
- package/build/plugins/assetloader/index.cjs +1 -1
- package/build/plugins/assetloader/index.mjs +2 -2
- package/build/plugins/mediacreator/index.cjs +1 -1
- package/build/plugins/mediacreator/index.mjs +3 -4
- package/build/plugins/orbitcontroller/index.cjs +1 -1
- package/build/plugins/orbitcontroller/index.mjs +1 -1
- package/build/plugins/orientationdisplay/index.cjs +1 -1
- package/build/plugins/orientationdisplay/index.mjs +4 -5
- package/build/plugins/quickview/index.cjs +1 -1
- package/build/plugins/quickview/index.mjs +7 -8
- package/build/plugins/shader/index.cjs +1 -1
- package/build/plugins/shader/index.mjs +1 -1
- package/build/plugins/shader/src/shaders/GridNode.d.ts +4 -0
- package/build/plugins/state/index.cjs +1 -1
- package/build/plugins/state/index.mjs +151 -163
- package/build/plugins/toolbox/index.cjs +1 -1
- package/build/plugins/toolbox/index.mjs +7 -8
- package/package.json +1 -1
- package/build/chunks/AssetCache-CUVFS7wk.cjs +0 -1
- package/build/chunks/GridNode-0R5ZnzR6.mjs +0 -30
- package/build/chunks/GridNode-iqnu86_v.cjs +0 -1
- package/build/chunks/OrbitController-CAJIiZeE.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ii=Object.defineProperty;var xi=(r,e,t)=>e in r?Ii(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var _=(r,e,t)=>xi(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ft=require("three/webgpu"),A=require("../../chunks/FileTypes-B-MjfMGd.cjs");require("three/examples/jsm/loaders/HDRLoader.js");require("three/tsl");const L=require("../../chunks/detachTransformControls-CZ2cd5hx.cjs"),kt=require("../../chunks/ModelComponent-Cmu0EX0r.cjs"),Vn={};function p(r,e){Vn[r]=e}function Un(r){return Vn[r]}var B=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mi(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var W,Xt;function Pi(){if(Xt)return W;Xt=1;function r(){this.__data__=[],this.size=0}return W=r,W}var ee,Yt;function N(){if(Yt)return ee;Yt=1;function r(e,t){return e===t||e!==e&&t!==t}return ee=r,ee}var te,Qt;function z(){if(Qt)return te;Qt=1;var r=N();function e(t,n){for(var i=t.length;i--;)if(r(t[i][0],n))return i;return-1}return te=e,te}var re,Wt;function Li(){if(Wt)return re;Wt=1;var r=z(),e=Array.prototype,t=e.splice;function n(i){var a=this.__data__,o=r(a,i);if(o<0)return!1;var s=a.length-1;return o==s?a.pop():t.call(a,o,1),--this.size,!0}return re=n,re}var ne,er;function Di(){if(er)return ne;er=1;var r=z();function e(t){var n=this.__data__,i=r(n,t);return i<0?void 0:n[i][1]}return ne=e,ne}var ie,tr;function Gi(){if(tr)return ie;tr=1;var r=z();function e(t){return r(this.__data__,t)>-1}return ie=e,ie}var ae,rr;function ki(){if(rr)return ae;rr=1;var r=z();function e(t,n){var i=this.__data__,a=r(i,t);return a<0?(++this.size,i.push([t,n])):i[a][1]=n,this}return ae=e,ae}var oe,nr;function H(){if(nr)return oe;nr=1;var r=Pi(),e=Li(),t=Di(),n=Gi(),i=ki();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,oe=a,oe}var se,ir;function Vi(){if(ir)return se;ir=1;var r=H();function e(){this.__data__=new r,this.size=0}return se=e,se}var ce,ar;function Ui(){if(ar)return ce;ar=1;function r(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}return ce=r,ce}var ue,or;function Fi(){if(or)return ue;or=1;function r(e){return this.__data__.get(e)}return ue=r,ue}var fe,sr;function Bi(){if(sr)return fe;sr=1;function r(e){return this.__data__.has(e)}return fe=r,fe}var de,cr;function Fn(){if(cr)return de;cr=1;var r=typeof B=="object"&&B&&B.Object===Object&&B;return de=r,de}var le,ur;function x(){if(ur)return le;ur=1;var r=Fn(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=r||e||Function("return this")();return le=t,le}var he,fr;function Bn(){if(fr)return he;fr=1;var r=x(),e=r.Symbol;return he=e,he}var pe,dr;function Ni(){if(dr)return pe;dr=1;var r=Bn(),e=Object.prototype,t=e.hasOwnProperty,n=e.toString,i=r?r.toStringTag:void 0;function a(o){var s=t.call(o,i),c=o[i];try{o[i]=void 0;var u=!0}catch{}var f=n.call(o);return u&&(s?o[i]=c:delete o[i]),f}return pe=a,pe}var ve,lr;function zi(){if(lr)return ve;lr=1;var r=Object.prototype,e=r.toString;function t(n){return e.call(n)}return ve=t,ve}var _e,hr;function K(){if(hr)return _e;hr=1;var r=Bn(),e=Ni(),t=zi(),n="[object Null]",i="[object Undefined]",a=r?r.toStringTag:void 0;function o(s){return s==null?s===void 0?i:n:a&&a in Object(s)?e(s):t(s)}return _e=o,_e}var ge,pr;function j(){if(pr)return ge;pr=1;function r(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return ge=r,ge}var be,vr;function Bt(){if(vr)return be;vr=1;var r=K(),e=j(),t="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function o(s){if(!e(s))return!1;var c=r(s);return c==n||c==i||c==t||c==a}return be=o,be}var ye,_r;function Hi(){if(_r)return ye;_r=1;var r=x(),e=r["__core-js_shared__"];return ye=e,ye}var me,gr;function Ki(){if(gr)return me;gr=1;var r=Hi(),e=function(){var n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function t(n){return!!e&&e in n}return me=t,me}var Ae,br;function $i(){if(br)return Ae;br=1;var r=Function.prototype,e=r.toString;function t(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Ae=t,Ae}var Ce,yr;function Ji(){if(yr)return Ce;yr=1;var r=Bt(),e=Ki(),t=j(),n=$i(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,o=Function.prototype,s=Object.prototype,c=o.toString,u=s.hasOwnProperty,f=RegExp("^"+c.call(u).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(v){if(!t(v)||e(v))return!1;var m=r(v)?f:a;return m.test(n(v))}return Ce=d,Ce}var Ee,mr;function Zi(){if(mr)return Ee;mr=1;function r(e,t){return e==null?void 0:e[t]}return Ee=r,Ee}var qe,Ar;function Nt(){if(Ar)return qe;Ar=1;var r=Ji(),e=Zi();function t(n,i){var a=e(n,i);return r(a)?a:void 0}return qe=t,qe}var Te,Cr;function Nn(){if(Cr)return Te;Cr=1;var r=Nt(),e=x(),t=r(e,"Map");return Te=t,Te}var Se,Er;function $(){if(Er)return Se;Er=1;var r=Nt(),e=r(Object,"create");return Se=e,Se}var we,qr;function Xi(){if(qr)return we;qr=1;var r=$();function e(){this.__data__=r?r(null):{},this.size=0}return we=e,we}var Oe,Tr;function Yi(){if(Tr)return Oe;Tr=1;function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return Oe=r,Oe}var je,Sr;function Qi(){if(Sr)return je;Sr=1;var r=$(),e="__lodash_hash_undefined__",t=Object.prototype,n=t.hasOwnProperty;function i(a){var o=this.__data__;if(r){var s=o[a];return s===e?void 0:s}return n.call(o,a)?o[a]:void 0}return je=i,je}var Re,wr;function Wi(){if(wr)return Re;wr=1;var r=$(),e=Object.prototype,t=e.hasOwnProperty;function n(i){var a=this.__data__;return r?a[i]!==void 0:t.call(a,i)}return Re=n,Re}var Ie,Or;function ea(){if(Or)return Ie;Or=1;var r=$(),e="__lodash_hash_undefined__";function t(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=r&&i===void 0?e:i,this}return Ie=t,Ie}var xe,jr;function ta(){if(jr)return xe;jr=1;var r=Xi(),e=Yi(),t=Qi(),n=Wi(),i=ea();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,xe=a,xe}var Me,Rr;function ra(){if(Rr)return Me;Rr=1;var r=ta(),e=H(),t=Nn();function n(){this.size=0,this.__data__={hash:new r,map:new(t||e),string:new r}}return Me=n,Me}var Pe,Ir;function na(){if(Ir)return Pe;Ir=1;function r(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}return Pe=r,Pe}var Le,xr;function J(){if(xr)return Le;xr=1;var r=na();function e(t,n){var i=t.__data__;return r(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Le=e,Le}var De,Mr;function ia(){if(Mr)return De;Mr=1;var r=J();function e(t){var n=r(this,t).delete(t);return this.size-=n?1:0,n}return De=e,De}var Ge,Pr;function aa(){if(Pr)return Ge;Pr=1;var r=J();function e(t){return r(this,t).get(t)}return Ge=e,Ge}var ke,Lr;function oa(){if(Lr)return ke;Lr=1;var r=J();function e(t){return r(this,t).has(t)}return ke=e,ke}var Ve,Dr;function sa(){if(Dr)return Ve;Dr=1;var r=J();function e(t,n){var i=r(this,t),a=i.size;return i.set(t,n),this.size+=i.size==a?0:1,this}return Ve=e,Ve}var Ue,Gr;function ca(){if(Gr)return Ue;Gr=1;var r=ra(),e=ia(),t=aa(),n=oa(),i=sa();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,Ue=a,Ue}var Fe,kr;function ua(){if(kr)return Fe;kr=1;var r=H(),e=Nn(),t=ca(),n=200;function i(a,o){var s=this.__data__;if(s instanceof r){var c=s.__data__;if(!e||c.length<n-1)return c.push([a,o]),this.size=++s.size,this;s=this.__data__=new t(c)}return s.set(a,o),this.size=s.size,this}return Fe=i,Fe}var Be,Vr;function fa(){if(Vr)return Be;Vr=1;var r=H(),e=Vi(),t=Ui(),n=Fi(),i=Bi(),a=ua();function o(s){var c=this.__data__=new r(s);this.size=c.size}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=i,o.prototype.set=a,Be=o,Be}var Ne,Ur;function zn(){if(Ur)return Ne;Ur=1;var r=Nt(),e=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch{}}();return Ne=e,Ne}var ze,Fr;function zt(){if(Fr)return ze;Fr=1;var r=zn();function e(t,n,i){n=="__proto__"&&r?r(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}return ze=e,ze}var He,Br;function Hn(){if(Br)return He;Br=1;var r=zt(),e=N();function t(n,i,a){(a!==void 0&&!e(n[i],a)||a===void 0&&!(i in n))&&r(n,i,a)}return He=t,He}var Ke,Nr;function da(){if(Nr)return Ke;Nr=1;function r(e){return function(t,n,i){for(var a=-1,o=Object(t),s=i(t),c=s.length;c--;){var u=s[e?c:++a];if(n(o[u],u,o)===!1)break}return t}}return Ke=r,Ke}var $e,zr;function la(){if(zr)return $e;zr=1;var r=da(),e=r();return $e=e,$e}var D={exports:{}};D.exports;var Hr;function ha(){return Hr||(Hr=1,function(r,e){var t=x(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,o=a?t.Buffer:void 0,s=o?o.allocUnsafe:void 0;function c(u,f){if(f)return u.slice();var d=u.length,v=s?s(d):new u.constructor(d);return u.copy(v),v}r.exports=c}(D,D.exports)),D.exports}var Je,Kr;function pa(){if(Kr)return Je;Kr=1;var r=x(),e=r.Uint8Array;return Je=e,Je}var Ze,$r;function va(){if($r)return Ze;$r=1;var r=pa();function e(t){var n=new t.constructor(t.byteLength);return new r(n).set(new r(t)),n}return Ze=e,Ze}var Xe,Jr;function _a(){if(Jr)return Xe;Jr=1;var r=va();function e(t,n){var i=n?r(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}return Xe=e,Xe}var Ye,Zr;function ga(){if(Zr)return Ye;Zr=1;function r(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}return Ye=r,Ye}var Qe,Xr;function ba(){if(Xr)return Qe;Xr=1;var r=j(),e=Object.create,t=function(){function n(){}return function(i){if(!r(i))return{};if(e)return e(i);n.prototype=i;var a=new n;return n.prototype=void 0,a}}();return Qe=t,Qe}var We,Yr;function ya(){if(Yr)return We;Yr=1;function r(e,t){return function(n){return e(t(n))}}return We=r,We}var et,Qr;function Kn(){if(Qr)return et;Qr=1;var r=ya(),e=r(Object.getPrototypeOf,Object);return et=e,et}var tt,Wr;function $n(){if(Wr)return tt;Wr=1;var r=Object.prototype;function e(t){var n=t&&t.constructor,i=typeof n=="function"&&n.prototype||r;return t===i}return tt=e,tt}var rt,en;function ma(){if(en)return rt;en=1;var r=ba(),e=Kn(),t=$n();function n(i){return typeof i.constructor=="function"&&!t(i)?r(e(i)):{}}return rt=n,rt}var nt,tn;function U(){if(tn)return nt;tn=1;function r(e){return e!=null&&typeof e=="object"}return nt=r,nt}var it,rn;function Aa(){if(rn)return it;rn=1;var r=K(),e=U(),t="[object Arguments]";function n(i){return e(i)&&r(i)==t}return it=n,it}var at,nn;function Jn(){if(nn)return at;nn=1;var r=Aa(),e=U(),t=Object.prototype,n=t.hasOwnProperty,i=t.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(o){return e(o)&&n.call(o,"callee")&&!i.call(o,"callee")};return at=a,at}var ot,an;function Zn(){if(an)return ot;an=1;var r=Array.isArray;return ot=r,ot}var st,on;function Xn(){if(on)return st;on=1;var r=9007199254740991;function e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=r}return st=e,st}var ct,sn;function Ht(){if(sn)return ct;sn=1;var r=Bt(),e=Xn();function t(n){return n!=null&&e(n.length)&&!r(n)}return ct=t,ct}var ut,cn;function Ca(){if(cn)return ut;cn=1;var r=Ht(),e=U();function t(n){return e(n)&&r(n)}return ut=t,ut}var G={exports:{}},ft,un;function Ea(){if(un)return ft;un=1;function r(){return!1}return ft=r,ft}G.exports;var fn;function Yn(){return fn||(fn=1,function(r,e){var t=x(),n=Ea(),i=e&&!e.nodeType&&e,a=i&&!0&&r&&!r.nodeType&&r,o=a&&a.exports===i,s=o?t.Buffer:void 0,c=s?s.isBuffer:void 0,u=c||n;r.exports=u}(G,G.exports)),G.exports}var dt,dn;function qa(){if(dn)return dt;dn=1;var r=K(),e=Kn(),t=U(),n="[object Object]",i=Function.prototype,a=Object.prototype,o=i.toString,s=a.hasOwnProperty,c=o.call(Object);function u(f){if(!t(f)||r(f)!=n)return!1;var d=e(f);if(d===null)return!0;var v=s.call(d,"constructor")&&d.constructor;return typeof v=="function"&&v instanceof v&&o.call(v)==c}return dt=u,dt}var lt,ln;function Ta(){if(ln)return lt;ln=1;var r=K(),e=Xn(),t=U(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",o="[object Date]",s="[object Error]",c="[object Function]",u="[object Map]",f="[object Number]",d="[object Object]",v="[object RegExp]",m="[object Set]",E="[object String]",q="[object WeakMap]",T="[object ArrayBuffer]",R="[object DataView]",g="[object Float32Array]",Y="[object Float64Array]",Q="[object Int8Array]",M="[object Int16Array]",S="[object Int32Array]",C="[object Uint8Array]",b="[object Uint8ClampedArray]",F="[object Uint16Array]",y="[object Uint32Array]",l={};l[g]=l[Y]=l[Q]=l[M]=l[S]=l[C]=l[b]=l[F]=l[y]=!0,l[n]=l[i]=l[T]=l[a]=l[R]=l[o]=l[s]=l[c]=l[u]=l[f]=l[d]=l[v]=l[m]=l[E]=l[q]=!1;function P(w){return t(w)&&e(w.length)&&!!l[r(w)]}return lt=P,lt}var ht,hn;function Sa(){if(hn)return ht;hn=1;function r(e){return function(t){return e(t)}}return ht=r,ht}var k={exports:{}};k.exports;var pn;function wa(){return pn||(pn=1,function(r,e){var t=Fn(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,o=a&&t.process,s=function(){try{var c=i&&i.require&&i.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();r.exports=s}(k,k.exports)),k.exports}var pt,vn;function Qn(){if(vn)return pt;vn=1;var r=Ta(),e=Sa(),t=wa(),n=t&&t.isTypedArray,i=n?e(n):r;return pt=i,pt}var vt,_n;function Wn(){if(_n)return vt;_n=1;function r(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}return vt=r,vt}var _t,gn;function Oa(){if(gn)return _t;gn=1;var r=zt(),e=N(),t=Object.prototype,n=t.hasOwnProperty;function i(a,o,s){var c=a[o];(!(n.call(a,o)&&e(c,s))||s===void 0&&!(o in a))&&r(a,o,s)}return _t=i,_t}var gt,bn;function ja(){if(bn)return gt;bn=1;var r=Oa(),e=zt();function t(n,i,a,o){var s=!a;a||(a={});for(var c=-1,u=i.length;++c<u;){var f=i[c],d=o?o(a[f],n[f],f,a,n):void 0;d===void 0&&(d=n[f]),s?e(a,f,d):r(a,f,d)}return a}return gt=t,gt}var bt,yn;function Ra(){if(yn)return bt;yn=1;function r(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}return bt=r,bt}var yt,mn;function ei(){if(mn)return yt;mn=1;var r=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function t(n,i){var a=typeof n;return i=i??r,!!i&&(a=="number"||a!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<i}return yt=t,yt}var mt,An;function Ia(){if(An)return mt;An=1;var r=Ra(),e=Jn(),t=Zn(),n=Yn(),i=ei(),a=Qn(),o=Object.prototype,s=o.hasOwnProperty;function c(u,f){var d=t(u),v=!d&&e(u),m=!d&&!v&&n(u),E=!d&&!v&&!m&&a(u),q=d||v||m||E,T=q?r(u.length,String):[],R=T.length;for(var g in u)(f||s.call(u,g))&&!(q&&(g=="length"||m&&(g=="offset"||g=="parent")||E&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||i(g,R)))&&T.push(g);return T}return mt=c,mt}var At,Cn;function xa(){if(Cn)return At;Cn=1;function r(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}return At=r,At}var Ct,En;function Ma(){if(En)return Ct;En=1;var r=j(),e=$n(),t=xa(),n=Object.prototype,i=n.hasOwnProperty;function a(o){if(!r(o))return t(o);var s=e(o),c=[];for(var u in o)u=="constructor"&&(s||!i.call(o,u))||c.push(u);return c}return Ct=a,Ct}var Et,qn;function ti(){if(qn)return Et;qn=1;var r=Ia(),e=Ma(),t=Ht();function n(i){return t(i)?r(i,!0):e(i)}return Et=n,Et}var qt,Tn;function Pa(){if(Tn)return qt;Tn=1;var r=ja(),e=ti();function t(n){return r(n,e(n))}return qt=t,qt}var Tt,Sn;function La(){if(Sn)return Tt;Sn=1;var r=Hn(),e=ha(),t=_a(),n=ga(),i=ma(),a=Jn(),o=Zn(),s=Ca(),c=Yn(),u=Bt(),f=j(),d=qa(),v=Qn(),m=Wn(),E=Pa();function q(T,R,g,Y,Q,M,S){var C=m(T,g),b=m(R,g),F=S.get(b);if(F){r(T,g,F);return}var y=M?M(C,b,g+"",T,R,S):void 0,l=y===void 0;if(l){var P=o(b),w=!P&&c(b),Zt=!P&&!w&&v(b);y=b,P||w||Zt?o(C)?y=C:s(C)?y=n(C):w?(l=!1,y=e(b,!0)):Zt?(l=!1,y=t(b,!0)):y=[]:d(b)||a(b)?(y=C,a(C)?y=E(C):(!f(C)||u(C))&&(y=i(b))):l=!1}l&&(S.set(b,y),Q(y,b,Y,M,S),S.delete(b)),r(T,g,y)}return Tt=q,Tt}var St,wn;function Da(){if(wn)return St;wn=1;var r=fa(),e=Hn(),t=la(),n=La(),i=j(),a=ti(),o=Wn();function s(c,u,f,d,v){c!==u&&t(u,function(m,E){if(v||(v=new r),i(m))n(c,u,E,f,s,d,v);else{var q=d?d(o(c,E),m,E+"",c,u,v):void 0;q===void 0&&(q=m),e(c,E,q)}},a)}return St=s,St}var wt,On;function ri(){if(On)return wt;On=1;function r(e){return e}return wt=r,wt}var Ot,jn;function Ga(){if(jn)return Ot;jn=1;function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}return Ot=r,Ot}var jt,Rn;function ka(){if(Rn)return jt;Rn=1;var r=Ga(),e=Math.max;function t(n,i,a){return i=e(i===void 0?n.length-1:i,0),function(){for(var o=arguments,s=-1,c=e(o.length-i,0),u=Array(c);++s<c;)u[s]=o[i+s];s=-1;for(var f=Array(i+1);++s<i;)f[s]=o[s];return f[i]=a(u),r(n,this,f)}}return jt=t,jt}var Rt,In;function Va(){if(In)return Rt;In=1;function r(e){return function(){return e}}return Rt=r,Rt}var It,xn;function Ua(){if(xn)return It;xn=1;var r=Va(),e=zn(),t=ri(),n=e?function(i,a){return e(i,"toString",{configurable:!0,enumerable:!1,value:r(a),writable:!0})}:t;return It=n,It}var xt,Mn;function Fa(){if(Mn)return xt;Mn=1;var r=800,e=16,t=Date.now;function n(i){var a=0,o=0;return function(){var s=t(),c=e-(s-o);if(o=s,c>0){if(++a>=r)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return xt=n,xt}var Mt,Pn;function Ba(){if(Pn)return Mt;Pn=1;var r=Ua(),e=Fa(),t=e(r);return Mt=t,Mt}var Pt,Ln;function Na(){if(Ln)return Pt;Ln=1;var r=ri(),e=ka(),t=Ba();function n(i,a){return t(e(i,a,r),i+"")}return Pt=n,Pt}var Lt,Dn;function za(){if(Dn)return Lt;Dn=1;var r=N(),e=Ht(),t=ei(),n=j();function i(a,o,s){if(!n(s))return!1;var c=typeof o;return(c=="number"?e(s)&&t(o,s.length):c=="string"&&o in s)?r(s[o],a):!1}return Lt=i,Lt}var Dt,Gn;function Ha(){if(Gn)return Dt;Gn=1;var r=Na(),e=za();function t(n){return r(function(i,a){var o=-1,s=a.length,c=s>1?a[s-1]:void 0,u=s>2?a[2]:void 0;for(c=n.length>3&&typeof c=="function"?(s--,c):void 0,u&&e(a[0],a[1],u)&&(c=s<3?void 0:c,s=1),i=Object(i);++o<s;){var f=a[o];f&&n(i,f,o,c)}return i})}return Dt=t,Dt}var Gt,kn;function Ka(){if(kn)return Gt;kn=1;var r=Da(),e=Ha(),t=e(function(n,i,a){r(n,i,a)});return Gt=t,Gt}var $a=Ka();const Ja=Mi($a),Za=["position","rotation","scale","target"],Xa=r=>typeof r=="object"&&r!==null&&typeof r.x=="number"&&typeof r.y=="number"&&typeof r.z=="number",ni=r=>{const e={...r};return Za.forEach(t=>{const n=e[t];Xa(n)&&(e[t]={x:n.x,y:n.y,z:n.z})}),e};class Ya{constructor(){_(this,"_entities",new Map)}get size(){return this._entities.size}read(e){return e===void 0?Array.from(this._entities.values()):this._entities.get(e)}write(e,t){const n=this._entities.get(e);n&&Ja(n.schema,ni(t))}register(e,t,n){this._entities.set(e.id,{schema:e,node:t,unwatch:n})}unregister(e){var n;const t=this._entities.get(e);return t?((n=t.unwatch)==null||n.call(t),this._entities.delete(e)):!1}clear(){this._entities.forEach(e=>{var t;return(t=e.unwatch)==null?void 0:t.call(e)}),this._entities.clear()}}function ii(r){return r.entityType==="group"}function ai(r){return r.entityType==="light"}function Kt(r){return r.entityType==="model"}function Z(r){return r.entityType==="camera"}function oi(r){return r.entityType==="primitive"}const Qa=new Ft.Vector3,Vt=r=>{var t;const e=r.parent;!e||!("isDIVENode"in e)||(t=e.getComponent(A.MultiLineComponent))==null||t.setLineFor(r,Qa,r.position)};class si{constructor(e){_(this,"_engine");_(this,"_entities",new Map);this._engine=e}get root(){return this._engine.scene.root}findEntity(e){return this._entities.get(e.id)}createEntity(e){const t=this.findEntity(e);if(t)return console.warn(`EngineGateway.createEntity: Scene object with id ${e.id} already exists`),t;if(Z(e))return;const n=this._instantiate(e);return n.name=e.name,n.userData.id=e.id,this._entities.set(e.id,n),this.root.add(n),n}async applyEntity(e,t){await this._apply(e,t)}async updateEntity(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway.updateEntity: Scene object with id ${e.id} does not exist`);return}await this._apply(t,e)}removeEntity(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway.removeEntity: Object with id ${e.id} not found`);return}if(this._entities.delete(e.id),L.detachTransformControls(t),"isDIVENode"in t){const n=t.nodes;for(let i=n.length-1;i>=0;i--)this.root.attach(n[i])}A.disposeComponents(t),t.removeFromParent()}dispose(){this._entities.clear()}readSceneSettings(){const e=this._engine.scene;return{name:e.name,backgroundColor:"#"+e.background.getHexString(),gridEnabled:e.grid.visible,floorEnabled:e.root.floor.visible,floorColor:"#"+e.root.floor.material.color.getHexString()}}applySceneSettings(e){const t=this._engine.scene;e.name!==void 0&&(t.name=e.name),e.backgroundColor!==void 0&&t.setBackground(e.backgroundColor),e.gridEnabled!==void 0&&t.grid.setVisibility(e.gridEnabled),e.floorEnabled!==void 0&&t.root.floor.setVisibility(e.floorEnabled),e.floorColor!==void 0&&t.root.floor.setColor(e.floorColor)}startRendering(){return this._engine.startAsync()}registerTicker(e){this._engine.clock.hasTicker(e)||this._engine.clock.addTicker(e)}_instantiate(e){if(Kt(e)){const t=new A.DIVENode;return t.name="DIVEModel",t.userData.isDIVEModel=!0,t.addComponent(new kt.ModelComponent),t}if(oi(e)){const t=new A.DIVENode;return t.name="DIVEPrimitive",t.addComponent(new L.PrimitiveComponent),t}if(ii(e)){const t=new A.DIVENode;t.name="DIVEGroup";const n=t.addComponent(new A.MultiLineComponent);return t.addEventListener("childremoved",i=>n.removeLineFor(i.child)),t}if(ai(e))return this._instantiateLight(e);throw new Error(`EngineGateway.addEntity: Unknown entity type: ${e.entityType}`)}_instantiateLight(e){const t=new A.DIVENode;switch(t.name="DIVELight",e.type){case"scene":t.addComponent(new A.HemisphereLightComponent),t.addComponent(new A.DirectionalLightComponent);break;case"ambient":t.addComponent(new L.AmbientLightComponent);break;case"point":t.addComponent(new L.PointLightComponent);break;default:throw new Error(`EngineGateway.addEntity: Unknown light type: ${e.type}`)}return t}async _apply(e,t){if(t.entityType==="camera")return;const n=e;switch(t.entityType){case"light":this._applyLight(n,t);break;case"model":await this._applyModel(n,t);break;case"primitive":this._applyPrimitive(n,t);break;case"group":this._applyGroup(n,t);break;default:throw new Error(`EngineGateway.updateEntity: Unknown entity type: ${t.entityType}`)}t.name!==void 0&&(n.name=t.name),n.applyTransform(t),t.visible!==void 0&&n.setVisibility(t.visible),t.parentId!==void 0&&this._setParent({...t,parentId:t.parentId}),Vt(n)}_applyLight(e,t){e.getComponents(A.DIVELightComponent).forEach(i=>{t.intensity!==void 0&&i.setIntensity(t.intensity),t.enabled!==void 0&&i.setEnabled(t.enabled),t.color!==void 0&&i.setColor(new Ft.Color(t.color))})}async _applyModel(e,t){t.uri!==void 0&&t.uri!==e.userData.uri&&(await e.requireComponent(kt.ModelComponent).setFromURL(t.uri),e.userData.uri=t.uri),t.material!==void 0&&t.material!==null&&e.requireComponent(A.MeshComponent).setMaterial(t.material)}_applyPrimitive(e,t){t.geometry!==void 0&&t.geometry!==null&&e.requireComponent(L.PrimitiveComponent).setGeometry(t.geometry),t.material!==void 0&&t.material!==null&&e.requireComponent(A.MeshComponent).setMaterial(t.material)}_applyGroup(e,t){t.linksVisible!==void 0&&e.requireComponent(A.MultiLineComponent).setVisible(t.linksVisible)}_setParent(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway._setParent: ${e.id} is not in the scene`);return}if(e.parentId===null){this.root.attach(t);return}const n=this.findEntity({id:e.parentId,entityType:e.entityType});if(!n){console.warn(`EngineGateway._setParent: Parent with id ${e.parentId} is not in the scene, ${e.id} stays at the root`);return}n.attach(t),Vt(t)}}class h{constructor(e,t){_(this,"_payload");_(this,"_dependencies");this._payload=e,this._dependencies=t}static define({description:e,execute:t}){return class extends h{constructor(i,a){super(i,a);_(this,"_description",e);_(this,"_payload");this._payload=i}execute(){return t(this._payload,this._dependencies)}}}}const ci=h.define({description:"Launches AR mode in native capabilities. (iOS: AR Quick Look, Android: Google Scene Viewer)",execute:async(r,{getARSystem:e})=>e().then(t=>{t.launch(r.uri,r.options)})});p("LAUNCH_AR",ci);const ui=h.define({description:"Calculates the camera position and target to view the whole scene. (experimental).",execute:(r,{gateway:e,controller:t})=>{const n=A.computeProductBounds(e.root).getBoundingSphere(new Ft.Sphere);return t.computeEncompassingView(n)}});p("COMPUTE_ENCOMPASSING_VIEW",ui);const fi=h.define({description:"Gets the current camera position and target.",execute:(r,{controller:e})=>({position:e.object.owner.position.clone(),target:e.target.clone()})});p("GET_CAMERA_TRANSFORM",fi);const di=h.define({description:"Moves the camera to a new position and target.",execute:async(r,{controller:e,registry:t,getAnimationSystem:n,gateway:i})=>{var u;const a=await n();let o={x:0,y:0,z:0},s={x:0,y:0,z:0};if("id"in r){const f=(u=t.read(r.id))==null?void 0:u.schema;if(!f)throw new Error(`CAMERA with id ${r.id} not registered.`);if(!Z(f))throw new Error(`Object with id ${r.id} is not a CAMERA. Object: ${f}`);o=f.position,s=f.target}else o=r.position,s=r.target;i.registerTicker(a),e.enabled=!0;const c=await a.fromTargets([{object:e.object.owner.position,to:o},{object:e.target,to:s}],r.duration,{easing:a.Easing.Quadratic.Out,onUpdate:()=>{e.object.lookAt(e.target)},onComplete:()=>{e.enabled=!r.locked}});return c.play(),{stop:()=>c.stop()}}});p("MOVE_CAMERA",di);const li=h.define({description:"Sets the camera layer to a certain layer.",execute:(r,{controller:e})=>{e.object.setCameraLayer(r.layer)}});p("SET_CAMERA_LAYER",li);const $t=h.define({description:"Sets the camera position and target.",execute:(r,{controller:e})=>{e.object.owner.position.copy(r.position),e.target.copy(r.target),e.update()}});p("SET_CAMERA_TRANSFORM",$t);const hi=h.define({description:"Zooms the camera in or out by a certain amount.",execute:(r,{controller:e})=>{r.direction==="IN"&&e.zoomIn(r.by),r.direction==="OUT"&&e.zoomOut(r.by)}});p("ZOOM_CAMERA",hi);const pi=h.define({description:"Generates a screenshot, stores it in a Blob and returns a Promise of a valid URI.",execute:async(r,{getMediaCreator:e,registry:t})=>{var i;const n=await e();if("id"in r){const a=(i=t.read(r.id))==null?void 0:i.schema;if(!a)throw new Error(`Object with id ${r.id} not registered.`);if(!Z(a))throw new Error(`Object with id ${r.id} is not a CAMERA. Object: ${a}`);const{resolution:o}=r,{position:s,target:c}=a;return n.generateMedia({position:s,target:c,resolution:o})}return n.generateMedia(r)}});p("GENERATE_MEDIA",pi);const Wa=(r,e,{registry:t,dispatch:n})=>{const{id:i,entityType:a}=e,o=d=>{const v=ni({id:i,entityType:a,position:d.position,rotation:d.rotation,scale:d.scale});t.write(i,v),Vt(r),n("UPDATE_OBJECT",v)},s=()=>{n("SELECT_OBJECT",{id:i,entityType:a})},c=()=>{n("DESELECT_OBJECT",{id:i,entityType:a})},u=()=>{t.write(i,{id:i,entityType:a,loaded:!0}),n("MODEL_LOADED",{id:i})};r.addEventListener("object-transform",o),r.addEventListener("object-select",s),r.addEventListener("object-deselect",c);const f=r.getComponent(kt.ModelComponent);return f==null||f.addEventListener("object-load",u),()=>{r.removeEventListener("object-transform",o),r.removeEventListener("object-select",s),r.removeEventListener("object-deselect",c),f==null||f.removeEventListener("object-load",u)}},O=h.define({description:"Adds an object to the scene.",execute:async(r,{gateway:e,registry:t,dispatch:n})=>{const i=t.read(r.id);if(i)return i.node;r.parentId===void 0&&(r.parentId=null);const a=e.createEntity(r);if(!a){t.register(r);return}t.register(r,a,Wa(a,r,{registry:t,dispatch:n}));try{await e.applyEntity(a,r)}catch(o){throw t.unregister(r.id),e.removeEntity(r),o}return a}});p("ADD_OBJECT",O);const V=h.define({description:"Updates an existing object.",execute:async(r,{gateway:e,registry:t})=>{var i;const n=(i=t.read(r.id))==null?void 0:i.schema;if(!n)throw new Error("Object not found.");t.write(r.id,r),await e.updateEntity({...r,id:n.id,entityType:n.entityType})}});p("UPDATE_OBJECT",V);const X=h.define({description:"Attach an object to another object.",execute:(r,{gateway:e,registry:t})=>{const n=t.read(r.object.id);if(!n)throw new Error("Object not found.");const i=n.schema,a=n.node;if(!a)throw new Error("Object is not in the scene.");if(r.parent===null){e.root.attach(a),new V({id:i.id,parentId:null},{gateway:e,registry:t}).execute();return}if(r.object.id===r.parent.id){console.warn("Cannot attach object to itself.");return}const o=t.read(r.parent.id);if(!o){console.warn("Parent object not found.");return}const s=o.schema,c=o.node;if(!c){console.warn("Parent object is not in the scene.");return}c.attach(a),new V({id:i.id,parentId:s.id},{gateway:e,registry:t}).execute()}});p("SET_PARENT",X);const Jt=h.define({description:"Deletes an object from the scene.",execute:(r,{gateway:e,registry:t})=>{var i;const n=(i=t.read(r.id))==null?void 0:i.schema;if(!n)return!1;n.parentId&&new X({object:{id:n.id},parent:null},{gateway:e,registry:t}).execute(),n.entityType==="group"&&t.read().forEach(({schema:a})=>{a.parentId===n.id&&new V({id:a.id,parentId:null},{gateway:e,registry:t}).execute()}),Object.assign(r,n),t.unregister(r.id),e.removeEntity(n)}});p("DELETE_OBJECT",Jt);const vi=h.define({description:"Deselects an existing object.",execute:async(r,{getToolbox:e,registry:t})=>{const n=t.read(r.id);if(!n)throw new Error("Object not found.");const i=n.node;if(!i)throw new Error("Object is not in the scene.");if(!("isSelectable"in i))throw new Error("Object is not selectable.");(await e()).selectionState.applyDeselection()}});p("DESELECT_OBJECT",vi);const _i=h.define({description:"Places an object on top of an underlying object or the floor.",execute:(r,{registry:e})=>{const t=e.read(r.id);if(!t)throw new Error(`Object with id ${r.id} not registered.`);const n=t.node;if(!n)throw new Error(`Object with id ${r.id} is not in the scene.`);n.dropIt()}});p("DROP_IT",_i);const gi=h.define({description:"Retrieves all objects in the state.",execute:(r,{registry:e})=>new Map(e.read().map(({schema:t})=>[t.id,t]))});p("GET_ALL_OBJECTS",gi);const bi=h.define({description:"Returns a list of objects of given IDs.",execute:(r,{registry:e})=>r.ids.map(t=>{var n;return(n=e.read(t))==null?void 0:n.schema}).filter(t=>t!==void 0)});p("GET_OBJECTS",bi);const yi=h.define({description:"Is triggered when a model is loaded.",execute:(r,{registry:e})=>{var n;const t=(n=e.read(r.id))==null?void 0:n.schema;if(!t)throw new Error(`Model with id ${r.id} not found`);if(!Kt(t))throw new Error(`Model with id ${r.id} is not a ModelSchema`);t.loaded=!0}});p("MODEL_LOADED",yi);const mi=h.define({description:"Selects an existing object.",execute:async(r,{getToolbox:e,registry:t})=>{const n=t.read(r.id);if(!n)throw new Error("Object not found.");const i=n.node;if(!i)throw new Error("Object is not in the scene.");if(!("isSelectable"in i))throw new Error("Object is not selectable.");(await e()).selectionState.applySelection(i)}});p("SELECT_OBJECT",mi);const Ai=h.define({description:"Starts the render process.",execute:async(r,{gateway:e})=>e.startRendering()});p("START_RENDER",Ai);const Ci=h.define({description:"Exports the current scene to a blob and returns the URL.",execute:async(r,{gateway:e,getAssetExporter:t})=>t().then(n=>n.export(e.root,r.type))});p("EXPORT_SCENE",Ci);const Ei=h.define({description:"Set the background color of the scene.",execute:(r,{gateway:e})=>{e.applySceneSettings({backgroundColor:r.color})}});p("SET_BACKGROUND",Ei);const qi=h.define({description:"Updates scene properties.",execute:(r,{gateway:e})=>{e.applySceneSettings(r),Object.assign(r,e.readSceneSettings())}});p("UPDATE_SCENE",qi);const Ti=h.define({description:"Retrieves complete state data.",execute:(r,{controller:e,gateway:t,registry:n})=>{const i=t.readSceneSettings();return{name:i.name,mediaItem:null,backgroundColor:i.backgroundColor,floorEnabled:i.floorEnabled,floorColor:i.floorColor,userCamera:{position:e.object.owner.position.clone(),target:e.target.clone()},spotmarks:[],lights:n.read().map(a=>a.schema).filter(a=>a.entityType==="light"),objects:n.read().map(a=>a.schema).filter(a=>a.entityType==="model"),cameras:n.read().map(a=>a.schema).filter(a=>a.entityType==="camera"),primitives:n.read().map(a=>a.schema).filter(a=>a.entityType==="primitive"),groups:n.read().map(a=>a.schema).filter(a=>a.entityType==="group")}}});p("GET_STATE",Ti);const Si=h.define({description:"Applies complete state data to current dive instance.",execute:async(r,{gateway:e,controller:t,registry:n,dispatch:i})=>{n.read().forEach(({schema:u})=>{new Jt({id:u.id,entityType:u.entityType},{gateway:e,registry:n}).execute()}),e.applySceneSettings(r),r.userCamera!==void 0&&new $t({position:r.userCamera.position,target:r.userCamera.target},{controller:t}).execute();const a=[],o=[],s=[],c=[];r.groups!==void 0&&r.groups.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"group"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.lights!==void 0&&r.lights.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"light"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.cameras!==void 0&&r.cameras.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"camera"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.primitives!==void 0&&r.primitives.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"primitive"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.objects!==void 0&&r.objects.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"model"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.spotmarks!==void 0&&console.warn("SET_STATE: Spotmarks are not supported yet and will be ignored."),await Promise.all(c);for(const u of o)if(u.parentId)try{await new X({object:{id:u.id},parent:{id:u.parentId}},{gateway:e,registry:n}).execute()}catch(f){s.push({entity:u,reason:f})}return s.length>0&&console.warn(`SET_STATE: ${s.length} of ${c.length} entities could not be applied.`,s),a}});p("SET_STATE",Si);const wi=h.define({description:"Sets the gizmo's mode.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoMode(r.mode)}});p("SET_GIZMO_MODE",wi);const Oi=h.define({description:"Sets the gizmo's unified scale mode.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoScaleLinked(r)}});p("SET_GIZMO_SCALE_LINKED",Oi);const ji=h.define({description:"Sets the gizmo's visibility.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoVisible(r)}});p("SET_GIZMO_VISIBILITY",ji);const Ri=h.define({description:"Activates a specific tool from the toolbox.",execute:async(r,{getToolbox:e})=>{(await e()).enableTool(r.tool)}});p("USE_TOOL",Ri);const I=class I{constructor(e,t){_(this,"engine");_(this,"controller");_(this,"gateway");_(this,"_mediaCreator");_(this,"_arSystem");_(this,"_assetExplorer");_(this,"_animationSystem");_(this,"_toolbox");_(this,"registry",new Ya);_(this,"listeners",new Map);this.engine=e,this.controller=t,this.gateway=new si(e),I.__instances.push(this)}getMediaCreator(){return this._mediaCreator??(this._mediaCreator=Promise.resolve().then(()=>require("../mediacreator/index.cjs")).then(e=>new e.MediaCreator(this.engine.mainView.renderer,this.engine.scene,this.controller))),this._mediaCreator}getARSystem(){return this._arSystem??(this._arSystem=Promise.resolve().then(()=>require("../ar/index.cjs")).then(e=>new e.ARSystem)),this._arSystem}getAssetExporter(){return this._assetExplorer??(this._assetExplorer=Promise.resolve().then(()=>require("../assetexporter/index.cjs")).then(e=>new e.AssetExporter)),this._assetExplorer}getAnimationSystem(){return this._animationSystem??(this._animationSystem=Promise.resolve().then(()=>require("../animation/index.cjs")).then(e=>new e.AnimationSystem)),this._animationSystem}getToolbox(){return this._toolbox??(this._toolbox=Promise.resolve().then(()=>require("../toolbox/index.cjs")).then(e=>new e.Toolbox(this.engine.scene,this.controller))),this._toolbox}destroyInstance(){var t,n;const e=I.__instances.indexOf(this);return e===-1?!1:(I.__instances.splice(e,1),this.registry.clear(),this.listeners.clear(),(t=this._toolbox)==null||t.then(i=>i.dispose()),(n=this._animationSystem)==null||n.then(i=>i.dispose()),this.gateway.dispose(),!0)}performAction(e,...t){const n=Un(e);if(!n)throw new Error(`Action ${e} is not defined.`);const i=this.getDependencies(),a=t[0],o=new n(a,i);try{const s=o.execute();return s&&typeof s=="object"&&"then"in s?s.then(c=>(this.dispatch(e,a),c)).catch(c=>{throw new Error(`Failed to execute ${e}`,{cause:c})}):(this.dispatch(e,a),s)}catch(s){throw new Error(`Failed to execute ${e}`,{cause:s})}}subscribe(e,t){return this.listeners.get(e)||this.listeners.set(e,[]),this.listeners.get(e).push(t),()=>{const n=this.listeners.get(e);if(!n)return;const i=n.findIndex(a=>a===t);i!==-1&&n.splice(i,1)}}dispatch(e,t){const n=this.listeners.get(e);n&&n.forEach(i=>i(t))}getDependencies(){return{registry:this.registry,dispatch:(e,t)=>this.dispatch(e,t),gateway:this.gateway,controller:this.controller,getARSystem:()=>this.getARSystem(),getAssetExporter:()=>this.getAssetExporter(),getAnimationSystem:()=>this.getAnimationSystem(),getMediaCreator:()=>this.getMediaCreator(),getToolbox:()=>this.getToolbox()}}};_(I,"__instances",[]);let Ut=I;exports.AddObjectAction=O;exports.ComputeEncompassingViewAction=ui;exports.DeleteObjectAction=Jt;exports.DeselectObjectAction=vi;exports.DropItAction=_i;exports.EngineGateway=si;exports.ExportSceneAction=Ci;exports.GenerateMediaAction=pi;exports.GetAllObjectsAction=gi;exports.GetCameraTransformAction=fi;exports.GetObjectsAction=bi;exports.GetStateAction=Ti;exports.LaunchARAction=ci;exports.ModelLoadedAction=yi;exports.MoveCameraAction=di;exports.SelectObjectAction=mi;exports.SetBackgroundAction=Ei;exports.SetCameraLayerAction=li;exports.SetCameraTransformAction=$t;exports.SetGizmoModeAction=wi;exports.SetGizmoScaleLinkedAction=Oi;exports.SetGizmoVisibleAction=ji;exports.SetParentAction=X;exports.SetStateAction=Si;exports.StartRenderAction=Ai;exports.State=Ut;exports.UpdateObjectAction=V;exports.UpdateSceneAction=qi;exports.UseToolAction=Ri;exports.ZoomCameraAction=hi;exports.getActionClass=Un;exports.isCameraSchema=Z;exports.isGroupSchema=ii;exports.isLightSchema=ai;exports.isModelSchema=Kt;exports.isPrimitiveSchema=oi;exports.registerAction=p;
|
|
1
|
+
"use strict";var Ii=Object.defineProperty;var xi=(r,e,t)=>e in r?Ii(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var _=(r,e,t)=>xi(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ft=require("three/webgpu"),A=require("../../chunks/FileTypes-Cm1k0dUE.cjs");require("three/examples/jsm/loaders/HDRLoader.js");const L=require("../../chunks/detachTransformControls-DFTq45Xl.cjs"),kt=require("../../chunks/ModelComponent-DuBAn1uS.cjs"),Vn={};function p(r,e){Vn[r]=e}function Un(r){return Vn[r]}var B=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mi(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var W,Xt;function Pi(){if(Xt)return W;Xt=1;function r(){this.__data__=[],this.size=0}return W=r,W}var ee,Yt;function N(){if(Yt)return ee;Yt=1;function r(e,t){return e===t||e!==e&&t!==t}return ee=r,ee}var te,Qt;function z(){if(Qt)return te;Qt=1;var r=N();function e(t,n){for(var i=t.length;i--;)if(r(t[i][0],n))return i;return-1}return te=e,te}var re,Wt;function Li(){if(Wt)return re;Wt=1;var r=z(),e=Array.prototype,t=e.splice;function n(i){var a=this.__data__,o=r(a,i);if(o<0)return!1;var s=a.length-1;return o==s?a.pop():t.call(a,o,1),--this.size,!0}return re=n,re}var ne,er;function Di(){if(er)return ne;er=1;var r=z();function e(t){var n=this.__data__,i=r(n,t);return i<0?void 0:n[i][1]}return ne=e,ne}var ie,tr;function Gi(){if(tr)return ie;tr=1;var r=z();function e(t){return r(this.__data__,t)>-1}return ie=e,ie}var ae,rr;function ki(){if(rr)return ae;rr=1;var r=z();function e(t,n){var i=this.__data__,a=r(i,t);return a<0?(++this.size,i.push([t,n])):i[a][1]=n,this}return ae=e,ae}var oe,nr;function H(){if(nr)return oe;nr=1;var r=Pi(),e=Li(),t=Di(),n=Gi(),i=ki();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,oe=a,oe}var se,ir;function Vi(){if(ir)return se;ir=1;var r=H();function e(){this.__data__=new r,this.size=0}return se=e,se}var ce,ar;function Ui(){if(ar)return ce;ar=1;function r(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}return ce=r,ce}var ue,or;function Fi(){if(or)return ue;or=1;function r(e){return this.__data__.get(e)}return ue=r,ue}var fe,sr;function Bi(){if(sr)return fe;sr=1;function r(e){return this.__data__.has(e)}return fe=r,fe}var de,cr;function Fn(){if(cr)return de;cr=1;var r=typeof B=="object"&&B&&B.Object===Object&&B;return de=r,de}var le,ur;function x(){if(ur)return le;ur=1;var r=Fn(),e=typeof self=="object"&&self&&self.Object===Object&&self,t=r||e||Function("return this")();return le=t,le}var he,fr;function Bn(){if(fr)return he;fr=1;var r=x(),e=r.Symbol;return he=e,he}var pe,dr;function Ni(){if(dr)return pe;dr=1;var r=Bn(),e=Object.prototype,t=e.hasOwnProperty,n=e.toString,i=r?r.toStringTag:void 0;function a(o){var s=t.call(o,i),c=o[i];try{o[i]=void 0;var u=!0}catch{}var f=n.call(o);return u&&(s?o[i]=c:delete o[i]),f}return pe=a,pe}var ve,lr;function zi(){if(lr)return ve;lr=1;var r=Object.prototype,e=r.toString;function t(n){return e.call(n)}return ve=t,ve}var _e,hr;function K(){if(hr)return _e;hr=1;var r=Bn(),e=Ni(),t=zi(),n="[object Null]",i="[object Undefined]",a=r?r.toStringTag:void 0;function o(s){return s==null?s===void 0?i:n:a&&a in Object(s)?e(s):t(s)}return _e=o,_e}var ge,pr;function j(){if(pr)return ge;pr=1;function r(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}return ge=r,ge}var be,vr;function Bt(){if(vr)return be;vr=1;var r=K(),e=j(),t="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function o(s){if(!e(s))return!1;var c=r(s);return c==n||c==i||c==t||c==a}return be=o,be}var ye,_r;function Hi(){if(_r)return ye;_r=1;var r=x(),e=r["__core-js_shared__"];return ye=e,ye}var me,gr;function Ki(){if(gr)return me;gr=1;var r=Hi(),e=function(){var n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function t(n){return!!e&&e in n}return me=t,me}var Ae,br;function $i(){if(br)return Ae;br=1;var r=Function.prototype,e=r.toString;function t(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Ae=t,Ae}var Ce,yr;function Ji(){if(yr)return Ce;yr=1;var r=Bt(),e=Ki(),t=j(),n=$i(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,o=Function.prototype,s=Object.prototype,c=o.toString,u=s.hasOwnProperty,f=RegExp("^"+c.call(u).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(v){if(!t(v)||e(v))return!1;var m=r(v)?f:a;return m.test(n(v))}return Ce=d,Ce}var qe,mr;function Zi(){if(mr)return qe;mr=1;function r(e,t){return e==null?void 0:e[t]}return qe=r,qe}var Te,Ar;function Nt(){if(Ar)return Te;Ar=1;var r=Ji(),e=Zi();function t(n,i){var a=e(n,i);return r(a)?a:void 0}return Te=t,Te}var Ee,Cr;function Nn(){if(Cr)return Ee;Cr=1;var r=Nt(),e=x(),t=r(e,"Map");return Ee=t,Ee}var Se,qr;function $(){if(qr)return Se;qr=1;var r=Nt(),e=r(Object,"create");return Se=e,Se}var we,Tr;function Xi(){if(Tr)return we;Tr=1;var r=$();function e(){this.__data__=r?r(null):{},this.size=0}return we=e,we}var Oe,Er;function Yi(){if(Er)return Oe;Er=1;function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}return Oe=r,Oe}var je,Sr;function Qi(){if(Sr)return je;Sr=1;var r=$(),e="__lodash_hash_undefined__",t=Object.prototype,n=t.hasOwnProperty;function i(a){var o=this.__data__;if(r){var s=o[a];return s===e?void 0:s}return n.call(o,a)?o[a]:void 0}return je=i,je}var Re,wr;function Wi(){if(wr)return Re;wr=1;var r=$(),e=Object.prototype,t=e.hasOwnProperty;function n(i){var a=this.__data__;return r?a[i]!==void 0:t.call(a,i)}return Re=n,Re}var Ie,Or;function ea(){if(Or)return Ie;Or=1;var r=$(),e="__lodash_hash_undefined__";function t(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=r&&i===void 0?e:i,this}return Ie=t,Ie}var xe,jr;function ta(){if(jr)return xe;jr=1;var r=Xi(),e=Yi(),t=Qi(),n=Wi(),i=ea();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,xe=a,xe}var Me,Rr;function ra(){if(Rr)return Me;Rr=1;var r=ta(),e=H(),t=Nn();function n(){this.size=0,this.__data__={hash:new r,map:new(t||e),string:new r}}return Me=n,Me}var Pe,Ir;function na(){if(Ir)return Pe;Ir=1;function r(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}return Pe=r,Pe}var Le,xr;function J(){if(xr)return Le;xr=1;var r=na();function e(t,n){var i=t.__data__;return r(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Le=e,Le}var De,Mr;function ia(){if(Mr)return De;Mr=1;var r=J();function e(t){var n=r(this,t).delete(t);return this.size-=n?1:0,n}return De=e,De}var Ge,Pr;function aa(){if(Pr)return Ge;Pr=1;var r=J();function e(t){return r(this,t).get(t)}return Ge=e,Ge}var ke,Lr;function oa(){if(Lr)return ke;Lr=1;var r=J();function e(t){return r(this,t).has(t)}return ke=e,ke}var Ve,Dr;function sa(){if(Dr)return Ve;Dr=1;var r=J();function e(t,n){var i=r(this,t),a=i.size;return i.set(t,n),this.size+=i.size==a?0:1,this}return Ve=e,Ve}var Ue,Gr;function ca(){if(Gr)return Ue;Gr=1;var r=ra(),e=ia(),t=aa(),n=oa(),i=sa();function a(o){var s=-1,c=o==null?0:o.length;for(this.clear();++s<c;){var u=o[s];this.set(u[0],u[1])}}return a.prototype.clear=r,a.prototype.delete=e,a.prototype.get=t,a.prototype.has=n,a.prototype.set=i,Ue=a,Ue}var Fe,kr;function ua(){if(kr)return Fe;kr=1;var r=H(),e=Nn(),t=ca(),n=200;function i(a,o){var s=this.__data__;if(s instanceof r){var c=s.__data__;if(!e||c.length<n-1)return c.push([a,o]),this.size=++s.size,this;s=this.__data__=new t(c)}return s.set(a,o),this.size=s.size,this}return Fe=i,Fe}var Be,Vr;function fa(){if(Vr)return Be;Vr=1;var r=H(),e=Vi(),t=Ui(),n=Fi(),i=Bi(),a=ua();function o(s){var c=this.__data__=new r(s);this.size=c.size}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=i,o.prototype.set=a,Be=o,Be}var Ne,Ur;function zn(){if(Ur)return Ne;Ur=1;var r=Nt(),e=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch{}}();return Ne=e,Ne}var ze,Fr;function zt(){if(Fr)return ze;Fr=1;var r=zn();function e(t,n,i){n=="__proto__"&&r?r(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}return ze=e,ze}var He,Br;function Hn(){if(Br)return He;Br=1;var r=zt(),e=N();function t(n,i,a){(a!==void 0&&!e(n[i],a)||a===void 0&&!(i in n))&&r(n,i,a)}return He=t,He}var Ke,Nr;function da(){if(Nr)return Ke;Nr=1;function r(e){return function(t,n,i){for(var a=-1,o=Object(t),s=i(t),c=s.length;c--;){var u=s[e?c:++a];if(n(o[u],u,o)===!1)break}return t}}return Ke=r,Ke}var $e,zr;function la(){if(zr)return $e;zr=1;var r=da(),e=r();return $e=e,$e}var D={exports:{}};D.exports;var Hr;function ha(){return Hr||(Hr=1,function(r,e){var t=x(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,o=a?t.Buffer:void 0,s=o?o.allocUnsafe:void 0;function c(u,f){if(f)return u.slice();var d=u.length,v=s?s(d):new u.constructor(d);return u.copy(v),v}r.exports=c}(D,D.exports)),D.exports}var Je,Kr;function pa(){if(Kr)return Je;Kr=1;var r=x(),e=r.Uint8Array;return Je=e,Je}var Ze,$r;function va(){if($r)return Ze;$r=1;var r=pa();function e(t){var n=new t.constructor(t.byteLength);return new r(n).set(new r(t)),n}return Ze=e,Ze}var Xe,Jr;function _a(){if(Jr)return Xe;Jr=1;var r=va();function e(t,n){var i=n?r(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}return Xe=e,Xe}var Ye,Zr;function ga(){if(Zr)return Ye;Zr=1;function r(e,t){var n=-1,i=e.length;for(t||(t=Array(i));++n<i;)t[n]=e[n];return t}return Ye=r,Ye}var Qe,Xr;function ba(){if(Xr)return Qe;Xr=1;var r=j(),e=Object.create,t=function(){function n(){}return function(i){if(!r(i))return{};if(e)return e(i);n.prototype=i;var a=new n;return n.prototype=void 0,a}}();return Qe=t,Qe}var We,Yr;function ya(){if(Yr)return We;Yr=1;function r(e,t){return function(n){return e(t(n))}}return We=r,We}var et,Qr;function Kn(){if(Qr)return et;Qr=1;var r=ya(),e=r(Object.getPrototypeOf,Object);return et=e,et}var tt,Wr;function $n(){if(Wr)return tt;Wr=1;var r=Object.prototype;function e(t){var n=t&&t.constructor,i=typeof n=="function"&&n.prototype||r;return t===i}return tt=e,tt}var rt,en;function ma(){if(en)return rt;en=1;var r=ba(),e=Kn(),t=$n();function n(i){return typeof i.constructor=="function"&&!t(i)?r(e(i)):{}}return rt=n,rt}var nt,tn;function U(){if(tn)return nt;tn=1;function r(e){return e!=null&&typeof e=="object"}return nt=r,nt}var it,rn;function Aa(){if(rn)return it;rn=1;var r=K(),e=U(),t="[object Arguments]";function n(i){return e(i)&&r(i)==t}return it=n,it}var at,nn;function Jn(){if(nn)return at;nn=1;var r=Aa(),e=U(),t=Object.prototype,n=t.hasOwnProperty,i=t.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(o){return e(o)&&n.call(o,"callee")&&!i.call(o,"callee")};return at=a,at}var ot,an;function Zn(){if(an)return ot;an=1;var r=Array.isArray;return ot=r,ot}var st,on;function Xn(){if(on)return st;on=1;var r=9007199254740991;function e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=r}return st=e,st}var ct,sn;function Ht(){if(sn)return ct;sn=1;var r=Bt(),e=Xn();function t(n){return n!=null&&e(n.length)&&!r(n)}return ct=t,ct}var ut,cn;function Ca(){if(cn)return ut;cn=1;var r=Ht(),e=U();function t(n){return e(n)&&r(n)}return ut=t,ut}var G={exports:{}},ft,un;function qa(){if(un)return ft;un=1;function r(){return!1}return ft=r,ft}G.exports;var fn;function Yn(){return fn||(fn=1,function(r,e){var t=x(),n=qa(),i=e&&!e.nodeType&&e,a=i&&!0&&r&&!r.nodeType&&r,o=a&&a.exports===i,s=o?t.Buffer:void 0,c=s?s.isBuffer:void 0,u=c||n;r.exports=u}(G,G.exports)),G.exports}var dt,dn;function Ta(){if(dn)return dt;dn=1;var r=K(),e=Kn(),t=U(),n="[object Object]",i=Function.prototype,a=Object.prototype,o=i.toString,s=a.hasOwnProperty,c=o.call(Object);function u(f){if(!t(f)||r(f)!=n)return!1;var d=e(f);if(d===null)return!0;var v=s.call(d,"constructor")&&d.constructor;return typeof v=="function"&&v instanceof v&&o.call(v)==c}return dt=u,dt}var lt,ln;function Ea(){if(ln)return lt;ln=1;var r=K(),e=Xn(),t=U(),n="[object Arguments]",i="[object Array]",a="[object Boolean]",o="[object Date]",s="[object Error]",c="[object Function]",u="[object Map]",f="[object Number]",d="[object Object]",v="[object RegExp]",m="[object Set]",q="[object String]",T="[object WeakMap]",E="[object ArrayBuffer]",R="[object DataView]",g="[object Float32Array]",Y="[object Float64Array]",Q="[object Int8Array]",M="[object Int16Array]",S="[object Int32Array]",C="[object Uint8Array]",b="[object Uint8ClampedArray]",F="[object Uint16Array]",y="[object Uint32Array]",l={};l[g]=l[Y]=l[Q]=l[M]=l[S]=l[C]=l[b]=l[F]=l[y]=!0,l[n]=l[i]=l[E]=l[a]=l[R]=l[o]=l[s]=l[c]=l[u]=l[f]=l[d]=l[v]=l[m]=l[q]=l[T]=!1;function P(w){return t(w)&&e(w.length)&&!!l[r(w)]}return lt=P,lt}var ht,hn;function Sa(){if(hn)return ht;hn=1;function r(e){return function(t){return e(t)}}return ht=r,ht}var k={exports:{}};k.exports;var pn;function wa(){return pn||(pn=1,function(r,e){var t=Fn(),n=e&&!e.nodeType&&e,i=n&&!0&&r&&!r.nodeType&&r,a=i&&i.exports===n,o=a&&t.process,s=function(){try{var c=i&&i.require&&i.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();r.exports=s}(k,k.exports)),k.exports}var pt,vn;function Qn(){if(vn)return pt;vn=1;var r=Ea(),e=Sa(),t=wa(),n=t&&t.isTypedArray,i=n?e(n):r;return pt=i,pt}var vt,_n;function Wn(){if(_n)return vt;_n=1;function r(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}return vt=r,vt}var _t,gn;function Oa(){if(gn)return _t;gn=1;var r=zt(),e=N(),t=Object.prototype,n=t.hasOwnProperty;function i(a,o,s){var c=a[o];(!(n.call(a,o)&&e(c,s))||s===void 0&&!(o in a))&&r(a,o,s)}return _t=i,_t}var gt,bn;function ja(){if(bn)return gt;bn=1;var r=Oa(),e=zt();function t(n,i,a,o){var s=!a;a||(a={});for(var c=-1,u=i.length;++c<u;){var f=i[c],d=o?o(a[f],n[f],f,a,n):void 0;d===void 0&&(d=n[f]),s?e(a,f,d):r(a,f,d)}return a}return gt=t,gt}var bt,yn;function Ra(){if(yn)return bt;yn=1;function r(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}return bt=r,bt}var yt,mn;function ei(){if(mn)return yt;mn=1;var r=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function t(n,i){var a=typeof n;return i=i??r,!!i&&(a=="number"||a!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<i}return yt=t,yt}var mt,An;function Ia(){if(An)return mt;An=1;var r=Ra(),e=Jn(),t=Zn(),n=Yn(),i=ei(),a=Qn(),o=Object.prototype,s=o.hasOwnProperty;function c(u,f){var d=t(u),v=!d&&e(u),m=!d&&!v&&n(u),q=!d&&!v&&!m&&a(u),T=d||v||m||q,E=T?r(u.length,String):[],R=E.length;for(var g in u)(f||s.call(u,g))&&!(T&&(g=="length"||m&&(g=="offset"||g=="parent")||q&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||i(g,R)))&&E.push(g);return E}return mt=c,mt}var At,Cn;function xa(){if(Cn)return At;Cn=1;function r(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}return At=r,At}var Ct,qn;function Ma(){if(qn)return Ct;qn=1;var r=j(),e=$n(),t=xa(),n=Object.prototype,i=n.hasOwnProperty;function a(o){if(!r(o))return t(o);var s=e(o),c=[];for(var u in o)u=="constructor"&&(s||!i.call(o,u))||c.push(u);return c}return Ct=a,Ct}var qt,Tn;function ti(){if(Tn)return qt;Tn=1;var r=Ia(),e=Ma(),t=Ht();function n(i){return t(i)?r(i,!0):e(i)}return qt=n,qt}var Tt,En;function Pa(){if(En)return Tt;En=1;var r=ja(),e=ti();function t(n){return r(n,e(n))}return Tt=t,Tt}var Et,Sn;function La(){if(Sn)return Et;Sn=1;var r=Hn(),e=ha(),t=_a(),n=ga(),i=ma(),a=Jn(),o=Zn(),s=Ca(),c=Yn(),u=Bt(),f=j(),d=Ta(),v=Qn(),m=Wn(),q=Pa();function T(E,R,g,Y,Q,M,S){var C=m(E,g),b=m(R,g),F=S.get(b);if(F){r(E,g,F);return}var y=M?M(C,b,g+"",E,R,S):void 0,l=y===void 0;if(l){var P=o(b),w=!P&&c(b),Zt=!P&&!w&&v(b);y=b,P||w||Zt?o(C)?y=C:s(C)?y=n(C):w?(l=!1,y=e(b,!0)):Zt?(l=!1,y=t(b,!0)):y=[]:d(b)||a(b)?(y=C,a(C)?y=q(C):(!f(C)||u(C))&&(y=i(b))):l=!1}l&&(S.set(b,y),Q(y,b,Y,M,S),S.delete(b)),r(E,g,y)}return Et=T,Et}var St,wn;function Da(){if(wn)return St;wn=1;var r=fa(),e=Hn(),t=la(),n=La(),i=j(),a=ti(),o=Wn();function s(c,u,f,d,v){c!==u&&t(u,function(m,q){if(v||(v=new r),i(m))n(c,u,q,f,s,d,v);else{var T=d?d(o(c,q),m,q+"",c,u,v):void 0;T===void 0&&(T=m),e(c,q,T)}},a)}return St=s,St}var wt,On;function ri(){if(On)return wt;On=1;function r(e){return e}return wt=r,wt}var Ot,jn;function Ga(){if(jn)return Ot;jn=1;function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}return Ot=r,Ot}var jt,Rn;function ka(){if(Rn)return jt;Rn=1;var r=Ga(),e=Math.max;function t(n,i,a){return i=e(i===void 0?n.length-1:i,0),function(){for(var o=arguments,s=-1,c=e(o.length-i,0),u=Array(c);++s<c;)u[s]=o[i+s];s=-1;for(var f=Array(i+1);++s<i;)f[s]=o[s];return f[i]=a(u),r(n,this,f)}}return jt=t,jt}var Rt,In;function Va(){if(In)return Rt;In=1;function r(e){return function(){return e}}return Rt=r,Rt}var It,xn;function Ua(){if(xn)return It;xn=1;var r=Va(),e=zn(),t=ri(),n=e?function(i,a){return e(i,"toString",{configurable:!0,enumerable:!1,value:r(a),writable:!0})}:t;return It=n,It}var xt,Mn;function Fa(){if(Mn)return xt;Mn=1;var r=800,e=16,t=Date.now;function n(i){var a=0,o=0;return function(){var s=t(),c=e-(s-o);if(o=s,c>0){if(++a>=r)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}return xt=n,xt}var Mt,Pn;function Ba(){if(Pn)return Mt;Pn=1;var r=Ua(),e=Fa(),t=e(r);return Mt=t,Mt}var Pt,Ln;function Na(){if(Ln)return Pt;Ln=1;var r=ri(),e=ka(),t=Ba();function n(i,a){return t(e(i,a,r),i+"")}return Pt=n,Pt}var Lt,Dn;function za(){if(Dn)return Lt;Dn=1;var r=N(),e=Ht(),t=ei(),n=j();function i(a,o,s){if(!n(s))return!1;var c=typeof o;return(c=="number"?e(s)&&t(o,s.length):c=="string"&&o in s)?r(s[o],a):!1}return Lt=i,Lt}var Dt,Gn;function Ha(){if(Gn)return Dt;Gn=1;var r=Na(),e=za();function t(n){return r(function(i,a){var o=-1,s=a.length,c=s>1?a[s-1]:void 0,u=s>2?a[2]:void 0;for(c=n.length>3&&typeof c=="function"?(s--,c):void 0,u&&e(a[0],a[1],u)&&(c=s<3?void 0:c,s=1),i=Object(i);++o<s;){var f=a[o];f&&n(i,f,o,c)}return i})}return Dt=t,Dt}var Gt,kn;function Ka(){if(kn)return Gt;kn=1;var r=Da(),e=Ha(),t=e(function(n,i,a){r(n,i,a)});return Gt=t,Gt}var $a=Ka();const Ja=Mi($a),Za=["position","rotation","scale","target"],Xa=r=>typeof r=="object"&&r!==null&&typeof r.x=="number"&&typeof r.y=="number"&&typeof r.z=="number",ni=r=>{const e={...r};return Za.forEach(t=>{const n=e[t];Xa(n)&&(e[t]={x:n.x,y:n.y,z:n.z})}),e};class Ya{constructor(){_(this,"_entities",new Map)}get size(){return this._entities.size}read(e){return e===void 0?Array.from(this._entities.values()):this._entities.get(e)}write(e,t){const n=this._entities.get(e);n&&Ja(n.schema,ni(t))}register(e,t,n){this._entities.set(e.id,{schema:e,node:t,unwatch:n})}unregister(e){var n;const t=this._entities.get(e);return t?((n=t.unwatch)==null||n.call(t),this._entities.delete(e)):!1}clear(){this._entities.forEach(e=>{var t;return(t=e.unwatch)==null?void 0:t.call(e)}),this._entities.clear()}}function ii(r){return r.entityType==="group"}function ai(r){return r.entityType==="light"}function Kt(r){return r.entityType==="model"}function Z(r){return r.entityType==="camera"}function oi(r){return r.entityType==="primitive"}const Qa=new Ft.Vector3,Vt=r=>{var t;const e=r.parent;!e||!("isDIVENode"in e)||(t=e.getComponent(A.MultiLineComponent))==null||t.setLineFor(r,Qa,r.position)};class si{constructor(e){_(this,"_engine");_(this,"_entities",new Map);this._engine=e}get root(){return this._engine.scene.root}findEntity(e){return this._entities.get(e.id)}createEntity(e){const t=this.findEntity(e);if(t)return console.warn(`EngineGateway.createEntity: Scene object with id ${e.id} already exists`),t;if(Z(e))return;const n=this._instantiate(e);return n.name=e.name,n.userData.id=e.id,this._entities.set(e.id,n),this.root.add(n),n}async applyEntity(e,t){await this._apply(e,t)}async updateEntity(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway.updateEntity: Scene object with id ${e.id} does not exist`);return}await this._apply(t,e)}removeEntity(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway.removeEntity: Object with id ${e.id} not found`);return}if(this._entities.delete(e.id),L.detachTransformControls(t),"isDIVENode"in t){const n=t.nodes;for(let i=n.length-1;i>=0;i--)this.root.attach(n[i])}A.disposeComponents(t),t.removeFromParent()}dispose(){this._entities.clear()}readSceneSettings(){const e=this._engine.scene;return{name:e.name,backgroundColor:"#"+e.background.getHexString(),gridEnabled:e.grid.visible,floorEnabled:e.root.floor.visible,floorColor:"#"+e.root.floor.material.color.getHexString()}}applySceneSettings(e){const t=this._engine.scene;e.name!==void 0&&(t.name=e.name),e.backgroundColor!==void 0&&t.setBackground(e.backgroundColor),e.gridEnabled!==void 0&&t.grid.setVisibility(e.gridEnabled),e.floorEnabled!==void 0&&t.root.floor.setVisibility(e.floorEnabled),e.floorColor!==void 0&&t.root.floor.setColor(e.floorColor)}startRendering(){return this._engine.startAsync()}registerTicker(e){this._engine.clock.hasTicker(e)||this._engine.clock.addTicker(e)}_instantiate(e){if(Kt(e)){const t=new A.DIVENode;return t.name="DIVEModel",t.userData.isDIVEModel=!0,t.addComponent(new kt.ModelComponent),t}if(oi(e)){const t=new A.DIVENode;return t.name="DIVEPrimitive",t.addComponent(new L.PrimitiveComponent),t}if(ii(e)){const t=new A.DIVENode;t.name="DIVEGroup";const n=t.addComponent(new A.MultiLineComponent);return t.addEventListener("childremoved",i=>n.removeLineFor(i.child)),t}if(ai(e))return this._instantiateLight(e);throw new Error(`EngineGateway.addEntity: Unknown entity type: ${e.entityType}`)}_instantiateLight(e){const t=new A.DIVENode;switch(t.name="DIVELight",e.type){case"scene":t.addComponent(new A.HemisphereLightComponent),t.addComponent(new A.DirectionalLightComponent);break;case"ambient":t.addComponent(new L.AmbientLightComponent);break;case"point":t.addComponent(new L.PointLightComponent);break;default:throw new Error(`EngineGateway.addEntity: Unknown light type: ${e.type}`)}return t}async _apply(e,t){if(t.entityType==="camera")return;const n=e;switch(t.entityType){case"light":this._applyLight(n,t);break;case"model":await this._applyModel(n,t);break;case"primitive":this._applyPrimitive(n,t);break;case"group":this._applyGroup(n,t);break;default:throw new Error(`EngineGateway.updateEntity: Unknown entity type: ${t.entityType}`)}t.name!==void 0&&(n.name=t.name),n.applyTransform(t),t.visible!==void 0&&n.setVisibility(t.visible),t.parentId!==void 0&&this._setParent({...t,parentId:t.parentId}),Vt(n)}_applyLight(e,t){e.getComponents(A.DIVELightComponent).forEach(i=>{t.intensity!==void 0&&i.setIntensity(t.intensity),t.enabled!==void 0&&i.setEnabled(t.enabled),t.color!==void 0&&i.setColor(new Ft.Color(t.color))})}async _applyModel(e,t){t.uri!==void 0&&t.uri!==e.userData.uri&&(await e.requireComponent(kt.ModelComponent).setFromURL(t.uri),e.userData.uri=t.uri),t.material!==void 0&&t.material!==null&&e.requireComponent(A.MeshComponent).setMaterial(t.material)}_applyPrimitive(e,t){t.geometry!==void 0&&t.geometry!==null&&e.requireComponent(L.PrimitiveComponent).setGeometry(t.geometry),t.material!==void 0&&t.material!==null&&e.requireComponent(A.MeshComponent).setMaterial(t.material)}_applyGroup(e,t){t.linksVisible!==void 0&&e.requireComponent(A.MultiLineComponent).setVisible(t.linksVisible)}_setParent(e){const t=this.findEntity(e);if(!t){console.warn(`EngineGateway._setParent: ${e.id} is not in the scene`);return}if(e.parentId===null){this.root.attach(t);return}const n=this.findEntity({id:e.parentId,entityType:e.entityType});if(!n){console.warn(`EngineGateway._setParent: Parent with id ${e.parentId} is not in the scene, ${e.id} stays at the root`);return}n.attach(t),Vt(t)}}class h{constructor(e,t){_(this,"_payload");_(this,"_dependencies");this._payload=e,this._dependencies=t}static define({description:e,execute:t}){return class extends h{constructor(i,a){super(i,a);_(this,"_description",e);_(this,"_payload");this._payload=i}execute(){return t(this._payload,this._dependencies)}}}}const ci=h.define({description:"Launches AR mode in native capabilities. (iOS: AR Quick Look, Android: Google Scene Viewer)",execute:async(r,{getARSystem:e})=>e().then(t=>{t.launch(r.uri,r.options)})});p("LAUNCH_AR",ci);const ui=h.define({description:"Calculates the camera position and target to view the whole scene. (experimental).",execute:(r,{gateway:e,controller:t})=>{const n=A.computeProductBounds(e.root).getBoundingSphere(new Ft.Sphere);return t.computeEncompassingView(n)}});p("COMPUTE_ENCOMPASSING_VIEW",ui);const fi=h.define({description:"Gets the current camera position and target.",execute:(r,{controller:e})=>({position:e.object.owner.position.clone(),target:e.target.clone()})});p("GET_CAMERA_TRANSFORM",fi);const di=h.define({description:"Moves the camera to a new position and target.",execute:async(r,{controller:e,registry:t,getAnimationSystem:n,gateway:i})=>{var u;const a=await n();let o={x:0,y:0,z:0},s={x:0,y:0,z:0};if("id"in r){const f=(u=t.read(r.id))==null?void 0:u.schema;if(!f)throw new Error(`CAMERA with id ${r.id} not registered.`);if(!Z(f))throw new Error(`Object with id ${r.id} is not a CAMERA. Object: ${f}`);o=f.position,s=f.target}else o=r.position,s=r.target;i.registerTicker(a),e.enabled=!0;const c=await a.fromTargets([{object:e.object.owner.position,to:o},{object:e.target,to:s}],r.duration,{easing:a.Easing.Quadratic.Out,onUpdate:()=>{e.object.lookAt(e.target)},onComplete:()=>{e.enabled=!r.locked}});return c.play(),{stop:()=>c.stop()}}});p("MOVE_CAMERA",di);const li=h.define({description:"Sets the camera layer to a certain layer.",execute:(r,{controller:e})=>{e.object.setCameraLayer(r.layer)}});p("SET_CAMERA_LAYER",li);const $t=h.define({description:"Sets the camera position and target.",execute:(r,{controller:e})=>{e.object.owner.position.copy(r.position),e.target.copy(r.target),e.update()}});p("SET_CAMERA_TRANSFORM",$t);const hi=h.define({description:"Zooms the camera in or out by a certain amount.",execute:(r,{controller:e})=>{r.direction==="IN"&&e.zoomIn(r.by),r.direction==="OUT"&&e.zoomOut(r.by)}});p("ZOOM_CAMERA",hi);const pi=h.define({description:"Generates a screenshot, stores it in a Blob and returns a Promise of a valid URI.",execute:async(r,{getMediaCreator:e,registry:t})=>{var i;const n=await e();if("id"in r){const a=(i=t.read(r.id))==null?void 0:i.schema;if(!a)throw new Error(`Object with id ${r.id} not registered.`);if(!Z(a))throw new Error(`Object with id ${r.id} is not a CAMERA. Object: ${a}`);const{resolution:o}=r,{position:s,target:c}=a;return n.generateMedia({position:s,target:c,resolution:o})}return n.generateMedia(r)}});p("GENERATE_MEDIA",pi);const Wa=(r,e,{registry:t,dispatch:n})=>{const{id:i,entityType:a}=e,o=d=>{const v=ni({id:i,entityType:a,position:d.position,rotation:d.rotation,scale:d.scale});t.write(i,v),Vt(r),n("UPDATE_OBJECT",v)},s=()=>{n("SELECT_OBJECT",{id:i,entityType:a})},c=()=>{n("DESELECT_OBJECT",{id:i,entityType:a})},u=()=>{t.write(i,{id:i,entityType:a,loaded:!0}),n("MODEL_LOADED",{id:i})};r.addEventListener("object-transform",o),r.addEventListener("object-select",s),r.addEventListener("object-deselect",c);const f=r.getComponent(kt.ModelComponent);return f==null||f.addEventListener("object-load",u),()=>{r.removeEventListener("object-transform",o),r.removeEventListener("object-select",s),r.removeEventListener("object-deselect",c),f==null||f.removeEventListener("object-load",u)}},O=h.define({description:"Adds an object to the scene.",execute:async(r,{gateway:e,registry:t,dispatch:n})=>{const i=t.read(r.id);if(i)return i.node;r.parentId===void 0&&(r.parentId=null);const a=e.createEntity(r);if(!a){t.register(r);return}t.register(r,a,Wa(a,r,{registry:t,dispatch:n}));try{await e.applyEntity(a,r)}catch(o){throw t.unregister(r.id),e.removeEntity(r),o}return a}});p("ADD_OBJECT",O);const V=h.define({description:"Updates an existing object.",execute:async(r,{gateway:e,registry:t})=>{var i;const n=(i=t.read(r.id))==null?void 0:i.schema;if(!n)throw new Error("Object not found.");t.write(r.id,r),await e.updateEntity({...r,id:n.id,entityType:n.entityType})}});p("UPDATE_OBJECT",V);const X=h.define({description:"Attach an object to another object.",execute:(r,{gateway:e,registry:t})=>{const n=t.read(r.object.id);if(!n)throw new Error("Object not found.");const i=n.schema,a=n.node;if(!a)return;if(r.parent===null){e.root.attach(a),new V({id:i.id,parentId:null},{gateway:e,registry:t}).execute();return}if(r.object.id===r.parent.id){console.warn("Cannot attach object to itself.");return}const o=t.read(r.parent.id);if(!o){console.warn("Parent object not found.");return}const s=o.schema,c=o.node;if(!c){console.warn("Parent object is not in the scene.");return}c.attach(a),new V({id:i.id,parentId:s.id},{gateway:e,registry:t}).execute()}});p("SET_PARENT",X);const Jt=h.define({description:"Deletes an object from the scene.",execute:(r,{gateway:e,registry:t})=>{var i;const n=(i=t.read(r.id))==null?void 0:i.schema;if(!n)return!1;n.parentId&&new X({object:{id:n.id},parent:null},{gateway:e,registry:t}).execute(),n.entityType==="group"&&t.read().forEach(({schema:a})=>{a.parentId===n.id&&new V({id:a.id,parentId:null},{gateway:e,registry:t}).execute()}),Object.assign(r,n),t.unregister(r.id),e.removeEntity(n)}});p("DELETE_OBJECT",Jt);const vi=h.define({description:"Deselects an existing object.",execute:async(r,{getToolbox:e,registry:t})=>{if(!t.read(r.id))throw new Error("Object not found.");(await e()).selectionState.applyDeselection()}});p("DESELECT_OBJECT",vi);const _i=h.define({description:"Places an object on top of an underlying object or the floor.",execute:(r,{registry:e})=>{const t=e.read(r.id);if(!t)throw new Error(`Object with id ${r.id} not registered.`);const n=t.node;n&&n.dropIt()}});p("DROP_IT",_i);const gi=h.define({description:"Retrieves all objects in the state.",execute:(r,{registry:e})=>new Map(e.read().map(({schema:t})=>[t.id,t]))});p("GET_ALL_OBJECTS",gi);const bi=h.define({description:"Returns a list of objects of given IDs.",execute:(r,{registry:e})=>r.ids.map(t=>{var n;return(n=e.read(t))==null?void 0:n.schema}).filter(t=>t!==void 0)});p("GET_OBJECTS",bi);const yi=h.define({description:"Is triggered when a model is loaded.",execute:(r,{registry:e})=>{var n;const t=(n=e.read(r.id))==null?void 0:n.schema;if(!t)throw new Error(`Model with id ${r.id} not found`);if(!Kt(t))throw new Error(`Model with id ${r.id} is not a ModelSchema`);t.loaded=!0}});p("MODEL_LOADED",yi);const mi=h.define({description:"Selects an existing object.",execute:async(r,{getToolbox:e,registry:t})=>{const n=t.read(r.id);if(!n)throw new Error("Object not found.");const i=n.node;if(!i||!("isSelectable"in i))return;(await e()).selectionState.applySelection(i)}});p("SELECT_OBJECT",mi);const Ai=h.define({description:"Starts the render process.",execute:async(r,{gateway:e})=>e.startRendering()});p("START_RENDER",Ai);const Ci=h.define({description:"Exports the current scene to a blob and returns the URL.",execute:async(r,{gateway:e,getAssetExporter:t})=>t().then(n=>n.export(e.root,r.type))});p("EXPORT_SCENE",Ci);const qi=h.define({description:"Set the background color of the scene.",execute:(r,{gateway:e})=>{e.applySceneSettings({backgroundColor:r.color})}});p("SET_BACKGROUND",qi);const Ti=h.define({description:"Updates scene properties.",execute:(r,{gateway:e})=>{e.applySceneSettings(r),Object.assign(r,e.readSceneSettings())}});p("UPDATE_SCENE",Ti);const Ei=h.define({description:"Retrieves complete state data.",execute:(r,{controller:e,gateway:t,registry:n})=>{const i=t.readSceneSettings();return{name:i.name,mediaItem:null,backgroundColor:i.backgroundColor,floorEnabled:i.floorEnabled,floorColor:i.floorColor,userCamera:{position:e.object.owner.position.clone(),target:e.target.clone()},spotmarks:[],lights:n.read().map(a=>a.schema).filter(a=>a.entityType==="light"),objects:n.read().map(a=>a.schema).filter(a=>a.entityType==="model"),cameras:n.read().map(a=>a.schema).filter(a=>a.entityType==="camera"),primitives:n.read().map(a=>a.schema).filter(a=>a.entityType==="primitive"),groups:n.read().map(a=>a.schema).filter(a=>a.entityType==="group")}}});p("GET_STATE",Ei);const Si=h.define({description:"Applies complete state data to current dive instance.",execute:async(r,{gateway:e,controller:t,registry:n,dispatch:i})=>{n.read().forEach(({schema:u})=>{new Jt({id:u.id,entityType:u.entityType},{gateway:e,registry:n}).execute()}),e.applySceneSettings(r),r.userCamera!==void 0&&new $t({position:r.userCamera.position,target:r.userCamera.target},{controller:t}).execute();const a=[],o=[],s=[],c=[];r.groups!==void 0&&r.groups.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"group"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.lights!==void 0&&r.lights.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"light"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.cameras!==void 0&&r.cameras.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"camera"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.primitives!==void 0&&r.primitives.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"primitive"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.objects!==void 0&&r.objects.forEach(u=>{const f={...u,locked:u.locked??!1,visible:u.visible??!0,entityType:"model"};c.push(new O({...f,parentId:null},{gateway:e,registry:n,dispatch:i}).execute().then(d=>{o.push(f),d!==void 0&&a.push(d)}).catch(d=>{s.push({entity:f,reason:d})}))}),r.spotmarks!==void 0&&console.warn("SET_STATE: Spotmarks are not supported yet and will be ignored."),await Promise.all(c);for(const u of o)if(u.parentId)try{await new X({object:{id:u.id},parent:{id:u.parentId}},{gateway:e,registry:n}).execute()}catch(f){s.push({entity:u,reason:f})}return s.length>0&&console.warn(`SET_STATE: ${s.length} of ${c.length} entities could not be applied.`,s),a}});p("SET_STATE",Si);const wi=h.define({description:"Sets the gizmo's mode.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoMode(r.mode)}});p("SET_GIZMO_MODE",wi);const Oi=h.define({description:"Sets the gizmo's unified scale mode.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoScaleLinked(r)}});p("SET_GIZMO_SCALE_LINKED",Oi);const ji=h.define({description:"Sets the gizmo's visibility.",execute:async(r,{getToolbox:e})=>{(await e()).getTool("transform").setGizmoVisible(r)}});p("SET_GIZMO_VISIBILITY",ji);const Ri=h.define({description:"Activates a specific tool from the toolbox.",execute:async(r,{getToolbox:e})=>{(await e()).enableTool(r.tool)}});p("USE_TOOL",Ri);const I=class I{constructor(e,t){_(this,"engine");_(this,"controller");_(this,"gateway");_(this,"_mediaCreator");_(this,"_arSystem");_(this,"_assetExplorer");_(this,"_animationSystem");_(this,"_toolbox");_(this,"registry",new Ya);_(this,"listeners",new Map);this.engine=e,this.controller=t,this.gateway=new si(e),I.__instances.push(this)}getMediaCreator(){return this._mediaCreator??(this._mediaCreator=Promise.resolve().then(()=>require("../mediacreator/index.cjs")).then(e=>new e.MediaCreator(this.engine.mainView.renderer,this.engine.scene,this.controller))),this._mediaCreator}getARSystem(){return this._arSystem??(this._arSystem=Promise.resolve().then(()=>require("../ar/index.cjs")).then(e=>new e.ARSystem)),this._arSystem}getAssetExporter(){return this._assetExplorer??(this._assetExplorer=Promise.resolve().then(()=>require("../assetexporter/index.cjs")).then(e=>new e.AssetExporter)),this._assetExplorer}getAnimationSystem(){return this._animationSystem??(this._animationSystem=Promise.resolve().then(()=>require("../animation/index.cjs")).then(e=>new e.AnimationSystem)),this._animationSystem}getToolbox(){return this._toolbox??(this._toolbox=Promise.resolve().then(()=>require("../toolbox/index.cjs")).then(e=>new e.Toolbox(this.engine.scene,this.controller))),this._toolbox}destroyInstance(){var t,n;const e=I.__instances.indexOf(this);return e===-1?!1:(I.__instances.splice(e,1),this.registry.clear(),this.listeners.clear(),(t=this._toolbox)==null||t.then(i=>i.dispose()),(n=this._animationSystem)==null||n.then(i=>i.dispose()),this.gateway.dispose(),!0)}performAction(e,...t){const n=Un(e);if(!n)throw new Error(`Action ${e} is not defined.`);const i=this.getDependencies(),a=t[0],o=new n(a,i);try{const s=o.execute();return s&&typeof s=="object"&&"then"in s?s.then(c=>(this.dispatch(e,a),c)).catch(c=>{throw new Error(`Failed to execute ${e}`,{cause:c})}):(this.dispatch(e,a),s)}catch(s){throw new Error(`Failed to execute ${e}`,{cause:s})}}subscribe(e,t){return this.listeners.get(e)||this.listeners.set(e,[]),this.listeners.get(e).push(t),()=>{const n=this.listeners.get(e);if(!n)return;const i=n.findIndex(a=>a===t);i!==-1&&n.splice(i,1)}}dispatch(e,t){const n=this.listeners.get(e);n&&n.forEach(i=>i(t))}getDependencies(){return{registry:this.registry,dispatch:(e,t)=>this.dispatch(e,t),gateway:this.gateway,controller:this.controller,getARSystem:()=>this.getARSystem(),getAssetExporter:()=>this.getAssetExporter(),getAnimationSystem:()=>this.getAnimationSystem(),getMediaCreator:()=>this.getMediaCreator(),getToolbox:()=>this.getToolbox()}}};_(I,"__instances",[]);let Ut=I;exports.AddObjectAction=O;exports.ComputeEncompassingViewAction=ui;exports.DeleteObjectAction=Jt;exports.DeselectObjectAction=vi;exports.DropItAction=_i;exports.EngineGateway=si;exports.ExportSceneAction=Ci;exports.GenerateMediaAction=pi;exports.GetAllObjectsAction=gi;exports.GetCameraTransformAction=fi;exports.GetObjectsAction=bi;exports.GetStateAction=Ei;exports.LaunchARAction=ci;exports.ModelLoadedAction=yi;exports.MoveCameraAction=di;exports.SelectObjectAction=mi;exports.SetBackgroundAction=qi;exports.SetCameraLayerAction=li;exports.SetCameraTransformAction=$t;exports.SetGizmoModeAction=wi;exports.SetGizmoScaleLinkedAction=Oi;exports.SetGizmoVisibleAction=ji;exports.SetParentAction=X;exports.SetStateAction=Si;exports.StartRenderAction=Ai;exports.State=Ut;exports.UpdateObjectAction=V;exports.UpdateSceneAction=Ti;exports.UseToolAction=Ri;exports.ZoomCameraAction=hi;exports.getActionClass=Un;exports.isCameraSchema=Z;exports.isGroupSchema=ii;exports.isLightSchema=ai;exports.isModelSchema=Kt;exports.isPrimitiveSchema=oi;exports.registerAction=p;
|